165 Commits (eebcf08084097fc7cd8703a11686e66157fa8efa)

Author SHA1 Message Date
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
Adam Ierymenko e8f6b4b5d3 Rest of big Path canonicalization refactor. 10 years ago
Adam Ierymenko 584228b2b5 Dead code removal, and get rid of reliable() because we will no longer make that distinction. 10 years ago
Adam Ierymenko c476285bd6 Harden PUSH_DIRECT_PATHS and simplify things by only doing it on receive when hops>0 and trust has been established. 10 years ago
Adam Ierymenko e1310a764a More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff). 10 years ago
Adam Ierymenko 00fd9c3a15 It builds... almost ready to test some rules engine stuff. 10 years ago
Adam Ierymenko e2f783ebbd . 10 years ago
Adam Ierymenko 56febbf2ba . 10 years ago
Adam Ierymenko 2f18a92e20 Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route. 10 years ago
Adam Ierymenko 4c455876f9 Revise peer path weighting to always prioritize cluster-optimal paths. 10 years ago
Adam Ierymenko cecfa99b7b (1) cluster members send a flag indicating that a PUSH_DIRECT_PATHS is a cluster redirect, (2) 1.1.5 uses this to avoid a bug (this bug does not exist in 1.1.4) 10 years ago
Adam Ierymenko 284e5d83b5 Fix some broken TRACEs and a tiny reorder in a few ifs. 10 years ago
Adam Ierymenko 0c951b6e56 More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it. 10 years ago
Adam Ierymenko 4769dacf61 Tweak needsOurMembershipCertificate timing to resolve a possible source of occasional dropped packets. 10 years ago
Adam Ierymenko 4e4fd51117 boring doc stuff 10 years ago
Adam Ierymenko 3883ac08c7 Docs and cleanup. 10 years ago
Adam Ierymenko 740eb6ebc4 Simplify Peer locking to eliminate deadlock with new path recursion check code (and also probably improve performance). 10 years ago
Adam Ierymenko b3e3d4cacc Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets. 10 years ago
Adam Ierymenko 1023ef23b7 Remove somewhat ugly and costly anti-recursion hack -- we will switch to more explicit methods. 10 years ago
Adam Ierymenko a56fbc1929 Close another potential anti-recursion loophole. 10 years ago
Adam Ierymenko 47ce52228b Roots should probably not do this since it would likely be a waste of packets. 10 years ago
Adam Ierymenko 9aee72099e AntiRecursion cleanup and some other minor things. 10 years ago
Adam Ierymenko 05b2c0743f Tighten up dead path detection. Should now auto-detect dead paths in less than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272 10 years ago
Adam Ierymenko 4d94ae77b4 simplify if 10 years ago
Adam Ierymenko d8143a5e18 Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev) 10 years ago
Adam Ierymenko 436c1fac1d Selectively move over changes from "edge" to "dev" excluding netcon. 10 years ago
Adam Ierymenko d3dacf5c2a Tiny bit of dead code cleanup. 10 years ago
Adam Ierymenko 2160164e8c (1) Get rid of path sorting and just scan them, since sorting may have been a premature optimization that introduced a regression and path instability in a few edge cases, and (2) do not attempt to contact remote paths received via PUSH_DIRECT_PATH if we already have that path and it is already active (dumb, should have done this originally) 10 years ago
Adam Ierymenko 022d3857cc Fix should use ECHO check. 10 years ago
Adam Ierymenko 82aa3f59d6 Fix bug in ECHO handling (OK was invalid!), and use ECHO on newer peers for path confirmation. Also get rid of path confirmation circuit breaker since this causes issues with some peers and should be done more intelligently anyway. 10 years ago
Adam Ierymenko 0940d673db Always advertise to the cluster when we have a peer even if we have also initiated handoff. This might be the cause of the warmup problem -- will test later. At the very least it should not hurt anything due to pick-latest logic and the fact that cluster members with only suboptimal paths do not respond to WANT_PEER. 10 years ago
Adam Ierymenko 32ec378e3b Announce that we have peers on the cluster when we first see them to improve startup times, and add a result crunching script to tests/http. 11 years ago
Adam Ierymenko 2cc50bdb10 Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT 11 years ago
Adam Ierymenko 35c4e28f31 Mark geo-redirected paths as suboptimal and do not report that we have a peer if all we have is one of these. Also a few other small fixes. 11 years ago
Adam Ierymenko 57b71bfff0 Cluster simplification and refactor work in progress... 11 years ago
Adam Ierymenko 6bc8c9d8ef Clustering cleanup, still a work in progress. 11 years ago
Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 11 years ago
Adam Ierymenko a42d714a87 . 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 cdc99bfee1 Add a circuit breaker for VERB_PUSH_DIRECT_PATHS. 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 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 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 9617208e40 Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers. 11 years ago