summaryrefslogtreecommitdiff
path: root/node/Peer.cpp
AgeCommit message (Collapse)Author
2016-02-10More tweaks to new symmetric NAT buster, and stop using old iterative method ↵Adam Ierymenko
since this supersedes it.
2016-02-09Tweak needsOurMembershipCertificate timing to resolve a possible source of ↵Adam Ierymenko
occasional dropped packets.
2016-01-12boring doc stuffAdam Ierymenko
2016-01-12Docs and cleanup.Adam Ierymenko
2016-01-12Simplify Peer locking to eliminate deadlock with new path recursion check ↵Adam Ierymenko
code (and also probably improve performance).
2016-01-11Instead of using binary packet comparison, add a callback to the API to ↵Adam Ierymenko
explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
2016-01-11Remove somewhat ugly and costly anti-recursion hack -- we will switch to ↵Adam Ierymenko
more explicit methods.
2016-01-06Close another potential anti-recursion loophole.Adam Ierymenko
2016-01-06Roots should probably not do this since it would likely be a waste of packets.Adam Ierymenko
2016-01-06AntiRecursion cleanup and some other minor things.Adam Ierymenko
2016-01-06Tighten up dead path detection. Should now auto-detect dead paths in less ↵Adam Ierymenko
than 10 seconds at a very small cost in ECHO requests (or HELLOs for older peers). GitHib issue #272
2016-01-05simplify ifAdam Ierymenko
2016-01-05Implement first pass on rapid dead path detection, and increment version to ↵Adam Ierymenko
1.1.3 (dev)
2015-12-21Selectively move over changes from "edge" to "dev" excluding netcon.Adam Ierymenko
2015-11-11Always advertise to the cluster when we have a peer even if we have also ↵Adam Ierymenko
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.
2015-11-09Announce that we have peers on the cluster when we first see them to improve ↵Adam Ierymenko
startup times, and add a result crunching script to tests/http.
2015-11-09Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NATAdam Ierymenko
2015-11-09Mark geo-redirected paths as suboptimal and do not report that we have a ↵Adam Ierymenko
peer if all we have is one of these. Also a few other small fixes.
2015-11-08Cluster simplification and refactor work in progress...Adam Ierymenko
2015-11-06Clustering cleanup, still a work in progress.Adam Ierymenko
2015-11-06Further pare down Cluster messaging and rename some stuff.Adam Ierymenko
2015-11-03.Adam Ierymenko
2015-10-29Eliminate some more dead code. We may do path trust, but not like that.Adam Ierymenko
2015-10-27Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.Adam Ierymenko
2015-10-27Replicate peer endpoints and forget paths if we have them -- this allows two ↵Adam Ierymenko
clusters to talk to each other, whereas forgetting all paths does not.
2015-10-27(1) No need to confirm if we are a root (small optimization), (2) Refactor ↵Adam Ierymenko
peer affinity tracking.
2015-10-27Build fix in TRACE mode.Adam Ierymenko
2015-10-27Factor out RemotePath subclass of Path -- no longer needed, just cruft.Adam Ierymenko
2015-10-27Forget paths to peers if we are handing them off.Adam Ierymenko
2015-10-27Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out ↵Adam Ierymenko
rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks)
2015-10-27Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.Adam Ierymenko
2015-10-27Refactor cluster redirects to move code to push peers out of the actual ↵Adam Ierymenko
Cluster function that checks for redirect, and clean up Peer::received() to be a bit more logical.
2015-10-26Can redirect in response to a few more verbs, just not these.Adam Ierymenko
2015-10-26Only send redirects to the sending InetAddress and only in response to a set ↵Adam Ierymenko
of certain frame types to avoid potential race conditions.
2015-10-26Only send redirects for the same address class, and elminiate some TRACE noise.Adam Ierymenko
2015-10-20Wire in redirectPeer(), now about ready to test clustering!Adam Ierymenko
2015-10-20Move replication of COMs to avoid race condition.Adam Ierymenko
2015-10-20Finish wiring up Cluster, fix some issues with other recent changes.Adam Ierymenko
2015-10-20Wire up peer announcement in cluster.Adam Ierymenko
2015-10-20Cluster work -- integrating with the rest of the code.Adam Ierymenko
2015-10-19Fix very obscure IP scope classification logic bug.Adam Ierymenko
2015-10-19.Adam Ierymenko
2015-10-19.Adam Ierymenko
2015-10-19Fix for V4/V6 stable addressing.Adam Ierymenko
2015-10-16Fix vProto init.Adam Ierymenko
2015-10-16Accept OK for confirm of HELLO or ECHO.Adam Ierymenko
2015-10-16Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.Adam Ierymenko
2015-10-16IPv6 support fixes.Adam Ierymenko
2015-10-13World stuff...Adam Ierymenko
2015-10-07Tune NAT-t keepalives so that timing is better obeyed, clean up a build ↵Adam Ierymenko
warning, and fix a potential source of network recursion (though harmless).