summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKees Bos <k.bos@capitar.com>2015-06-11 12:20:52 +0200
committerKees Bos <k.bos@capitar.com>2015-06-11 12:20:52 +0200
commit7a55c6b388740f2dde67ae69011519147b06f3b6 (patch)
tree94cb6dbbc71af256b23e75ebbed1d2d9f8864221
parentc2ce018202c626ac25b821a1fe2c27edb7877411 (diff)
downloadinfinitytier-7a55c6b388740f2dde67ae69011519147b06f3b6.tar.gz
infinitytier-7a55c6b388740f2dde67ae69011519147b06f3b6.zip
Return 404 on delete if network member is missing (controller)
-rw-r--r--controller/SqliteNetworkController.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index f7604b15..67fe1f9d 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -1005,6 +1005,12 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpDELETE(
char addrs[24];
Utils::snprintf(addrs,sizeof(addrs),"%.10llx",address);
+ sqlite3_reset(_sGetMember);
+ sqlite3_bind_text(_sGetMember,1,nwids,16,SQLITE_STATIC);
+ sqlite3_bind_text(_sGetMember,2,addrs,10,SQLITE_STATIC);
+ if (sqlite3_step(_sGetMember) != SQLITE_ROW)
+ return 404;
+
sqlite3_reset(_sDeleteIpAllocations);
sqlite3_bind_text(_sDeleteIpAllocations,1,nwids,16,SQLITE_STATIC);
sqlite3_bind_text(_sDeleteIpAllocations,2,addrs,10,SQLITE_STATIC);