summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-07-23 10:10:17 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-07-23 10:10:17 -0700
commitb3516c599bb0beb4b4827f28da472972344379c6 (patch)
tree91e31229b46539947fd078366e118c4fc27b8c57 /node
parent3ba54c7e3559359abd8d4734aa969829309a9dab (diff)
downloadinfinitytier-b3516c599bb0beb4b4827f28da472972344379c6.tar.gz
infinitytier-b3516c599bb0beb4b4827f28da472972344379c6.zip
Add a rate limiting circuit breaker to the network controller to prevent flooding attacks and race conditions.
Diffstat (limited to 'node')
-rw-r--r--node/IncomingPacket.cpp3
-rw-r--r--node/NetworkController.hpp3
2 files changed, 5 insertions, 1 deletions
diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp
index c3d8cc6d..76c47933 100644
--- a/node/IncomingPacket.cpp
+++ b/node/IncomingPacket.cpp
@@ -717,6 +717,9 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,cons
TRACE("NETWORK_CONFIG_REQUEST failed: internal error: %s",netconf.get("error","(unknown)").c_str());
break;
+ case NetworkController::NETCONF_QUERY_IGNORE:
+ break;
+
default:
TRACE("NETWORK_CONFIG_REQUEST failed: invalid return value from NetworkController::doNetworkConfigRequest()");
break;
diff --git a/node/NetworkController.hpp b/node/NetworkController.hpp
index bef884de..ee481a62 100644
--- a/node/NetworkController.hpp
+++ b/node/NetworkController.hpp
@@ -54,7 +54,8 @@ public:
NETCONF_QUERY_OK = 0,
NETCONF_QUERY_OBJECT_NOT_FOUND = 1,
NETCONF_QUERY_ACCESS_DENIED = 2,
- NETCONF_QUERY_INTERNAL_SERVER_ERROR = 3
+ NETCONF_QUERY_INTERNAL_SERVER_ERROR = 3,
+ NETCONF_QUERY_IGNORE = 4
};
NetworkController() {}