summaryrefslogtreecommitdiff
path: root/node/InetAddress.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-19 15:19:04 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-19 15:19:04 -0700
commitcfdcce6d1299b4bc407b9b44c0abb55c5ea9f4b5 (patch)
tree3a3df9370ef780ca7b586e13f9b994f8835bb573 /node/InetAddress.cpp
parent0b2e5ed499aea0076caa2dc1d8784796e54da538 (diff)
downloadinfinitytier-cfdcce6d1299b4bc407b9b44c0abb55c5ea9f4b5.tar.gz
infinitytier-cfdcce6d1299b4bc407b9b44c0abb55c5ea9f4b5.zip
Fix very obscure IP scope classification logic bug.
Diffstat (limited to 'node/InetAddress.cpp')
-rw-r--r--node/InetAddress.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp
index e542f0d4..abb46240 100644
--- a/node/InetAddress.cpp
+++ b/node/InetAddress.cpp
@@ -77,14 +77,12 @@ InetAddress::IpScope InetAddress::ipScope() const
if ((ip & 0xffff0000) == 0xc0a80000) return IP_SCOPE_PRIVATE; // 192.168.0.0/16
break;
case 0xff: return IP_SCOPE_NONE; // 255.0.0.0/8 (broadcast, or unused/unusable)
- default:
- switch(ip >> 28) {
- case 0xe: return IP_SCOPE_MULTICAST; // 224.0.0.0/4
- case 0xf: return IP_SCOPE_PSEUDOPRIVATE; // 240.0.0.0/4 ("reserved," usually unusable)
- default: return IP_SCOPE_GLOBAL; // everything else
- }
- break;
}
+ switch(ip >> 28) {
+ case 0xe: return IP_SCOPE_MULTICAST; // 224.0.0.0/4
+ case 0xf: return IP_SCOPE_PSEUDOPRIVATE; // 240.0.0.0/4 ("reserved," usually unusable)
+ }
+ return IP_SCOPE_GLOBAL;
} break;
case AF_INET6: {