diff options
author | Grant Limberg <grant.limberg@zerotier.com> | 2018-09-28 10:56:40 -0700 |
---|---|---|
committer | Grant Limberg <grant.limberg@zerotier.com> | 2018-09-28 10:56:40 -0700 |
commit | c1ea1329c1fec8f632711711113e4dcf37ea21da (patch) | |
tree | d4a05942d957e3539cfa5150844157208c6f516d /controller | |
parent | 417aa9547b4f3abb9009a3dbb66ecf93d3d686f7 (diff) | |
parent | 60d5a3c631d2185aaba7ce6da3ce96b37fbd0290 (diff) | |
download | infinitytier-c1ea1329c1fec8f632711711113e4dcf37ea21da.tar.gz infinitytier-c1ea1329c1fec8f632711711113e4dcf37ea21da.zip |
Merge branch 'dev' into libpq
Diffstat (limited to 'controller')
-rw-r--r-- | controller/EmbeddedNetworkController.cpp | 1 | ||||
-rw-r--r-- | controller/FileDB.cpp | 14 |
2 files changed, 14 insertions, 1 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp index e0cea53d..27d7658a 100644 --- a/controller/EmbeddedNetworkController.cpp +++ b/controller/EmbeddedNetworkController.cpp @@ -1043,6 +1043,7 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpDELETE( json network,member; _db->get(nwid,network,address,member); + _db->eraseMember(nwid, address); { std::lock_guard<std::mutex> l(_memberStatus_l); diff --git a/controller/FileDB.cpp b/controller/FileDB.cpp index 8cbd60ce..3f5d46bd 100644 --- a/controller/FileDB.cpp +++ b/controller/FileDB.cpp @@ -136,12 +136,24 @@ void FileDB::eraseNetwork(const uint64_t networkId) get(networkId,network); char p[16384]; OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "%.16llx.json",_networksPath.c_str(),networkId); - OSUtils::rm(p); + + if (OSUtils::fileExists(p,false)){ + OSUtils::rm(p); + } _networkChanged(network,nullJson,true); } void FileDB::eraseMember(const uint64_t networkId,const uint64_t memberId) { + nlohmann::json network,member,nullJson; + get(networkId,network); + get(memberId,member); + char p[16384]; + OSUtils::ztsnprintf(p,sizeof(p),"%s" ZT_PATH_SEPARATOR_S "%.16llx" ZT_PATH_SEPARATOR_S "member" ZT_PATH_SEPARATOR_S "%.10llx.json",_networksPath.c_str(),networkId,memberId); + if (OSUtils::fileExists(p,false)){ + OSUtils::rm(p); + } + _memberChanged(member,nullJson,true); } void FileDB::nodeIsOnline(const uint64_t networkId,const uint64_t memberId,const InetAddress &physicalAddress) |