Commit Graph

5119 Commits (quic-wip)

Author SHA1 Message Date
dr7ana 7421d59009 libquic vbump 5 months ago
dr7ana a5b7a7e35b Deprecate pending_msg_que in favor of libquic internal stream buffers 5 months ago
dr7ana e331f0b31f No fetch only throw 6 months ago
dr7ana 5469c9beb0 HAPPY NEW YEAR 6 months ago
dr7ana 4c336c9ea1 do not gossip client RCs! 6 months ago
dr7ana eaa853d04f client testing 6 months ago
dr7ana 0d8017d61d okay now lets try clients 6 months ago
dr7ana 3fb9ba57e5 gossip new RC's on bfetch 6 months ago
dr7ana 30f62d2689 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
6 months ago
dr7ana 5be09563fa address parsing of deprecated opts 6 months ago
dr7ana 4437d0b373 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
6 months ago
dr7ana 3451a30d0e 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
6 months ago
dr7ana 9e31300d0f gossip storage, logs 6 months ago
Jason Rhinelander 6fdfb4cef6
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.
6 months ago
dr7ana 47be3cefe1 lets see which gets rejected 6 months ago
Jason Rhinelander 7417c59286
Get rid of IterDir
It's a gross implementation, and even if it wasn't, using it takes more
code than not using it.
6 months ago
dr7ana f41bcd00c6 loop call 6 months ago
dr7ana 2a090b6e42 btreq destructor
- try closing the connection via link::Endpoint like we probably should be doing..
- testing out dropping stream constructor, godspeed
6 months ago
dr7ana 87ae0686d0 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
6 months ago
dr7ana b63733381f libquic/oxenc vbumps 6 months ago
dr7ana 49794295b1 booyakasha 6 months ago
Jason Rhinelander 5c13a0e7b4
Revert me: print out the failed bootstrap response 6 months ago
dr7ana c71e767511 full mesh proto implementation 6 months ago
dr7ana 42aa92ab95 gossip fetch and response handling implemented 6 months ago
dr7ana ef1897c25a Added connection keepalive
- implemented ngtcp2 ping to keep connections alive
- fixed weird lambda captures
- fetch logic
- lets see what happens
6 months ago
dr7ana 575494c3da actually have rid in command registration 6 months ago
dr7ana 2c3763b61c libquic vbump 6 months ago
dr7ana 08c2c26c29 bootstrap tweaking 6 months ago
dr7ana d6e5aca572 libquic vbump 6 months ago
dr7ana fd21eb3a00 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!
6 months ago
dr7ana d016951d2f Fixed pending message queue weirdness 6 months ago
dr7ana ea614ed141 better! 6 months ago
dr7ana 49dbdf1062 doofus 6 months ago
Jason Rhinelander 2f1917040c
Fix std::set move semantics
This is, apparently, the only way to move an element out of a std::set.
6 months ago
dr7ana 63c9bd6e63 update seeds before returning no 6 months ago
dr7ana eb971265c7 wrap dat 6 months ago
Jason Rhinelander 4c7f9d080f
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.
6 months ago
dr7ana 6cb2f57abd whatever 6 months ago
dr7ana b69f754599 come on already work already 6 months ago
dr7ana 7544436f6a who cares 6 months ago
Jason Rhinelander cece742cf3
Bump libquic for message move/copy fixes 6 months ago
Jason Rhinelander a6da88cbbe
DRY duplicated code in RCRemote 6 months ago
dr7ana 88b9d9f976 print but better 6 months ago
dr7ana f812d5471b send localrc, receive as remoterc 6 months ago
dr7ana 3c521c4923 log 6 months ago
Jason Rhinelander 3509693c49
Revert me: fix double-hex in debug output 6 months ago
Jason Rhinelander febcd44ea1
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).
6 months ago
Jason Rhinelander 636de93b1a Revert me: debug print the msg/sig/signer 6 months ago
dr7ana daa3a6fd94 shoot 6 months ago
Jason Rhinelander 5e2c18ff19
RemoteRC: `explicit` single-argument constructors 6 months ago