Adam Ierymenko
4da8036222
More refactor
2019-08-14 15:00:18 -07:00
Adam Ierymenko
e6b4006c70
Refactoring to eliminate duplicated code
2019-08-14 14:55:37 -07:00
Adam Ierymenko
8f5f7f1baa
More work in progress
2019-08-14 12:48:45 -07:00
Adam Ierymenko
573d3eea87
Merge branch 'dev' into edge
2019-08-14 10:53:03 -07:00
Adam Ierymenko
2ec53df7ab
Put a limit on the multicast TX queue to prevent memory use ridiculousness.
2019-08-14 10:52:21 -07:00
Adam Ierymenko
d7a31088ba
Cleanup, warning removal, cppcheck informed cleanup.
2019-08-14 10:35:57 -07:00
Adam Ierymenko
a0520536df
.
2019-08-13 08:49:25 -07:00
Adam Ierymenko
af137fd5d3
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 15:37:55 -07:00
Adam Ierymenko
f7bc9f01c9
More AES stuff
2019-08-12 15:37:50 -07:00
Grant Limberg
e4ce1ffd85
Windows detection of AES-NI
2019-08-12 15:28:42 -07:00
Grant Limberg
7d41d267a3
silencing warnings for code paths that will never be hit
2019-08-12 13:18:21 -07:00
Adam Ierymenko
0f4fc8635b
Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge
2019-08-12 12:51:38 -07:00
Adam Ierymenko
d02d3f72fe
AES-GCM code
2019-08-12 12:51:32 -07:00
Grant Limberg
68b94a3188
CMake for edge branch
2019-08-12 12:35:07 -07:00
Grant Limberg
8e04f83232
Merge branch 'edge' into cmake
2019-08-12 12:24:25 -07:00
Grant Limberg
cc9fd9f8ce
Merge branch 'dev' into cmake
2019-08-12 12:23:36 -07:00
Adam Ierymenko
809c8305b1
AES code
2019-08-09 10:54:08 -05:00
Adam Ierymenko
652c7e8f37
Locator work
2019-08-08 23:23:16 -05:00
Adam Ierymenko
5eacad444d
workinprogress
2019-08-08 15:03:52 -05:00
Adam Ierymenko
e8155cbbeb
Merge dev
2019-08-08 13:05:28 -05:00
Adam Ierymenko
6c44fcc290
more warning cleanup
2019-08-08 10:28:57 -05:00
Adam Ierymenko
c8e7031198
warning cleanup
2019-08-08 10:01:57 -05:00
Adam Ierymenko
663376e385
cleanup
2019-08-08 08:42:27 -05:00
Adam Ierymenko
3c590994db
Finish up ECC384 identity generation.
2019-08-07 23:50:47 -05:00
Adam Ierymenko
91a37f8868
Add base64 code (unpadded standard alphabet)
2019-08-07 22:35:17 -05:00
Adam Ierymenko
0298719be0
Use SHA384 with ECC384 to match FIPS / Suite B recommendation.
2019-08-07 17:06:03 -05:00
Adam Ierymenko
d0746da5e2
Add SHA384 support, more cleanup
2019-08-07 16:41:58 -05:00
Adam Ierymenko
54a1bbd016
.
2019-08-07 11:20:12 -05:00
Adam Ierymenko
b3e1783658
.
2019-08-06 16:46:13 -05:00
Adam Ierymenko
906c83af83
Merge branch 'dev' into edge
2019-08-06 15:47:54 -05:00
Adam Ierymenko
3db0197865
Add try/catch in LFDB and add introspection into multicast subscriptions in client network status API
2019-08-06 15:22:57 -05:00
Adam Ierymenko
f9900cc6fb
Merge dev to edge
2019-08-06 14:13:07 -05:00
Adam Ierymenko
818b7e4a2e
GitHub issue #993 (???)
2019-08-04 15:35:43 -07:00
Adam Ierymenko
00d63f6046
GitHub issue #993 (???)
2019-08-04 15:15:02 -07:00
Adam Ierymenko
639fc60257
GitHub issue #990
2019-08-04 15:08:33 -07:00
Adam Ierymenko
75ebe5172f
Fix for sharing of capabilities in 1.4 (problem introduced when push frequency was reduced)
2019-08-02 20:43:02 -07:00
Grant Limberg
39ad7bc741
update cmake to add LFDB and force C++11
2019-08-01 14:36:35 -07:00
Grant Limberg
c2f9aab068
Merge branch 'master' into cmake
2019-08-01 13:49:30 -07:00
Adam Ierymenko
d9432f2f1e
cleanup
2019-07-29 10:19:20 -07:00
Joseph Henry
6958ba9557
Added ZT_DISABLE_COMPRESSION build flag for SDK and low-end NAS builds
2019-07-23 12:39:07 -07:00
Adam Ierymenko
1b2d9e202e
Remove 44/8 as pseudoprivate since it is now partly global.
2019-07-19 13:33:14 -07:00
Adam Ierymenko
7e105343e2
WIP
2019-07-17 16:53:33 -05:00
Adam Ierymenko
fe2215df00
TON of refactoring, moon/planet is DEAD, ECC P-384 is integrated (but not enabled), and multicast work and cleanup. Whew.
2019-07-17 10:52:08 -05:00
Adam Ierymenko
640bbaabbf
Safer value
2019-07-16 17:28:42 -05:00
Adam Ierymenko
94ba242c33
Nist P-384 guts and glory
2019-07-16 16:09:14 -05:00
Adam Ierymenko
debd5a5c5e
Add capability for P2P multicast propagation, and some cleanup.
2019-07-16 13:33:11 -05:00
Adam Ierymenko
90872c906f
Fix FileDB stuff and latency measurement.
2019-07-15 16:30:34 -05:00
Adam Ierymenko
fee6aae442
Drop in faster C25519 agreement code.
2019-07-09 10:31:08 -04:00
Adam Ierymenko
a019c3dd5d
Tighten up credential push just a bit for faster up-time with older nodes, should not have significant impact on bandwidth. Also some cleanup and push direct path timing fixes.
2019-06-25 13:42:20 -07:00
Adam Ierymenko
a3ef9b8a15
Cleanup
2019-06-25 10:06:50 -07:00
Grant Limberg
4d599e2f9f
Linux build with CMake
2019-06-21 15:16:20 -07:00
Grant Limberg
0b3b5f6174
Beginning CMake configuration for ZT
...
Only tested on Windows so far
2019-06-20 16:13:52 -07:00
Adam Ierymenko
f0295b154b
Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into dev
2019-06-17 15:50:11 -07:00
Adam Ierymenko
b041de831a
More stack->heap
2019-06-17 15:50:05 -07:00
Grant Limberg
21e844cd82
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-17 15:32:27 -07:00
Grant Limberg
4e2439bd12
Don't call _phy->getIfName if localSocket is -1
2019-06-17 15:32:21 -07:00
Adam Ierymenko
e2900f4f3c
Fix valgrind warning... not sure if it is an actual issue.
2019-06-17 15:23:52 -07:00
Adam Ierymenko
aa831dd843
More stack->heap...
2019-06-17 14:55:33 -07:00
Adam Ierymenko
2dc783214c
Allocate outp on heap in Peer.
2019-06-17 14:38:27 -07:00
Adam Ierymenko
9c51ce9c40
Windows build fixes, fix double/float types to get rid of warnings.
2019-06-17 13:32:41 -07:00
Grant Limberg
47d29ddcaf
Compiler warning cleanup
2019-06-13 10:28:09 -07:00
Joseph Henry
94bd2918fa
Merge branch 'dev' of http://git.int.zerotier.com/ZeroTier/ZeroTierOne into dev
2019-06-12 13:14:23 -07:00
Joseph Henry
c3bfcf560b
Removed check for port number in multipath path replacement logic
2019-06-12 13:14:14 -07:00
Adam Ierymenko
5b2b088714
Cleanup, version bump.
2019-06-11 14:58:23 -07:00
Adam Ierymenko
848f822171
.
2019-06-06 10:04:11 -07:00
Joseph Henry
d4199ddb3e
Commented out RingBuffer::dump() as an alternative solution to PR #952
2019-06-03 11:00:04 -07:00
Joseph Henry
90d324ae96
Fixed ZT_SDK build issue. Moved ZT_SDK preprocessor directives to more permanent homes
2019-05-17 10:15:40 -07:00
Adam Ierymenko
cacdb445c7
Bump protocol version to 10
2019-05-14 13:54:27 -07:00
Joseph Henry
2d5c6fa975
Disabled compression for outbound packets in SDK build
2019-05-13 12:24:22 -07:00
Joseph Henry
95ef13f7a1
Added divisor for ZT_PEER_ACTIVITY_TIMEOUT, gives quicker indication to status change in SDK
2019-05-13 12:24:01 -07:00
Adam Ierymenko
6914425b03
cleanup
2019-03-28 13:58:19 -07:00
Adam Ierymenko
89f57124b2
Never mind, only unused on some builds so leave them there.
2019-03-27 09:30:45 -07:00
Adam Ierymenko
65823332d4
Comment out some unused functions.
2019-03-27 09:29:34 -07:00
Adam Ierymenko
ee8682ac75
Temporarily disable the symmetric NAT port prediction code since the current version adds protocol overhead and probably is not that effective.
2019-03-26 15:23:51 -07:00
Adam Ierymenko
d81549a7b1
Various other fixes including removal of more mem*() issues and netlink fixes for AARCH64.
2019-03-25 22:19:52 +00:00
Adam Ierymenko
d5ac8512e3
...
2019-03-25 12:58:43 -07:00
Adam Ierymenko
f23e354272
Nope, more...
2019-03-25 12:56:03 -07:00
Adam Ierymenko
6475e1faf6
I think this is the last one.
2019-03-25 12:53:31 -07:00
Adam Ierymenko
752fc0742e
More mem*() stuff... sigh...
2019-03-25 12:52:19 -07:00
Adam Ierymenko
e1091611da
More mem*() stuff...
2019-03-25 12:41:59 -07:00
Adam Ierymenko
678116b6d1
One more.
2019-03-25 12:36:54 -07:00
Adam Ierymenko
0a9e2227e8
... and more
2019-03-25 12:00:54 -07:00
Adam Ierymenko
2600b1f144
Removal of more mem*() calls.
2019-03-25 11:59:14 -07:00
Adam Ierymenko
b56753ea9f
Get rid of some mem* calls that are bad C++ form (but worked fine) and cause warnings.
2019-03-25 11:45:32 -07:00
Adam Ierymenko
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Adam Ierymenko
d530356055
RingBuffer<> is now templated with size, buffer is now static.
2019-03-22 14:39:52 -07:00
Adam Ierymenko
39e1021f62
Replace certificate based gating of multicast like/gather with a simpler more efficient method, fix some minor issues with request based com/cert push, and clean up some other random stuff.
2019-03-21 16:18:49 -07:00
Adam Ierymenko
63ec19674c
.
2019-03-19 16:43:43 -07:00
Adam Ierymenko
087c75d5ee
More cleanup.
2019-03-14 16:40:22 -07:00
Adam Ierymenko
e03102dbcb
Clean out some unnecessarily pedantic auth stuff in favor of a simpler way of gating multicast gathers.
2019-03-14 14:29:15 -07:00
Grant Limberg
d4c0349de9
Revert "#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10"
...
This reverts commit 270debb3fc
.
2019-03-11 09:44:40 -07:00
Joseph Henry
270debb3fc
#ifdef'd out multipath/QoS statistics buffers allocations for ZT_PROTOCOL_VERSION<10
2019-03-01 13:28:00 -08:00
Joseph Henry
23996c7e6b
Fixed potential memory leak in RingBuffer
2019-01-27 14:43:29 -08:00
Joseph Henry
d7091a0bac
Fixed sign-comparison compile warnings in QoS code
2019-01-25 13:24:31 -08:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Adam Ierymenko
e6f9ab929d
More speed stuff.
2018-12-06 12:47:58 -08:00
Adam Ierymenko
18d1772bb4
stuff for speed and stuff (testing)
2018-12-06 12:00:49 -08:00
Adam Ierymenko
5535cad773
Revert mutex change.
2018-12-04 16:15:46 -08:00
Adam Ierymenko
ec84934d48
Disable spinlock to check CPU usage implications on multithreaded controllers.
2018-12-04 15:59:39 -08:00
Adam Ierymenko
b3c2c0866f
Times should be int64_t, not uint64_t
2018-11-11 17:38:17 -08:00
Grant Limberg
7c72653385
because Windows....
2018-10-23 13:21:25 -07:00
Adam Ierymenko
60d5a3c631
Merge pull request #853 from darkain/dev
...
Fix IPv6 address string representation
2018-09-25 15:32:39 -07:00
Vincent Milum Jr
79b47b055a
Only null terminate the first character
2018-09-15 12:13:06 -07:00
Vincent Milum Jr
8e260bae11
Correcting conversion to/from IP address / string
...
1) Use existing standard libraries to convert to/from IPv4/IPv6 strings and binary representation.
2) Move null terminator assignment InetAddress::toIpString to top of function, this way if ANY errors occurs that don't write content to the buffer, we're not passing a potentially dangerous buffer around.
2018-09-14 22:42:58 -07:00
Adam Ierymenko
af61ee6f3a
Merge pull request #836 from skunkwerks/feature/add-freebsd-debugs
...
add support for debug flags in FreeBSD
2018-09-14 08:08:59 -07:00
Joseph Henry
7b87e9c0cb
Added ability for OneService to monitor local.conf for changes and automatically reload
2018-09-11 16:55:46 -07:00
Dave Cottlehuber
88abd6ffc6
add support for debug flags in FreeBSD
2018-08-24 08:18:25 +00:00
Adam Ierymenko
553101e8b5
merge dev
2018-08-09 11:31:37 -07:00
Adam Ierymenko
d724af6a99
Replace Sao Paolo root with Buenos Aires in default planet def (will push to network too)
2018-07-25 15:03:01 -07:00
Adam Ierymenko
5b114791e5
Fix a bug that caused a crash on empty HTTP requests (localhost only) and add a lightweight lock to the RX queue to prevent possible threads stepping on each other in parallel receive paths.
2018-07-20 14:01:58 -07:00
Adam Ierymenko
ac40f2191c
.
2018-07-20 07:41:47 -07:00
Joseph Henry
65b0030342
Added basic QoS rule handling
2018-07-11 16:55:13 -07:00
Joseph Henry
28cb40529d
Rough draft of fq-codel implementation
2018-07-10 16:50:12 -07:00
Joseph Henry
bdcdccfcc3
Improved path selection, more efficient traffic allocation, lower QoS/ACK overhead
2018-06-22 16:30:20 -07:00
Joseph Henry
52264d5e28
Fixed aggregateLinkLatency(). Also changed unit for throughput from byte to bit
2018-06-14 16:48:35 -07:00
Joseph Henry
17fbb020e7
Added multipath field to zerotier-cli status output. Adjusted how path estimates are computed and cached
2018-06-14 16:34:45 -07:00
Joseph Henry
f8005b88ad
Minor cleanup. More efficient push() operation for RingBuffer
2018-06-13 14:50:37 -07:00
Joseph Henry
0faa655b83
Reduced how often relative path qualities and aggregate link allocations are computed
2018-06-12 16:30:46 -07:00
Joseph Henry
6fddf31db3
Improved rate limit logic for QoS/ACK packets. Also reduced how often processBackgroundPathMeasurements() is called
2018-06-12 15:24:12 -07:00
Adam Ierymenko
04b3525e0f
Merge pull request #755 from skunkwerks/fix/c++-17-deprecation
...
fix clang C++17 deprecation when building with ZT_DEBUG=1
2018-06-12 09:38:26 -07:00
Joseph Henry
9681fedbb4
Spellcheck sweep across codebase
2018-06-07 17:25:27 -07:00
Joseph Henry
b6d97af451
Added rate gates for QOS and ACK packets
2018-06-07 15:26:18 -07:00
Joseph Henry
a9ca26c698
Added TX queue cap for issue #769
2018-06-07 12:58:07 -07:00
Grant Limberg
b9975845ff
Merge branch 'rtnetlink' into edge
2018-06-04 12:24:58 -07:00
Joseph Henry
91a22a686a
Added auto-escalation to multipath if both peers support it. Improved QoS/ACK tracking. Related bug fixes
2018-06-01 18:03:59 -07:00
Joseph Henry
46a7a2be2e
Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality
2018-05-30 17:45:29 -07:00
Grant Limberg
be469f4dd0
add/remove routes via rtnetlink
2018-05-25 14:18:06 -07:00
Dave Cottlehuber
c36c92e077
node: remove deprecated register hint for C++17 compatibility
...
when building with `ZT_DEBUG=1` this hint produces a warning:
> node/Packet.cpp:335:43: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-Wdeprecated-register]
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340
2018-05-18 09:09:27 +00:00
Joseph Henry
91c8e82c42
Adjusted locking order of _paths_m for path pruning. Other minor multipath changes
2018-05-02 15:24:14 -07:00
Joseph Henry
1debe2292d
Cleanup. Misc type conversion and signedness fixes
2018-05-02 11:22:07 -07:00
Joseph Henry
6a2ba4baca
Introduced basic multipath support
2018-05-01 16:32:15 -07:00
Adam Ierymenko
42ec780a6f
Merge branch 'dev' into netbsd-support
2018-04-25 06:39:02 -07:00
Adam Ierymenko
74f2b78c04
Refactor some potentially unsafe SharedPtr<> code.
2018-04-06 08:10:34 -07:00
Adam Ierymenko
40a9ebd078
GitHub issue #675
2018-03-29 10:44:57 -07:00
Adam Ierymenko
494cf4049e
Add specification of anchor and multicast hub address (optional) to new multicast and IPv4 enabled ad-hoc network ID format.
2018-03-21 15:31:48 -07:00
Adam Ierymenko
beb170e4fb
Use X64 ASM ed25519 signatures on Linux/x64, which are about 10X faster. Will matter a lot for network controllers, not so much for other things.
2018-03-13 06:51:17 -07:00
Adam Ierymenko
a59912f3af
SHA512 using libcrypto (not enabled by default)
2018-03-12 16:56:47 -07:00
Adam Ierymenko
610e594a50
Speed tweaks for signatures, etc.
2018-03-12 16:16:20 -07:00
Adam Ierymenko
78d9cee416
Other fixes to IPv4 ad-hoc networks.
2018-03-09 00:10:01 -08:00
Adam Ierymenko
bbdb2aa672
Some work on IPv4 enabled ad-hoc networks.
2018-03-08 23:53:57 -08:00
Adam Ierymenko
51aadcf901
A few fixes dicatated by valgrind.
2018-02-09 06:35:01 +00:00
Adam Ierymenko
c6949aad2d
Linux build fix on some versions.
2018-02-02 17:11:23 -08:00
Adam Ierymenko
fe1fa20c6c
Fix build on Intel C/C++ Compiler for Linux.
2018-02-01 12:46:35 -08:00
Adam Ierymenko
f7019d9e80
Tie up the rest of hub and spoke designated replicator multicast mode.
2018-01-26 22:14:10 -05:00
Adam Ierymenko
6d8e1e8783
More cleanup of old stuff.
2018-01-26 21:34:56 -05:00
Adam Ierymenko
939ab43ceb
Do not send to origin in second buffered multicast path.
2018-01-26 21:22:51 -05:00
Adam Ierymenko
d3d58ba8a7
Add support for designated multicast replicators to Multicaster::send().
2018-01-26 21:19:51 -05:00
Adam Ierymenko
f03fd57997
Clean up some multicast code.
2018-01-26 20:38:44 -05:00
Adam Ierymenko
e74cd4b4ef
A little more cleanup.
2018-01-26 20:06:11 -05:00
Adam Ierymenko
f3dfd63634
Clean up some old stuff.
2018-01-26 20:00:37 -05:00