lokinet/llarp/path
Jeff 21930cf667
LNS (#1342)
* initial relay side lns

* fix typo

* add reserved names and refactor test for dns

* lns name decryption

* all wired up (allegedly)

* refact to use service::EncryptedName for LNS responses to include nonce with ciphertext

* fully rwemove tag_lookup_job

* replace lns cache with DecayingHashTable

* check for lns name validity against the following rules:

* not localhost.loki, loki.loki, or snode.loki

* if it contains no dash then max 32 characters long, not including the .loki tld (and also assuming a leading subdomain has been stripped)

* These are from general DNS requirements, and also enforced in
registrations:

* Must be all [A-Za-z0-9-]. (A-Z will be lower-cased by the RPC call).

* cannot start or end with a -

* max 63 characters long if it does contain a dash

* cannot contain -- in the third and fourth characters unless it starts with xn--

* handle timeout in name lookup job by calling the right handler with std::nullopt
2020-09-17 15:18:08 -04:00
..
ihophandler.cpp put replay filters on transit hops to reduce retransmissions. 2020-05-23 16:07:20 -04:00
ihophandler.hpp use std::list here too 2020-05-24 08:51:17 -04:00
path_context.cpp if Router::SendToOrQueue fails propagate that failure in LRCM handler 2020-08-24 20:19:52 -04:00
path_context.hpp use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00
path_types.hpp The Great Wall of Blame 2020-04-07 12:38:56 -06:00
path.cpp use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00
path.hpp put replay filters on transit hops to reduce retransmissions. 2020-05-23 16:07:20 -04:00
pathbuilder.cpp * rework exit codepath to allow multiple exits 2020-07-02 11:13:30 -04:00
pathbuilder.hpp The Great Wall of Blame 2020-04-07 12:38:56 -06:00
pathset.cpp use random good path for outbound traffic so that it uses an even spread accross 2020-05-23 16:07:20 -04:00
pathset.hpp LNS (#1342) 2020-09-17 15:18:08 -04:00
transit_hop.cpp address feedback from jason 2020-07-02 11:13:32 -04:00
transit_hop.hpp use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00