1044 Commits (5f39d5b7ea202ca39cef46779b5406e35e0dcb3e)

Author SHA1 Message Date
Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 11 years ago
Adam Ierymenko 9490b1f136 Try prioritizing cluster-send over direct send in cluster mode -- may improve cluster relaying reliability. 11 years ago
Adam Ierymenko 8ea5f424fd Small amount of cleanup. 11 years ago
Adam Ierymenko ba5008c370 Now make cluster announcements slightly more frequent. 11 years ago
Adam Ierymenko 3fa1b5a89d Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future. 11 years ago
Adam Ierymenko 3e22fee842 Integrate deferred background processing into main OneService implementation. 11 years ago
Adam Ierymenko 8ef4edebbf Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers. 11 years ago
Adam Ierymenko a42d714a87 . 11 years ago
Adam Ierymenko c9e6e60c09 Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability. 11 years ago
Adam Ierymenko 4e9d430476 Make root and relay selection somewhat more robust. 11 years ago
Adam Ierymenko 7fbe2f7adf Tweak some more timings for better reliability. 11 years ago
Adam Ierymenko 60ce886605 Tweak some timings for better reliability. 11 years ago
Adam Ierymenko f1b6427e63 Decided to make this 1.1.0 (semantic versioning increment is warranted), and add a legacy hack for older clients working with clusters. 11 years ago
Adam Ierymenko 1b4cc4af5c Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup. 11 years ago
Adam Ierymenko 7382c328da Null pointer bug appears fixed... testing again at large scale. 11 years ago
Adam Ierymenko 641b0dec44 . 11 years ago
Adam Ierymenko 2fbb5d0bbf . 11 years ago
Adam Ierymenko d8dbbf7484 Add some debug code in TRACE mode to catch a bug. 11 years ago
Adam Ierymenko 377ccff600 getPeer() had a small potential to be unsafe. 11 years ago
Adam Ierymenko b6725c4415 Optimize AntiRecursion. 11 years ago
Adam Ierymenko 5bfa29dded Make antirec tail len slightly shorter, better performance and still plenty long enough. 11 years ago
Adam Ierymenko d6c0d176ee Periodically re-announce peers that we have. 11 years ago
Adam Ierymenko 9f0f0197fe More dead code removal. 11 years ago
Adam Ierymenko a994573a43 Eliminate some more dead code. We may do path trust, but not like that. 11 years ago
Adam Ierymenko 883c84bdb9 Tweak some timings, and remove some dead code. 11 years ago
Adam Ierymenko 68d6d3c4ff Fix bug in peer count. 11 years ago
Adam Ierymenko 0034efafe4 On semi-undocumented test net, assign a RFC4193 IPv6 address too. Will be useful for our at-scale tests. 11 years ago
Adam Ierymenko 0fd15d9cf3 Fix inverted sense bug. 11 years ago
Adam Ierymenko 938d0a970b TRACE build fixes. 11 years ago
Adam Ierymenko fdc3e103cc Cleanup and docs. 11 years ago
Adam Ierymenko c1b0329969 Only check IP equality to detect external surface changes (should prevent some spurious resets under symmetric NATs), and simplify some logic. 11 years ago
Adam Ierymenko da93712846 Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter. 11 years ago
Adam Ierymenko cdc99bfee1 Add a circuit breaker for VERB_PUSH_DIRECT_PATHS. 11 years ago
Adam Ierymenko 88b100e5d0 More cleanup. 11 years ago
Adam Ierymenko 51fcc75354 Some cleanup, and use getPeerNoCache() exclusively in Cluster. 11 years ago
Adam Ierymenko 4221552c0b Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. 11 years ago
Adam Ierymenko cc1b275ad9 Replicate peer endpoints and forget paths if we have them -- this allows two clusters to talk to each other, whereas forgetting all paths does not. 11 years ago
Adam Ierymenko cc6080fe38 (1) No need to confirm if we are a root (small optimization), (2) Refactor peer affinity tracking. 11 years ago
Adam Ierymenko 6399f6f094 This no longer has to be quite so fast. 11 years ago
Adam Ierymenko 218ef07d8e Build fix in TRACE mode. 11 years ago
Adam Ierymenko 16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 11 years ago
Adam Ierymenko 40976c02a4 Forget paths to peers if we are handing them off. 11 years ago
Adam Ierymenko f692cec763 Change how cluster relays packets -- just PROXY_UNITE and then send packet via normal ZeroTier front plane -- more efficient and eliminates fragmentation issues. 11 years ago
Adam Ierymenko cfe166ef35 Tweak some size limits. 11 years ago
Adam Ierymenko 0ffbd05c0e --wtf; prevent roots from TCP fallback 11 years ago
Adam Ierymenko a1a0ee4edb Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks) 11 years ago
Adam Ierymenko 54a99d8e32 Well that was broken. 11 years ago
Adam Ierymenko 62db18b6dd Lessen this limit just a bit to make cluster settle faster. 11 years ago
Adam Ierymenko f32e9d07dd Don't include COM if not necessary (fix). 11 years ago
Adam Ierymenko 700c3166b7 Fix inverted sense bug. 11 years ago