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
|
94f4316a0e
|
Fix for possible high CPU usage on multicast queries.
|
11 years ago |
Adam Ierymenko
|
57b71bfff0
|
Cluster simplification and refactor work in progress...
|
11 years ago |
Adam Ierymenko
|
5f39d5b7ea
|
Further pare down Cluster messaging and rename some stuff.
|
11 years ago |
Adam Ierymenko
|
8ef4edebbf
|
Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.
|
11 years ago |
Adam Ierymenko
|
f1b6427e63
|
Decided to make this 1.1.0 (semantic versioning increment is warranted), and add a legacy hack for older clients working with clusters.
|
11 years ago |
Adam Ierymenko
|
938d0a970b
|
TRACE build fixes.
|
11 years ago |
Adam Ierymenko
|
da93712846
|
Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter.
|
11 years ago |
Adam Ierymenko
|
cdc99bfee1
|
Add a circuit breaker for VERB_PUSH_DIRECT_PATHS.
|
11 years ago |
Adam Ierymenko
|
88b100e5d0
|
More cleanup.
|
11 years ago |
Adam Ierymenko
|
16bc3e0398
|
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
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
|
54a99d8e32
|
Well that was broken.
|
11 years ago |
Adam Ierymenko
|
700c3166b7
|
Fix inverted sense bug.
|
11 years ago |
Adam Ierymenko
|
9617208e40
|
Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.
|
11 years ago |
Adam Ierymenko
|
2258e36a59
|
Move replication of COMs to avoid race condition.
|
11 years ago |
Adam Ierymenko
|
59e1444b27
|
Finish wiring up Cluster, fix some issues with other recent changes.
|
11 years ago |
Adam Ierymenko
|
eb79d4a2f3
|
Wire up peer announcement in cluster.
|
11 years ago |
Adam Ierymenko
|
57e29857cf
|
Cluster work -- integrating with the rest of the code.
|
11 years ago |
Adam Ierymenko
|
3adb183c5f
|
Fix bad COM attachment bug and eliminate an unnecessary redundant check.
|
11 years ago |
Adam Ierymenko
|
95953b48f9
|
Do not allow VERB_RENDEZVOUS from non-upstream peers to block potential DOS vector.
|
11 years ago |
Adam Ierymenko
|
5ce3aac929
|
Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.
|
11 years ago |
Adam Ierymenko
|
2debde3451
|
GitHub issue #235, and I also see no reason not to communicate with people from other Worlds.
|
11 years ago |
Adam Ierymenko
|
c312ae221f
|
Fix for world size in OK(HELLO)
|
11 years ago |
Adam Ierymenko
|
123c466843
|
Full integration of World and World updates.
|
11 years ago |
Adam Ierymenko
|
5d2f523e81
|
World stuff...
|
11 years ago |
Adam Ierymenko
|
cae58f43f1
|
More World stuff, and mkworld.
|
11 years ago |
Adam Ierymenko
|
1b1945c63e
|
Work in progress on refactoring root-topology into World and adding in-band updates.
|
11 years ago |
Adam Ierymenko
|
eff1fe3c61
|
Create files for each hop (more convenient) and fix a packet parse bug.
|
11 years ago |
Adam Ierymenko
|
aec13b50fd
|
Be a bit more verbose in circuit test reports to more clearly track current and upstream hop in graph traversal history.
|
11 years ago |
Adam Ierymenko
|
0c498556d5
|
Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE)
|
11 years ago |
Adam Ierymenko
|
a3876353ca
|
Abiltiy to post a test via the controller web API, and parsing of CIRCUIT_TEST_REPORT messages.
|
11 years ago |
Adam Ierymenko
|
0ce0bc00d2
|
Make sure received() gets called for some new messages, and docs.
|
11 years ago |
Adam Ierymenko
|
69b44bf9a5
|
Finally add an ECHO.
|
11 years ago |
Adam Ierymenko
|
73cafbe0ec
|
Limit proof of work difficulty to something sane.
|
11 years ago |
Adam Ierymenko
|
e5f168f599
|
Add proof of work request for future DDOS mitigation use.
|
11 years ago |
Adam Ierymenko
|
13f14c2f4c
|
Kill debug line.
|
11 years ago |
Adam Ierymenko
|
ab0228f626
|
More cleanup and simple refactoring, consolidate InetAddres serialize/deserialize into the class.
|
11 years ago |
Adam Ierymenko
|
1b2cac0cc5
|
Trim some cruft that is not used and probably never would be.
|
11 years ago |
Adam Ierymenko
|
3593fb3462
|
Send initial CIRCUIT_TEST packet.
|
11 years ago |
Adam Ierymenko
|
d3f29d09e8
|
Plumbing through circuit test stuff.
|
11 years ago |
Adam Ierymenko
|
5341afcdcd
|
Handling of CIRCUIT_TEST, should be ready to test.
|
11 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.
|
11 years ago |
Adam Ierymenko
|
1a4f16e0ed
|
More work on circuit testing...
|
11 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.
|
11 years ago |
Adam Ierymenko
|
367ffde00c
|
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
11 years ago |
Adam Ierymenko
|
0d386f1c31
|
Add a bit of useful testing instrumentation to SqliteNetworkController.
|
11 years ago |
Adam Ierymenko
|
b31071463c
|
Try another NAT traversal improvement.
|
11 years ago |
Adam Ierymenko
|
b3516c599b
|
Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions.
|
11 years ago |