Commit Graph

8348 Commits (3103194ec4fadae337ae5c724d0739440836435c)
 

Author SHA1 Message Date
dr7ana 8e9dce1940 do not gossip client RCs! 8 months ago
dr7ana 9b37b5b63e client testing 8 months ago
dr7ana 9153ba331e okay now lets try clients 8 months ago
Jason Rhinelander 6bb65ccf6f Fix SETCAP disabling
If you start without -DWITH_SETCAP=OFF, but then later re-run cmake,
SETCAP is still set (and so still gets tried).  This fixes it.
8 months ago
dr7ana 38c1008b59 gossip new RC's on bfetch 8 months ago
dr7ana 61718464ae zero cost exception handling my ass
- rework bootstrap loading to move all logic into BootstrapList object
- ability to parse lists and dicts of bootstraps implemented
- netid parsing refers to the correct fallback
- cross your fingers boys here we go
8 months ago
dr7ana 1cbec988fc address parsing of deprecated opts 8 months ago
dr7ana 9cc053608a re-abstraction for client connections
- pending_conns removed in favor of direct creation of link::Connection objects in link::Endpoint::{service,client}_conn containers
- conn lookup maps removed, they were pointless
8 months ago
dr7ana 3e9d5a97a8 ALPN verification
- laying the groundwork for functional client->service node connections. this requires ALPNs verification as a secondary method of identification to the remote key
- refactored btreq stream creation to use improved stream creation logic in libquic
8 months ago
dr7ana 0e73605ffd libquic vbump (stream redux, reauth updates, alpns->ustring) 8 months ago
dr7ana ae38dc7110 gossip storage, logs 8 months ago
Jason Rhinelander 687d6556d5 Add `exact` argument to get_n_random_rcs
If given and true then return nullopt if we don't find the requested
number; otherwise return them even if there aren't as many as we
requested.
8 months ago
dr7ana 961763d1bb lets see which gets rejected 8 months ago
Jason Rhinelander 86f2906ec3 Get rid of IterDir
It's a gross implementation, and even if it wasn't, using it takes more
code than not using it.
8 months ago
dr7ana 4ce0385b55 loop call 8 months ago
dr7ana 75e31279be btreq destructor
- try closing the connection via link::Endpoint like we probably should be doing..
- testing out dropping stream constructor, godspeed
8 months ago
dr7ana 22879b64ed rc parsing
- new btdc method used to ensure no junk at the end of our bt data
- DRYed out the RC code
- check inbound bootstraps against all registered routers, not just whitelist
- libquic vbump
8 months ago
dr7ana 4251172707 libquic/oxenc vbumps 8 months ago
dr7ana 7b8c8fde52 booyakasha 8 months ago
Jason Rhinelander 4d56c97612 Revert me: print out the failed bootstrap response 8 months ago
dr7ana 7f143bb52f full mesh proto implementation 8 months ago
dr7ana 89975a0b01 gossip fetch and response handling implemented 8 months ago
dr7ana cc97fe1f5f Added connection keepalive
- implemented ngtcp2 ping to keep connections alive
- fixed weird lambda captures
- fetch logic
- lets see what happens
8 months ago
dr7ana caa7b7ad24 libquic vbump 8 months ago
dr7ana 1364e4ce53 actually have rid in command registration 8 months ago
dr7ana 5ab40a7a7f libquic vbump 8 months ago
dr7ana 42da1b0e68 bootstrap tweaking 8 months ago
dr7ana bf6e705cbd libquic vbump 8 months ago
dr7ana 9f0766f203 Big fix!
- pending conns container stops them from being counted towards active conns in the interim
- un-abstracted pendingmessages vs pendingdatamessages vs pendingcontrolmessages (gross)
- fixed bootstrap fetching and storage!
8 months ago
dr7ana dbad0d596a Fixed pending message queue weirdness 8 months ago
dr7ana a591d4424b libquic vbump 8 months ago
dr7ana 30ea6799db better! 8 months ago
dr7ana 8f99ead7ba doofus 8 months ago
Jason Rhinelander cb39f64cae Fix std::set move semantics
This is, apparently, the only way to move an element out of a std::set.
8 months ago
dr7ana fcbfc1919d update seeds before returning no 8 months ago
dr7ana 8bdfb206c2 wrap dat 8 months ago
Jason Rhinelander d6cc702025 Bump libquic for register_command fix 8 months ago
Jason Rhinelander 6505c7badb Replace GetBestNetIF with quic::Address version
It is now called get_best_public_address, and takes (bool, port)
argument to return an optional quic::Address to make life easier: the
caller now can just give the default port to set, and we keep the C
sockaddr* more constrained.
8 months ago
dr7ana 90a530a114 whatever 8 months ago
dr7ana 1e1f4dd40b come on already work already 8 months ago
dr7ana 4c2512494c libquic vbump 8 months ago
dr7ana 0e888395d6 who cares 8 months ago
Jason Rhinelander f00137adeb Bump libquic for message move/copy fixes 8 months ago
Jason Rhinelander 96c93c9981 Bump libquic 8 months ago
Jason Rhinelander 0cf5805a7e DRY duplicated code in RCRemote 8 months ago
dr7ana cd96497fd6 print but better 8 months ago
dr7ana 97fe3c6271 send localrc, receive as remoterc 8 months ago
dr7ana b8c8a2c696 log 8 months ago
Jason Rhinelander 31616837e0 Revert me: fix double-hex in debug output 8 months ago
Jason Rhinelander ff3a495f0e Fix pubkey parsing to be read as bytes
from_string was trying to parse it as base32z.snode

Also leave FIXMEs behind for the badly named methods (both in RouterID
itself and in ancestor classes).
8 months ago