summaryrefslogtreecommitdiff
path: root/controller/SqliteNetworkController.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-15 09:32:10 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-15 09:32:10 -0700
commitf693d4d0c8a06970bcd096df73471b4f32a544d8 (patch)
tree241ea486dfd024990db2ce70c798764004a3d5b3 /controller/SqliteNetworkController.cpp
parent0bdd56ebd6711f851ae228d5a1e4c298dae5dc59 (diff)
downloadinfinitytier-f693d4d0c8a06970bcd096df73471b4f32a544d8.tar.gz
infinitytier-f693d4d0c8a06970bcd096df73471b4f32a544d8.zip
Network controller cleanup and an extra sanity check.
Diffstat (limited to 'controller/SqliteNetworkController.cpp')
-rw-r--r--controller/SqliteNetworkController.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index b9aebbb8..71978830 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -243,6 +243,10 @@ NetworkController::ResultCode SqliteNetworkController::doNetworkConfigRequest(co
netconf["error"] = "signing identity invalid or lacks private key";
return NetworkController::NETCONF_QUERY_INTERNAL_SERVER_ERROR;
}
+ if (signingId.address().toInt() != (nwid >> 24)) {
+ netconf["error"] = "signing identity address does not match most significant 40 bits of network ID";
+ return NetworkController::NETCONF_QUERY_INTERNAL_SERVER_ERROR;
+ }
NetworkRecord network;
memset(&network,0,sizeof(network));