summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-09-19 16:16:48 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-09-19 16:16:48 -0400
commitc26b64f24ba32db90fa66dfb7f3801183ef4b770 (patch)
tree594ed321146508afede307da6466e64ac0ac4cd8
parent795f41c331a8ba15fbeb6f89d2c3349ceeda8b58 (diff)
downloadinfinitytier-c26b64f24ba32db90fa66dfb7f3801183ef4b770.tar.gz
infinitytier-c26b64f24ba32db90fa66dfb7f3801183ef4b770.zip
Fix for netconf advertising of multicast propagation parameters, and defaults in Network.hpp.
-rw-r--r--netconf-service/netconf.cpp4
-rw-r--r--node/Network.hpp10
2 files changed, 10 insertions, 4 deletions
diff --git a/netconf-service/netconf.cpp b/netconf-service/netconf.cpp
index a4f22527..a7e1f257 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 3e428ac2..299c4a6d 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;
}
/**