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
|
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
|
ceaef19fb7
Fix for GitHub issue #260 -- fix for (non-exploitable) crash in network preferred relay code
|
10 years ago |
Adam Ierymenko
|
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
10 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.
|
10 years ago |
Adam Ierymenko
|
5f39d5b7ea
Further pare down Cluster messaging and rename some stuff.
|
10 years ago |
Adam Ierymenko
|
4e9d430476
Make root and relay selection somewhat more robust.
|
10 years ago |
Adam Ierymenko
|
7fbe2f7adf
Tweak some more timings for better reliability.
|
10 years ago |
Adam Ierymenko
|
883c84bdb9
Tweak some timings, and remove some dead code.
|
10 years ago |
Adam Ierymenko
|
0fd15d9cf3
Fix inverted sense bug.
|
10 years ago |
Adam Ierymenko
|
cdc99bfee1
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
10 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.
|
10 years ago |
Adam Ierymenko
|
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
10 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)
|
10 years ago |
Adam Ierymenko
|
cc4d0199e7
Fix vProto init.
|
10 years ago |
Adam Ierymenko
|
f9f60f89d9
Peer save/restore fix.
|
10 years ago |
Adam Ierymenko
|
5ce3aac929
Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.
|
10 years ago |
Adam Ierymenko
|
2229e91b57
IPv6 support fixes.
|
10 years ago |
Adam Ierymenko
|
619e113748
Work in progress on Cluster for new root infrastructure, multi-homing.
|
10 years ago |
Adam Ierymenko
|
5d2f523e81
World stuff...
|
10 years ago |
Adam Ierymenko
|
76a95dc58f
The return of peer peristence.
|
10 years ago |
Adam Ierymenko
|
5076c49210
Peer serialization and related changes.
|
10 years ago |
Adam Ierymenko
|
64bf3ffe6c
Mutex cleanup.
|
10 years ago |
Adam Ierymenko
|
a3db7d0728
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
10 years ago |
Adam Ierymenko
|
f69454ec98
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
|
10 years ago |
Adam Ierymenko
|
367ffde00c
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
10 years ago |
Adam Ierymenko
|
7b8ce16057
Another std::map<> dies.
|
10 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.
|
10 years ago |
Adam Ierymenko
|
778c7e6e70
More cleanup to direct path push, comment fixes, etc.
|
10 years ago |
Adam Ierymenko
|
255320e2a6
pushDirectPaths() implementation
|
10 years ago |