lokinet/llarp/crypto
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
..
constants.hpp The Great Wall of Blame 2020-04-07 12:38:56 -06:00
crypto_libsodium.cpp LNS (#1342) 2020-09-17 15:18:08 -04:00
crypto_libsodium.hpp LNS (#1342) 2020-09-17 15:18:08 -04:00
crypto.cpp Add CryptoManager class to provide a guard-style class to manage the current Crypto instance 2019-05-28 20:45:08 +01:00
crypto.hpp LNS (#1342) 2020-09-17 15:18:08 -04:00
encrypted_frame.cpp The Great Wall of Blame 2020-04-07 12:38:56 -06:00
encrypted_frame.hpp use lokimq workers instead of llarp:🧵:ThreadPool 2020-07-02 11:07:34 -04:00
encrypted.hpp The Great Wall of Blame 2020-04-07 12:38:56 -06:00
types.cpp Use lokimq's hex/base32z encoding/decoding 2020-07-02 11:13:31 -04:00
types.hpp remove some string conversions entirely 2020-05-26 23:09:16 -05:00