From c26b64f24ba32db90fa66dfb7f3801183ef4b770 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 19 Sep 2013 16:16:48 -0400 Subject: [PATCH] Fix for netconf advertising of multicast propagation parameters, and defaults in Network.hpp. --- netconf-service/netconf.cpp | 4 ++-- node/Network.hpp | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/netconf-service/netconf.cpp b/netconf-service/netconf.cpp index a4f225278..a7e1f257f 100644 --- a/netconf-service/netconf.cpp +++ b/netconf-service/netconf.cpp @@ -298,9 +298,9 @@ int main(int argc,char **argv) netconf["ts"] = buf; netconf["peer"] = peerIdentity.address().toString(); sprintf(buf,"%x",mcb); - netconf["mcb"] = mcb; + netconf["mcb"] = buf; sprintf(buf,"%x",mcd); - netconf["mcd"] = mcd; + netconf["mcd"] = buf; if (!isOpen) { // TODO: handle closed networks, look up private membership, diff --git a/node/Network.hpp b/node/Network.hpp index 3e428ac27..299c4a6dc 100644 --- a/node/Network.hpp +++ b/node/Network.hpp @@ -325,7 +325,10 @@ public: const_iterator mcb(find("mcb")); if (mcb == end()) return ZT_MULTICAST_DEFAULT_PROPAGATION_BREADTH; - return Utils::hexStrToUInt(mcb->second.c_str()); + unsigned int mcb2 = Utils::hexStrToUInt(mcb->second.c_str()); + if (mcb2) + return mcb2; + return ZT_MULTICAST_DEFAULT_PROPAGATION_BREADTH; } /** @@ -336,7 +339,10 @@ public: const_iterator mcd(find("mcd")); if (mcd == end()) return ZT_MULTICAST_DEFAULT_PROPAGATION_DEPTH; - return Utils::hexStrToUInt(mcd->second.c_str()); + unsigned int mcd2 = Utils::hexStrToUInt(mcd->second.c_str()); + if (mcd2) + return mcd2; + return ZT_MULTICAST_DEFAULT_PROPAGATION_DEPTH; } /**