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.
2024-01-31 07:54:12 -08:00
dr7ana
38c1008b59
gossip new RC's on bfetch
2024-01-31 07:54:12 -08:00
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
2024-01-31 07:54:12 -08:00
dr7ana
1cbec988fc
address parsing of deprecated opts
2024-01-31 07:54:12 -08:00
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
2024-01-31 07:54:12 -08:00
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
2024-01-31 07:54:12 -08:00
dr7ana
0e73605ffd
libquic vbump (stream redux, reauth updates, alpns->ustring)
2024-01-31 07:54:12 -08:00
dr7ana
ae38dc7110
gossip storage, logs
2024-01-31 07:54:12 -08:00
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.
2024-01-31 07:54:12 -08:00
dr7ana
961763d1bb
lets see which gets rejected
2024-01-31 07:54:12 -08:00
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.
2024-01-31 07:54:12 -08:00
dr7ana
4ce0385b55
loop call
2024-01-31 07:54:12 -08:00
dr7ana
75e31279be
btreq destructor
...
- try closing the connection via link::Endpoint like we probably should be doing..
- testing out dropping stream constructor, godspeed
2024-01-31 07:54:12 -08:00
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
2024-01-31 07:54:12 -08:00
dr7ana
4251172707
libquic/oxenc vbumps
2024-01-31 07:54:12 -08:00
dr7ana
7b8c8fde52
booyakasha
2024-01-31 07:54:12 -08:00
Jason Rhinelander
4d56c97612
Revert me: print out the failed bootstrap response
2024-01-31 07:54:12 -08:00
dr7ana
7f143bb52f
full mesh proto implementation
2024-01-31 07:54:12 -08:00
dr7ana
89975a0b01
gossip fetch and response handling implemented
2024-01-31 07:54:12 -08:00
dr7ana
cc97fe1f5f
Added connection keepalive
...
- implemented ngtcp2 ping to keep connections alive
- fixed weird lambda captures
- fetch logic
- lets see what happens
2024-01-31 07:54:12 -08:00
dr7ana
caa7b7ad24
libquic vbump
2024-01-31 07:54:12 -08:00
dr7ana
1364e4ce53
actually have rid in command registration
2024-01-31 07:54:12 -08:00
dr7ana
5ab40a7a7f
libquic vbump
2024-01-31 07:54:12 -08:00
dr7ana
42da1b0e68
bootstrap tweaking
2024-01-31 07:54:12 -08:00
dr7ana
bf6e705cbd
libquic vbump
2024-01-31 07:54:12 -08:00
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!
2024-01-31 07:54:12 -08:00
dr7ana
dbad0d596a
Fixed pending message queue weirdness
2024-01-31 07:54:12 -08:00
dr7ana
a591d4424b
libquic vbump
2024-01-31 07:54:12 -08:00
dr7ana
30ea6799db
better!
2024-01-31 07:54:12 -08:00
dr7ana
8f99ead7ba
doofus
2024-01-31 07:54:12 -08:00
Jason Rhinelander
cb39f64cae
Fix std::set move semantics
...
This is, apparently, the only way to move an element out of a std::set.
2024-01-31 07:54:12 -08:00
dr7ana
fcbfc1919d
update seeds before returning no
2024-01-31 07:54:12 -08:00
dr7ana
8bdfb206c2
wrap dat
2024-01-31 07:54:12 -08:00
Jason Rhinelander
d6cc702025
Bump libquic for register_command fix
2024-01-31 07:54:12 -08:00
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.
2024-01-31 07:54:12 -08:00
dr7ana
90a530a114
whatever
2024-01-31 07:54:12 -08:00
dr7ana
1e1f4dd40b
come on already work already
2024-01-31 07:54:12 -08:00
dr7ana
4c2512494c
libquic vbump
2024-01-31 07:54:12 -08:00
dr7ana
0e888395d6
who cares
2024-01-31 07:54:12 -08:00
Jason Rhinelander
f00137adeb
Bump libquic for message move/copy fixes
2024-01-31 07:54:12 -08:00
Jason Rhinelander
96c93c9981
Bump libquic
2024-01-31 07:54:12 -08:00
Jason Rhinelander
0cf5805a7e
DRY duplicated code in RCRemote
2024-01-31 07:54:12 -08:00
dr7ana
cd96497fd6
print but better
2024-01-31 07:54:12 -08:00
dr7ana
97fe3c6271
send localrc, receive as remoterc
2024-01-31 07:54:12 -08:00
dr7ana
b8c8a2c696
log
2024-01-31 07:54:12 -08:00
Jason Rhinelander
31616837e0
Revert me: fix double-hex in debug output
2024-01-31 07:54:12 -08:00
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).
2024-01-31 07:54:12 -08:00
Jason Rhinelander
329acaf56c
Revert me: debug print the msg/sig/signer
2024-01-31 07:54:12 -08:00
dr7ana
4328212c2c
shoot
2024-01-31 07:54:12 -08:00
Jason Rhinelander
eb62185160
RemoteRC: explicit
single-argument constructors
2024-01-31 07:54:12 -08:00