diff --git a/Daemon.cpp b/Daemon.cpp
index 81bbcdd5..2a32ff04 100644
--- a/Daemon.cpp
+++ b/Daemon.cpp
@@ -189,6 +189,7 @@ namespace i2p
std::string family; i2p::config::GetOption("family", family);
i2p::context.SetFamily (family);
+ i2p::context.SetFamilyString (family);
if (family.length () > 0)
LogPrint(eLogInfo, "Daemon: family set to ", family);
diff --git a/HTTPServer.cpp b/HTTPServer.cpp
index 6c2c6112..08b67e22 100644
--- a/HTTPServer.cpp
+++ b/HTTPServer.cpp
@@ -417,6 +417,7 @@ namespace util
default: s << "Unknown";
}
s << "
\r\n";
+ s << "Family: " << i2p::context.GetFamilyString() << "
\r\n";
s << "Tunnel creation success rate: " << i2p::tunnel::tunnels.GetTunnelCreationSuccessRate () << "%
\r\n";
s << "Received: ";
s << std::fixed << std::setprecision(2);
diff --git a/RouterContext.cpp b/RouterContext.cpp
index f35d8426..29891169 100644
--- a/RouterContext.cpp
+++ b/RouterContext.cpp
@@ -149,6 +149,19 @@ namespace i2p
UpdateRouterInfo ();
}
+ void RouterContext::SetFamilyString (const std::string& family)
+ {
+ if (family.length() > 0)
+ m_FamilyString = family;
+ else
+ m_FamilyString = "<undefined>";
+ }
+
+ std::string RouterContext::GetFamilyString () const
+ {
+ return m_FamilyString;
+ }
+
void RouterContext::SetFamily (const std::string& family)
{
std::string signature;
diff --git a/RouterContext.h b/RouterContext.h
index 9766c66e..def89383 100644
--- a/RouterContext.h
+++ b/RouterContext.h
@@ -59,6 +59,8 @@ namespace i2p
bool IsFloodfill () const { return m_IsFloodfill; };
void SetFloodfill (bool floodfill);
void SetFamily (const std::string& family);
+ void SetFamilyString (const std::string& family);
+ std::string GetFamilyString () const;
void SetBandwidth (int limit); /* in kilobytes */
void SetBandwidth (char L); /* by letter */
bool AcceptsTunnels () const { return m_AcceptsTunnels; };
@@ -100,6 +102,7 @@ namespace i2p
i2p::data::PrivateKeys m_Keys;
uint64_t m_LastUpdateTime;
bool m_AcceptsTunnels, m_IsFloodfill;
+ std::string m_FamilyString;
uint64_t m_StartupTime; // in seconds since epoch
uint32_t m_BandwidthLimit; // allowed bandwidth
RouterStatus m_Status;