Commit Graph

8240 Commits (3e9d5a97a8e98042416fa698548c40ec4e873703)
 

Author SHA1 Message Date
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
5 months ago
dr7ana 0e73605ffd libquic vbump (stream redux, reauth updates, alpns->ustring) 5 months ago
dr7ana ae38dc7110 gossip storage, logs 5 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.
5 months ago
dr7ana 961763d1bb lets see which gets rejected 5 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.
5 months ago
dr7ana 4ce0385b55 loop call 5 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
5 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
5 months ago
dr7ana 4251172707 libquic/oxenc vbumps 5 months ago
dr7ana 7b8c8fde52 booyakasha 5 months ago
Jason Rhinelander 4d56c97612 Revert me: print out the failed bootstrap response 5 months ago
dr7ana 7f143bb52f full mesh proto implementation 5 months ago
dr7ana 89975a0b01 gossip fetch and response handling implemented 5 months ago
dr7ana cc97fe1f5f Added connection keepalive
- implemented ngtcp2 ping to keep connections alive
- fixed weird lambda captures
- fetch logic
- lets see what happens
5 months ago
dr7ana caa7b7ad24 libquic vbump 5 months ago
dr7ana 1364e4ce53 actually have rid in command registration 5 months ago
dr7ana 5ab40a7a7f libquic vbump 5 months ago
dr7ana 42da1b0e68 bootstrap tweaking 5 months ago
dr7ana bf6e705cbd libquic vbump 5 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!
5 months ago
dr7ana dbad0d596a Fixed pending message queue weirdness 5 months ago
dr7ana a591d4424b libquic vbump 5 months ago
dr7ana 30ea6799db better! 5 months ago
dr7ana 8f99ead7ba doofus 5 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.
5 months ago
dr7ana fcbfc1919d update seeds before returning no 5 months ago
dr7ana 8bdfb206c2 wrap dat 5 months ago
Jason Rhinelander d6cc702025 Bump libquic for register_command fix 5 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.
5 months ago
dr7ana 90a530a114 whatever 5 months ago
dr7ana 1e1f4dd40b come on already work already 5 months ago
dr7ana 4c2512494c libquic vbump 5 months ago
dr7ana 0e888395d6 who cares 5 months ago
Jason Rhinelander f00137adeb Bump libquic for message move/copy fixes 5 months ago
Jason Rhinelander 96c93c9981 Bump libquic 5 months ago
Jason Rhinelander 0cf5805a7e DRY duplicated code in RCRemote 5 months ago
dr7ana cd96497fd6 print but better 5 months ago
dr7ana 97fe3c6271 send localrc, receive as remoterc 5 months ago
dr7ana b8c8a2c696 log 5 months ago
Jason Rhinelander 31616837e0 Revert me: fix double-hex in debug output 5 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).
5 months ago
Jason Rhinelander 329acaf56c Revert me: debug print the msg/sig/signer 5 months ago
dr7ana 4328212c2c shoot 5 months ago
Jason Rhinelander eb62185160 RemoteRC: `explicit` single-argument constructors 5 months ago
dr7ana aabd413ed6 D 5 months ago
Jason Rhinelander dab6e90f7d Fix version encoding
We are reinterpret_cast'ing the version to a string to send it as raw
bytes, but it was sending \x00\x00\x09 instead of \x00\x09\x0a because
the version constant was actually a uint16_t array.

This just makes the version constant a uint8_t array instead so that it
works (and I am not at all worried about any version component getting
larger than 255).
5 months ago
Jason Rhinelander ba6c8ee320 REVERT ME: debug incoming dict data 5 months ago
dr7ana 384cb7a8bd dont bomb with bootstrap reqs 5 months ago
dr7ana 3d9e3aef7f kiiiiiick 5 months ago