oxen-io / lokinet

Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
https://lokinet.org/
GNU General Public License v3.0
1.71k stars 220 forks source link

make clients with strict-connect option explicitly connect to provided snode. #2174

Open majestrate opened 1 year ago

majestrate commented 1 year ago

make lokinet client with strict-connect option provided explicitly connect out to snodes provided. before it was just randomly chugging through peer selection until it found one we explicitly pinned. this rarely works.

fixes #2169

majestrate commented 1 year ago

this and #2164 should address the wire protocol regression introduced in 0.9.11, getting this merged would be a great thing to add to a point release before flipping the network into full on quic tls/1.3

majestrate commented 1 year ago

@tewinget it may help in refactoring the existing path builder code to decompose the existing path selection code to have similar kinds of hop selectors as this PR does e.g. aligned_hop_selector which given an ordered set of previous hops, path length and the final aligned hop can select the next best hop.