summaryrefslogtreecommitdiff
path: root/node/NetworkConfig.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-06-02 12:49:36 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-06-02 12:49:36 -0700
commit3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8 (patch)
treeca93fd3ca8dc6fb9afffcc78b0167a3c6d204eec /node/NetworkConfig.cpp
parentf0be5e814eb0c9496d6c163e2d5bc213e7b483c4 (diff)
parent79efceb57bd71e91f5733dc4c54b3213a3f95636 (diff)
downloadinfinitytier-3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8.tar.gz
infinitytier-3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8.zip
Merge branch 'adamierymenko-dev' into android-jni
Diffstat (limited to 'node/NetworkConfig.cpp')
-rw-r--r--node/NetworkConfig.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp
index 82e986e2..4b9620a6 100644
--- a/node/NetworkConfig.cpp
+++ b/node/NetworkConfig.cpp
@@ -184,9 +184,11 @@ void NetworkConfig::_fromDictionary(const Dictionary &d)
std::vector<std::string> relaysSplit(Utils::split(d.get(ZT_NETWORKCONFIG_DICT_KEY_RELAYS,"").c_str(),",","",""));
for(std::vector<std::string>::const_iterator r(relaysSplit.begin());r!=relaysSplit.end();++r) {
std::size_t semi(r->find(';')); // address;ip/port,...
- if ((semi == ZT_ADDRESS_LENGTH)&&(r->length() > (ZT_ADDRESS_LENGTH + 1))) {
- std::pair<Address,InetAddress> relay(Address(r->substr(0,semi)),InetAddress(r->substr(semi+1)));
- if ((relay.first)&&(relay.second))
+ if (semi == ZT_ADDRESS_LENGTH_HEX) {
+ std::pair<Address,InetAddress> relay(
+ Address(r->substr(0,semi)),
+ ((r->length() > (semi + 1)) ? InetAddress(r->substr(semi + 1)) : InetAddress()) );
+ if ((relay.first)&&(!relay.first.isReserved()))
_relays.push_back(relay);
}
}