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.
|
9 years ago |
Adam Ierymenko
|
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
|
9 years ago |
Adam Ierymenko
|
cba37c6107
Add a few more rate limit gates for anti-DOS hardening.
|
9 years ago |
Adam Ierymenko
|
ea1da3321a
Rate gate requests for COM.
|
9 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.
|
9 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.
|
9 years ago |
Adam Ierymenko
|
c7a4da3dd3
Turns out we do not need to pass network to receive().
|
9 years ago |
Adam Ierymenko
|
1908aa55f5
Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code.
|
9 years ago |
Adam Ierymenko
|
a7d988745b
Use ECHO instead of HELLO where possible.
|
9 years ago |
Adam Ierymenko
|
ff9f8b1c2b
Typo fix.
|
9 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.
|
9 years ago |
Adam Ierymenko
|
f2d2df2b11
Cluster build fix.
|
9 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.
|
9 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.
|
9 years ago |
Adam Ierymenko
|
43780742b0
comments, docs
|
9 years ago |
Adam Ierymenko
|
d7f2287ce9
More tweaks to path behavior.
|
9 years ago |
Adam Ierymenko
|
eebcf08084
Tweaks to new Path code for dual-stack operation, and other fixes.
|
9 years ago |
Adam Ierymenko
|
4992ac2d9f
Cluster sub-optimal is in fact necessary...
|
9 years ago |
Adam Ierymenko
|
4f8253dcdb
Tweaks to path handling...
|
9 years ago |
Adam Ierymenko
|
d1101441b3
Tweak some timings.
|
9 years ago |
Adam Ierymenko
|
e8f6b4b5d3
Rest of big Path canonicalization refactor.
|
9 years ago |
Adam Ierymenko
|
584228b2b5
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
|
9 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.
|
9 years ago |
Adam Ierymenko
|
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
|
9 years ago |
Adam Ierymenko
|
00fd9c3a15
It builds... almost ready to test some rules engine stuff.
|
9 years ago |
Adam Ierymenko
|
e2f783ebbd
.
|
9 years ago |
Adam Ierymenko
|
56febbf2ba
.
|
9 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.
|
9 years ago |
Adam Ierymenko
|
4c455876f9
Revise peer path weighting to always prioritize cluster-optimal paths.
|
9 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)
|
9 years ago |