Commit Graph

5126 Commits (0fe8c6f0a6bab7fb346fc2b0e75927d3494d9236)

Author SHA1 Message Date
dr7ana 0fe8c6f0a6 remove a few calls to bootstrap fallback 5 months ago
dr7ana fbd193540b nodedb one-liner 5 months ago
dr7ana 5f8e1ada15 formatting 5 months ago
dr7ana 861d573e6a Clear application map connection entry earlier 5 months ago
dr7ana 7970ad2d07 Simul-defer connections
- When two relays are repeatedly attempting connections to one another simultaneously, the connection initiated by the RouterID that appears first (in lexicographical order) is deferred to. The connection initiated by the other endpoint is marked to close quietly (w/o executing callbacks), and is rejected in the TLS verification hook
- Bypassing callback execution is critical, as it will clean-up the link::Connection object for the connection that is being deferred to; this results in BOTH connections being destroyed.
5 months ago
dr7ana 261fc6be83 REVERT: verbose close logging
- misc libquic fixes squashed into this
- thread-safe wrapping
5 months ago
dr7ana 6073377171 libquic vbump 5 months ago
dr7ana 9cc3efcfa7 a soothing renomenclatura
- removed superfluous typedefs obfuscating what is actually happening
- Builder -> PathBuilder; next is moving PathSet into PathBuilder
- enum -> enum class where appropriate
- ran linter
5 months ago
dr7ana fb19e148db squash: kick testnet 5 months ago
dr7ana 2c12f06fd1 libquic vbump 5 months ago
dr7ana 95fe45eb5d Deprecate pending_msg_que in favor of libquic internal stream buffers 5 months ago
dr7ana 674edab31f No fetch only throw 5 months ago
dr7ana c0b6277496 HAPPY NEW YEAR 5 months ago
dr7ana 8e9dce1940 do not gossip client RCs! 5 months ago
dr7ana 9b37b5b63e client testing 5 months ago
dr7ana 9153ba331e okay now lets try clients 5 months ago
dr7ana 38c1008b59 gossip new RC's on bfetch 5 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
5 months ago
dr7ana 1cbec988fc address parsing of deprecated opts 5 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
5 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
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 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 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 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 0e888395d6 who cares 5 months ago
Jason Rhinelander f00137adeb Bump libquic for message move/copy fixes 5 months ago