79 Commits (4838cbc350a7608ebe345a821ef32bb01a8aeca7)

Author SHA1 Message Date
Adam Ierymenko b31071463c Try another NAT traversal improvement. 11 years ago
Adam Ierymenko b3516c599b Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions. 11 years ago
Adam Ierymenko 3ba54c7e35 Eliminate some poorly thought out optimizations from the netconf/controller interaction, 11 years ago
Adam Ierymenko 0b354803f3 Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank. 11 years ago
Adam Ierymenko 4bf3bcbd55 Fixes to PUSH_DIRECT_PATHS. 11 years ago
Adam Ierymenko 3f0eca72f7 ZT_TRACE build fix. 11 years ago
Adam Ierymenko 412389ec75 Implement ERROR_UNWATNED_MULTICAST 11 years ago
Adam Ierymenko 778c7e6e70 More cleanup to direct path push, comment fixes, etc. 11 years ago
Adam Ierymenko c863ff3f02 A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable. 11 years ago
Adam Ierymenko f398952a6c Revert some bad docs in Packet -- I think we will still use that. Also rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter. 11 years ago
Adam Ierymenko 6da9d2d36f Remove debug printf(). 11 years ago
Adam Ierymenko f881cdd767 Add new .h file to VS build, and Windows side of local interface address enumeration. 11 years ago
Adam Ierymenko 79e9a8bcc2 Almost everything for GitHub issue #180 except direct path map setup. 11 years ago
Adam Ierymenko fad9dff2db Almost all of GitHub issue #180 11 years ago
Adam Ierymenko e5f7c55c54 Documentation in Packet, more work on path push, and clean up ancient legacy support code in Switch. 11 years ago
Adam Ierymenko 7bae95836c Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address. 11 years ago
Adam Ierymenko 87bb0086de Almost certain fix for GitHub issue #184 on -dev 11 years ago
Adam Ierymenko 5341e32729 Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers. 11 years ago
Adam Ierymenko d9006712f6 Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world. 11 years ago
Kees Bos a425bbc673 Renamed supernode to rootserver 11 years ago
Adam Ierymenko b4b067bf12 So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition. 11 years ago
Adam Ierymenko d3820049b8 Add reported external address to OK(HELLO) TRACE to verify SN behavior. 11 years ago
Adam Ierymenko 9eb7698f0e Learn external IP addresses on OK(HELLO) too. 11 years ago
Adam Ierymenko f5848972f9 Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>. 11 years ago
Adam Ierymenko 417f56de2f Add some TRACE instrumentation to external surface address awareness. 11 years ago
Adam Ierymenko ea1859541c More cleanup, and fix for the extremely unlikely case of identity collision. 11 years ago
Adam Ierymenko 6369c264e2 Rename netconf to controller and NetworkConfigMaster to NetworkController for consistency. 11 years ago
Adam Ierymenko 98bcc3d4b5 Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding. 11 years ago
Adam Ierymenko 068d311ecc TRACE compile fixes, other fixes, and it basically works! It says HELLO. 11 years ago
Adam Ierymenko 4d5a6a25d3 Add events for packet decode errors, etc., and re-implement TRACE as an event. 11 years ago
Adam Ierymenko 52c3b7c34e Implemented empirical determination of external addressing, paritioned per scope. 11 years ago
Adam Ierymenko 817824b88b Some external surface awareness work, and IP scope classification. 11 years ago
Adam Ierymenko a2821e9000 Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz. 11 years ago
Adam Ierymenko f4fd2d4971 Bring IncomingPacket into line with new changes. 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 b6fba5934a RedisNetworkConfigMaster in its own folder. Also fix some hex/decimal Redis database confusion. 11 years ago
Adam Ierymenko ff255a34de Make NetworkConfigMaster a plugin to get Redis and other non-endpoint code out of node/ 11 years ago
Adam Ierymenko 93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 11 years ago
Adam Ierymenko b1bf3f68c3 Drop support for legacy P5 multicast, as there are fewer than 1% of these remaining on the network. 11 years ago
Adam Ierymenko 0b84c10ccc Add confirmation step to new netconf, with the caveat that it will be disabled for older netconf servers to avoid race. Also add some comments. 11 years ago
Adam Ierymenko afea153a0b Build fixes. 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 56cfe1d603 Strip out old Service code, add new service message type. 11 years ago
Adam Ierymenko ff539c22f9 locallyValidate() is expensive -- stop doing it on every HELLO since in most cases we already know the identity and know it is valid 11 years ago
Adam Ierymenko 8c64046a53 docs 11 years ago
Adam Ierymenko 15d3e383e6 Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled. 11 years ago
Adam Ierymenko 7619b0ecbd Send multicasts in random order. 11 years ago
Adam Ierymenko c61e9c0ef9 Prevent "software laser" in legacy multicast support. Already hotpatched in supernodes. 12 years ago
Adam Ierymenko 5484cf4309 More cleanup, and fix a bug in Multicaster::gather() 12 years ago