Browse Source

Merge pull request #822 from dschulz/controller-patch1-dschulz

Add functionality to erase members from networks using file backend i…
pull/1/head
Adam Ierymenko 8 years ago committed by GitHub
parent
commit
7a42416a78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      controller/EmbeddedNetworkController.cpp
  2. 14
      controller/FileDB.cpp

1
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);

14
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)

Loading…
Cancel
Save