211 Commits (d9552fb1203cd3abd9d15d9565f6d42e56058d30)

Author SHA1 Message Date
Adam Ierymenko 495c5ce81d Bunch of remote tracing work. 9 years ago
Adam Ierymenko dab0fb9e05 Remote trace: plumbing, replace old TRACE with calls to Trace object. 9 years ago
Adam Ierymenko dff8c02cfe Pull out and deprecate old cluster code. New cluster code will not be merged yet. 9 years ago
Adam Ierymenko 640ad577d1 . 9 years ago
Adam Ierymenko f18158a52d . 9 years ago
Adam Ierymenko 2f20258807 . 9 years ago
Adam Ierymenko baa10c2995 . 9 years ago
Adam Ierymenko 02d18af57d Remove Cluster.hpp 9 years ago
Adam Ierymenko 1b68d6dbdc License header update. 9 years ago
Adam Ierymenko 95e5345cc3 Cluster build fix. 9 years ago
Adam Ierymenko 2487a8bede Fix for 100% cpu issue. 9 years ago
Adam Ierymenko f1c0563c40 Fix for cluster handoff. 9 years ago
Adam Ierymenko 139c4b5633 Significant simplification to path logic. 9 years ago
Adam Ierymenko 91c9f4cb20 Fix TRACE and CLUSTER builds. 9 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. 9 years ago
Adam Ierymenko a577b8d381 Update how controller handles circuit tests -- save results to filesystem. 9 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. 9 years ago
Adam Ierymenko 2bf9145ae6 Outgoing side of packet counter for link quality reporting. Also some cleanup and a cluster mode build fix. 9 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(). 9 years ago
Adam Ierymenko e4b6611201 Only accept world updates from upstreams. 9 years ago
Adam Ierymenko 43182f8f57 Docs, code cleanup, and protect the extra new fields of HELLO with encryption as a precaution. 9 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. 9 years ago
Adam Ierymenko dcb1233b0d Slight refactor to RENEDEZVOUS sending code for federation. 9 years ago
Adam Ierymenko 9f7919f71f Add comments to join ("orbit") moons. 9 years ago
Adam Ierymenko f102fd7f92 Extend in-band world updates to handle moons too. 9 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. 9 years ago
Adam Ierymenko 84732fcb12 Wire through external path lookup. Static paths should now work. 9 years ago
Adam Ierymenko 42ba70e79e Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles. 9 years ago
Adam Ierymenko c61ca1dea2 Keep connections up for netconf stuff as well as frames. 9 years ago
Adam Ierymenko 9f550292fe Simply network auth logic and always sent error on auth failure even for unknown networks to prevent forensics. 10 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. 10 years ago
Adam Ierymenko 5b6d27e659 Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected. 10 years ago
Adam Ierymenko cba37c6107 Add a few more rate limit gates for anti-DOS hardening. 10 years ago
Adam Ierymenko ea1da3321a Rate gate requests for COM. 10 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. 10 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. 10 years ago
Adam Ierymenko c7a4da3dd3 Turns out we do not need to pass network to receive(). 10 years ago
Adam Ierymenko 1908aa55f5 Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code. 10 years ago
Adam Ierymenko a7d988745b Use ECHO instead of HELLO where possible. 10 years ago
Adam Ierymenko ff9f8b1c2b Typo fix. 10 years ago
Adam Ierymenko b5c86b6ba4 Bunch more path refactoring. Peers no longer forget paths, but do not normally use expired paths. Expired paths might still be tried if nothing else is reachable. 10 years ago
Adam Ierymenko f2d2df2b11 Cluster build fix. 10 years ago
Adam Ierymenko 48a374c82c (1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection. 10 years ago
Adam Ierymenko 8a2e8bd585 Rework how paths are set as remote cluster preferred. The code is now clearer and cluster preference indications are now very sticky as they should be. 10 years ago
Adam Ierymenko 43780742b0 comments, docs 10 years ago
Adam Ierymenko d7f2287ce9 More tweaks to path behavior. 10 years ago
Adam Ierymenko eebcf08084 Tweaks to new Path code for dual-stack operation, and other fixes. 10 years ago
Adam Ierymenko 4992ac2d9f Cluster sub-optimal is in fact necessary... 10 years ago
Adam Ierymenko 4f8253dcdb Tweaks to path handling... 10 years ago
Adam Ierymenko d1101441b3 Tweak some timings. 10 years ago