diff --git a/llarp/handlers/tun.cpp b/llarp/handlers/tun.cpp index 5de4cfb81..81dc18d46 100644 --- a/llarp/handlers/tun.cpp +++ b/llarp/handlers/tun.cpp @@ -407,7 +407,24 @@ namespace llarp service::Address addr; if (addr.FromString(qname, ".loki") || addr.FromString(qname, ".snode") || is_random_snode(msg) || is_localhost_loki(msg)) + { msg.AddMXReply(qname, 1); + } + else if (service::NameIsValid(lnsName)) + { + return LookupNameAsync( + lnsName, [msg = std::make_shared(msg), lnsName, reply](auto maybe) { + if (maybe.has_value()) + { + msg->AddMXReply(maybe->ToString(), 1); + } + else + { + msg->AddNXReply(); + } + reply(*msg); + }); + } else msg.AddNXReply(); reply(msg);