Adam Ierymenko
|
95e5345cc3
Cluster build fix.
|
8 years ago |
Adam Ierymenko
|
2487a8bede
Fix for 100% cpu issue.
|
8 years ago |
Adam Ierymenko
|
f1c0563c40
Fix for cluster handoff.
|
8 years ago |
Adam Ierymenko
|
139c4b5633
Significant simplification to path logic.
|
8 years ago |
Adam Ierymenko
|
91c9f4cb20
Fix TRACE and CLUSTER builds.
|
8 years ago |
Adam Ierymenko
|
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
|
8 years ago |
Adam Ierymenko
|
a577b8d381
Update how controller handles circuit tests -- save results to filesystem.
|
8 years ago |
Adam Ierymenko
|
1d39be61b2
ZeroTier now has link quality measurement. We are not using this yet but decided to put it in to prep for future QoS support and SD-WAN stuff.
|
8 years ago |
Adam Ierymenko
|
2bf9145ae6
Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix.
|
8 years ago |
Adam Ierymenko
|
afba19e01c
When deciding whether to send PUSH_DIRECT_PATHS we should check global trust flag, not the one passed into receive().
|
8 years ago |
Adam Ierymenko
|
e4b6611201
Only accept world updates from upstreams.
|
8 years ago |
Adam Ierymenko
|
43182f8f57
Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution.
|
8 years ago |
Adam Ierymenko
|
3587aa1ea7
Add and send certificates of representation to tell people what our valid upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup.
|
8 years ago |
Adam Ierymenko
|
dcb1233b0d
Slight refactor to RENEDEZVOUS sending code for federation.
|
8 years ago |
Adam Ierymenko
|
9f7919f71f
Add comments to join ("orbit") moons.
|
8 years ago |
Adam Ierymenko
|
f102fd7f92
Extend in-band world updates to handle moons too.
|
8 years ago |
Adam Ierymenko
|
64774d0d4f
Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots.
|
8 years ago |
Adam Ierymenko
|
84732fcb12
Wire through external path lookup. Static paths should now work.
|
8 years ago |
Adam Ierymenko
|
42ba70e79e
Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles.
|
8 years ago |
Adam Ierymenko
|
c61ca1dea2
Keep connections up for netconf stuff as well as frames.
|
8 years ago |
Adam Ierymenko
|
9f550292fe
Simply network auth logic and always sent error on auth failure even for unknown networks to prevent forensics.
|
9 years ago |
Adam Ierymenko
|
d3524f3609
Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later.
|
9 years ago |
Adam Ierymenko
|
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
|
9 years ago |
Adam Ierymenko
|
cba37c6107
Add a few more rate limit gates for anti-DOS hardening.
|
9 years ago |
Adam Ierymenko
|
ea1da3321a
Rate gate requests for COM.
|
9 years ago |
Adam Ierymenko
|
ab9afbc749
(1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
|
9 years ago |
Adam Ierymenko
|
0d4109a9f1
More refactoring to clean up code, and add a gate function to make sure we do not handle OK packets we did not expect. This hardens up a few potential edge cases around security, since such messages might be used to e.g. pollute a cache and DOS under certain conditions.
|
9 years ago |
Adam Ierymenko
|
c7a4da3dd3
Turns out we do not need to pass network to receive().
|
9 years ago |
Adam Ierymenko
|
1908aa55f5
Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code.
|
9 years ago |
Adam Ierymenko
|
a7d988745b
Use ECHO instead of HELLO where possible.
|
9 years ago |