From 7cb1b525c9eea64ff5704ccd3e3ae09db0ec2ad0 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 19 Aug 2019 23:25:40 +0100 Subject: [PATCH] Dump more info from router contact --- docker/compose/compose-base.Dockerfile | 1 + llarp/net/address_info.cpp | 13 +++++++++++++ llarp/net/address_info.hpp | 3 +++ llarp/router_contact.cpp | 5 ++++- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docker/compose/compose-base.Dockerfile b/docker/compose/compose-base.Dockerfile index e40b47604..208b1bced 100644 --- a/docker/compose/compose-base.Dockerfile +++ b/docker/compose/compose-base.Dockerfile @@ -13,3 +13,4 @@ RUN make NINJA=ninja STATIC_LINK=ON BUILD_TYPE=Release FROM alpine:latest COPY --from=builder /src/build/lokinet / +COPY --from=builder /src/build/lokinet-rcutil / diff --git a/llarp/net/address_info.cpp b/llarp/net/address_info.cpp index 1ae3a7c1c..f1e2bd6ad 100644 --- a/llarp/net/address_info.cpp +++ b/llarp/net/address_info.cpp @@ -160,4 +160,17 @@ namespace llarp return stream; } + + void + to_json(nlohmann::json &j, const AddressInfo &a) + { + char tmp[128] = {0}; + inet_ntop(AF_INET6, (void *)&a.ip, tmp, sizeof(tmp)); + + j = nlohmann::json{{"rank", a.rank}, + {"dialect", a.dialect}, + {"pubkey", a.pubkey.ToString()}, + {"in6_addr", tmp}, + {"port", a.port}}; + } } // namespace llarp diff --git a/llarp/net/address_info.hpp b/llarp/net/address_info.hpp index 401571fe6..7bbeaf1b3 100644 --- a/llarp/net/address_info.hpp +++ b/llarp/net/address_info.hpp @@ -52,6 +52,9 @@ namespace llarp }; }; + void + to_json(nlohmann::json& j, const AddressInfo& a); + inline std::ostream& operator<<(std::ostream& out, const AddressInfo& a) { diff --git a/llarp/router_contact.cpp b/llarp/router_contact.cpp index 95c4e3113..469700c52 100644 --- a/llarp/router_contact.cpp +++ b/llarp/router_contact.cpp @@ -163,9 +163,12 @@ namespace llarp util::StatusObject obj{{"lastUpdated", last_updated}, {"exit", IsExit()}, {"publicRouter", IsPublicRouter()}, - {"identity", pubkey.ToString()}}; + {"identity", pubkey.ToString()}, + {"addresses", addrs}}; + if(HasNick()) obj["nickname"] = Nick(); + return obj; }