Adam Ierymenko
6eb9289367
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
11 years ago
Adam Ierymenko
1f28ce3980
Tons more refactoring: simplify Network, move explicit management of Tap out, redo COM serialization, etc.
11 years ago
Adam Ierymenko
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
11 years ago
Adam Ierymenko
89f0c948f8
Physical address change message verb.
11 years ago
Adam Ierymenko
64ba596e0b
C++ network config master ready to test.
11 years ago
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
11 years ago
Adam Ierymenko
96e9a90e8e
docs
11 years ago
Adam Ierymenko
87c599df5c
Back out service message type -- YAGNI violation.
11 years ago
Adam Ierymenko
56cfe1d603
Strip out old Service code, add new service message type.
11 years ago
Adam Ierymenko
5484cf4309
More cleanup, and fix a bug in Multicaster::gather()
12 years ago
Adam Ierymenko
5bb854e504
Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast.
12 years ago
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
12 years ago
Adam Ierymenko
d5e0f7e3e4
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
12 years ago
Adam Ierymenko
87f1b1b1e3
Bug fix in new multicast frame handler, handling of old "P5" multicast frames in new way.
12 years ago
Adam Ierymenko
1109046782
Last steps before test: parse OK(MULTICAST_GATHER) and OK(MULTICAST_FRAME)
12 years ago
Adam Ierymenko
dee86e2448
But since we are now using middle 3 bits we can assign sane values for the cipher suite enum.
12 years ago
Adam Ierymenko
17da733f97
Gotta support old encrypted flag, move cipher spec to middle 3 bits... due to some shortsighted design early-on. In the future this can die once there are no old peers.
12 years ago
Adam Ierymenko
23836d4c11
Change "encrypted" flag to full cipher suite selector. Go ahead and reserve AES256-GCM which might be added in the future.
12 years ago
Adam Ierymenko
e53d208ea4
Improve security posture by eliminating non-const data() accessor from Buffer.
12 years ago
Adam Ierymenko
b41437780b
Add origin to new MULTICAST_FRAME, move security check for certs into Network to remove redundant code and bug-proneness, more work on IncomingPacket...
12 years ago
Adam Ierymenko
2659427864
Multicaster needs to be global, not per-network, and a bunch of other stuff.
12 years ago
Adam Ierymenko
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
12 years ago
Adam Ierymenko
ed0ba49502
A few more revisions to new multicast verbs.
12 years ago
Adam Ierymenko
9e186bbd89
.
12 years ago
Adam Ierymenko
431476e2e4
Some more multicast algo work...
12 years ago
Adam Ierymenko
954f9cbc13
Yet more WIP on mulitcast algo...
12 years ago
Adam Ierymenko
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
12 years ago
Adam Ierymenko
9b93141dd0
Upgrade LZ4 to latest version.
12 years ago
Adam Ierymenko
aead1050fb
Bridging (GitHub issue #68 ) does indeed work! Just needed to fix a packet size thinko.
12 years ago
Adam Ierymenko
6e485833ef
.
12 years ago
Adam Ierymenko
d6a4f8d77b
Add flags to EXT_FRAME for better future proofness.
12 years ago
Adam Ierymenko
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
12 years ago
Adam Ierymenko
fb31f93c52
Protocol messages for bridging. GitHub issue #68
12 years ago
Adam Ierymenko
aee742e767
More toward GitHub issue #56
12 years ago
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
12 years ago
Adam Ierymenko
8b65b3e6d7
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
12 years ago
Adam Ierymenko
07f505971c
Windows build fixes.
12 years ago
Adam Ierymenko
10df5dcf70
Fix several things:
...
(1) The changes to path learning in the two previous releases were poorly thought out,
and this version should remedy that by introducing PROBE. This is basically a kind of
ECHO request and is used to authenticate endpoints that are not learned via a valid
request/response pair. Thus we will still passively learn endpoints, but securely.
(2) Turns out there was a security oversight in _doHELLO() that could have permitted...
well... I'm not sure it was exploitable to do anything particularly interesting since
a bad identity would be discarded anyway, but fix it just the same.
12 years ago
Adam Ierymenko
612c17240a
Dead code removal, fix for cleanup GitHub issue #28
12 years ago
Adam Ierymenko
f5d397e8c8
Pull in-band file transfer stuff. Toyed around with that idea, but it seems that updates for some platforms are big enough and there are enough reliability concerns that just using TCP/HTTP is safer and easier.
12 years ago
Adam Ierymenko
9fdec3acfc
More updater work... coming along.
13 years ago
Adam Ierymenko
6c63bfce69
File transfer work, add identities for validation of updates.
13 years ago
Adam Ierymenko
ae138566a9
Updater code, work in progress...
13 years ago
Adam Ierymenko
17778a36ba
Clean up secure random, add packet definitions for update distribution facility.
13 years ago
Adam Ierymenko
942cc0ca21
Certificate of membership works now... had to fix multicast propagation so COM is pushed with multicast, which makes tremendous sense in retrospect.
13 years ago
Adam Ierymenko
8c9b73f67b
Make Salsa20 variable-round, allowing for Salsa20/12 to be used for Packet encrypt and decrypt. Profiling analysis found that Salsa20 encrypt was accounting for a nontrivial percentage of CPU time, so it makes sense to cut this load fundamentally. There are no published attacks against Salsa20/12, and DJB believes 20 rounds to be overkill. This should be more than enough for our needs. Obviously incorporating ASM Salsa20 is among the next steps for performance.
13 years ago
Adam Ierymenko
ce14ba9004
Take the 0.6.0 opportunity to add flags to a few protocol verbs and do a bit more cleanup. Also fix it so certificates wont be accepted unless they are newer than existing ones.
13 years ago
Adam Ierymenko
7e7e28f5f7
Add support for pushing network config refresh hints from a MEMORY queue table. That ways it will be possible for network changes to take effect almost immediately across all active peers.
13 years ago
Adam Ierymenko
46f868bd4f
Lots of cleanup, more work on certificates, some security fixes.
13 years ago
Adam Ierymenko
4d594b24bc
Automagically push netconf certs -- Network support.
13 years ago