mirror of https://github.com/oxen-io/lokinet
router version
This commit is contained in:
parent
227926a525
commit
f728e6016b
|
@ -214,6 +214,7 @@ set(LIB_SRC
|
|||
router/router.cpp
|
||||
router_contact.cpp
|
||||
router_id.cpp
|
||||
router_version.cpp
|
||||
routing/dht_message.cpp
|
||||
routing/handler.cpp
|
||||
routing/message_parser.cpp
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include <constants/version.hpp>
|
||||
#include <constants/version.h>
|
||||
#include <constants/proto.hpp>
|
||||
|
||||
// clang-format off
|
||||
#define LLARP_STRINGIFY2(val) #val
|
||||
#define LLARP_STRINGIFY(val) LLARP_STRINGIFY2(val)
|
||||
|
||||
|
@ -10,6 +12,7 @@
|
|||
namespace llarp
|
||||
{
|
||||
const std::array<uint16_t, 3> VERSION{{LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH}};
|
||||
const std::array<uint64_t, 4> ROUTER_VERSION{{LLARP_PROTO_VERSION, LLARP_VERSION_MAJ, LLARP_VERSION_MIN, LLARP_VERSION_PATCH}};
|
||||
const char* const VERSION_STR = LLARP_VERSION_STR;
|
||||
const char* const VERSION_TAG = "@VERSIONTAG@";
|
||||
const char* const VERSION_FULL = LLARP_NAME "-" LLARP_VERSION_STR "-@VERSIONTAG@";
|
||||
|
|
|
@ -6,10 +6,11 @@
|
|||
namespace llarp
|
||||
{
|
||||
// Given a full lokinet version of: lokinet-1.2.3-abc these are:
|
||||
extern const std::array< uint16_t, 3 > VERSION; // [1, 2, 3]
|
||||
extern const char* const VERSION_STR; // "1.2.3"
|
||||
extern const char* const VERSION_TAG; // "abc"
|
||||
extern const char* const VERSION_FULL; // "lokinet-1.2.3-abc"
|
||||
extern const std::array< uint16_t, 3 > VERSION; // [1, 2, 3]
|
||||
extern const std::array< uint64_t, 4 > ROUTER_VERSION; // [proto, 1, 2, 3]
|
||||
extern const char* const VERSION_STR; // "1.2.3"
|
||||
extern const char* const VERSION_TAG; // "abc"
|
||||
extern const char* const VERSION_FULL; // "lokinet-1.2.3-abc"
|
||||
|
||||
extern const char* const RELEASE_MOTTO;
|
||||
extern const char* const DEFAULT_NETID;
|
||||
|
|
|
@ -919,6 +919,11 @@ namespace llarp
|
|||
|
||||
// set public signing key
|
||||
_rc.pubkey = seckey_topublic(identity());
|
||||
// set router version if service node
|
||||
if(IsServiceNode())
|
||||
{
|
||||
_rc.routerVersion = RouterVersion(llarp::ROUTER_VERSION);
|
||||
}
|
||||
|
||||
AddressInfo ai;
|
||||
_linkManager.ForEachInboundLink([&](LinkLayer_ptr link) {
|
||||
|
|
|
@ -126,7 +126,12 @@ namespace llarp
|
|||
return false;
|
||||
if(!enckey.BEncode(buf))
|
||||
return false;
|
||||
|
||||
// write router version if present
|
||||
if(routerVersion.has_value())
|
||||
{
|
||||
if(not BEncodeWriteDictEntry("r", routerVersion.value(), buf))
|
||||
return false;
|
||||
}
|
||||
/* write last updated */
|
||||
if(!bencode_write_bytestring(buf, "u", 1))
|
||||
return false;
|
||||
|
@ -160,7 +165,8 @@ namespace llarp
|
|||
nickname.Zero();
|
||||
enckey.Zero();
|
||||
pubkey.Zero();
|
||||
last_updated = 0;
|
||||
routerVersion = absl::optional< RouterVersion >{};
|
||||
last_updated = 0;
|
||||
}
|
||||
|
||||
util::StatusObject
|
||||
|
@ -176,7 +182,10 @@ namespace llarp
|
|||
{
|
||||
obj["nickname"] = Nick();
|
||||
}
|
||||
|
||||
if(routerVersion.has_value())
|
||||
{
|
||||
obj["routerVersion"] = routerVersion->ToString();
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
@ -193,6 +202,15 @@ namespace llarp
|
|||
if(!BEncodeMaybeReadDictEntry("k", pubkey, read, key, buf))
|
||||
return false;
|
||||
|
||||
if(key == "r")
|
||||
{
|
||||
RouterVersion r;
|
||||
if(not r.BDecode(buf))
|
||||
return false;
|
||||
routerVersion = r;
|
||||
return true;
|
||||
}
|
||||
|
||||
if(key == "n")
|
||||
{
|
||||
llarp_buffer_t strbuf;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include <util/aligned.hpp>
|
||||
#include <util/bencode.hpp>
|
||||
#include <util/status.hpp>
|
||||
#include <router_version.hpp>
|
||||
|
||||
#include <functional>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
@ -104,6 +105,7 @@ namespace llarp
|
|||
|
||||
uint64_t last_updated = 0;
|
||||
uint64_t version = LLARP_PROTO_VERSION;
|
||||
absl::optional< RouterVersion > routerVersion;
|
||||
|
||||
util::StatusObject
|
||||
ExtractStatus() const;
|
||||
|
|
Loading…
Reference in New Issue