Adam Ierymenko
|
64774d0d4f
Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots.
|
8 vuotta sitten |
Adam Ierymenko
|
84732fcb12
Wire through external path lookup. Static paths should now work.
|
8 vuotta sitten |
Adam Ierymenko
|
42ba70e79e
Replace long callback arg list with struct, and implement path whitelisting, path blacklisting, and local.conf support for roles.
|
8 vuotta sitten |
Adam Ierymenko
|
c61ca1dea2
Keep connections up for netconf stuff as well as frames.
|
8 vuotta sitten |
Adam Ierymenko
|
9f550292fe
Simply network auth logic and always sent error on auth failure even for unknown networks to prevent forensics.
|
9 vuotta sitten |
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 vuotta sitten |
Adam Ierymenko
|
5b6d27e659
Implement relay policy, and setting multicast limit to 0 now disables multicast on the network as would be expected.
|
9 vuotta sitten |
Adam Ierymenko
|
cba37c6107
Add a few more rate limit gates for anti-DOS hardening.
|
9 vuotta sitten |
Adam Ierymenko
|
ea1da3321a
Rate gate requests for COM.
|
9 vuotta sitten |
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 vuotta sitten |
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 vuotta sitten |
Adam Ierymenko
|
c7a4da3dd3
Turns out we do not need to pass network to receive().
|
9 vuotta sitten |
Adam Ierymenko
|
1908aa55f5
Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary pushes and simplify code.
|
9 vuotta sitten |
Adam Ierymenko
|
a7d988745b
Use ECHO instead of HELLO where possible.
|
9 vuotta sitten |
Adam Ierymenko
|
ff9f8b1c2b
Typo fix.
|
9 vuotta sitten |
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 vuotta sitten |
Adam Ierymenko
|
f2d2df2b11
Cluster build fix.
|
9 vuotta sitten |
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 vuotta sitten |
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 vuotta sitten |
Adam Ierymenko
|
43780742b0
comments, docs
|
9 vuotta sitten |
Adam Ierymenko
|
d7f2287ce9
More tweaks to path behavior.
|
9 vuotta sitten |
Adam Ierymenko
|
eebcf08084
Tweaks to new Path code for dual-stack operation, and other fixes.
|
9 vuotta sitten |
Adam Ierymenko
|
4992ac2d9f
Cluster sub-optimal is in fact necessary...
|
9 vuotta sitten |
Adam Ierymenko
|
4f8253dcdb
Tweaks to path handling...
|
9 vuotta sitten |
Adam Ierymenko
|
d1101441b3
Tweak some timings.
|
9 vuotta sitten |
Adam Ierymenko
|
e8f6b4b5d3
Rest of big Path canonicalization refactor.
|
9 vuotta sitten |
Adam Ierymenko
|
584228b2b5
Dead code removal, and get rid of reliable() because we will no longer make that distinction.
|
9 vuotta sitten |
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 vuotta sitten |
Adam Ierymenko
|
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
|
9 vuotta sitten |
Adam Ierymenko
|
00fd9c3a15
It builds... almost ready to test some rules engine stuff.
|
9 vuotta sitten |