summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-09-28 15:28:30 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-09-28 15:28:30 -0700
commita7bd1eaa409a5532c30ac5990a32289496d7ed3e (patch)
tree712df044a20f2b8a63c6ea53cf93f69781f36389 /controller
parent2d0adb562d4d710fe8db87ad47a50e334f3fafbf (diff)
downloadinfinitytier-a7bd1eaa409a5532c30ac5990a32289496d7ed3e.tar.gz
infinitytier-a7bd1eaa409a5532c30ac5990a32289496d7ed3e.zip
Never assign v4 IPs ending in .255 even within range.
Diffstat (limited to 'controller')
-rw-r--r--controller/SqliteNetworkController.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index d16c5996..3aa84330 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -1742,6 +1742,8 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c
for(uint32_t k=ipRangeStart,l=0;(k<=ipRangeEnd)&&(l < 1000000);++k,++l) {
uint32_t ip = (ipRangeLen > 0) ? (ipRangeStart + (ipTrialCounter % ipRangeLen)) : ipRangeStart;
++ipTrialCounter;
+ if ((ip & 0x000000ff) == 0x000000ff)
+ continue; // don't allow addresses that end in .255
for(std::vector< std::pair<uint32_t,int> >::const_iterator r(routedNetworks.begin());r!=routedNetworks.end();++r) {
if ((ip & (0xffffffff << (32 - r->second))) == r->first) {