mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-12 20:28:27 +00:00
More cleanup.
This commit is contained in:
@ -100,15 +100,28 @@ Network::Network(const RuntimeEnvironment *renv,uint64_t nwid) :
|
||||
|
||||
Network::~Network()
|
||||
{
|
||||
char n[128];
|
||||
if (_destroyed) {
|
||||
char n[128];
|
||||
Utils::snprintf(n,sizeof(n),"networks.d/%.16llx.conf",_id);
|
||||
RR->node->dataStoreDelete(n);
|
||||
Utils::snprintf(n,sizeof(n),"networks.d/%.16llx.mcerts",_id);
|
||||
RR->node->dataStoreDelete(n);
|
||||
} else {
|
||||
clean();
|
||||
_dumpMembershipCerts();
|
||||
|
||||
std::string buf("ZTMCD0");
|
||||
Utils::snprintf(n,sizeof(n),"networks.d/%.16llx.mcerts",_id);
|
||||
Mutex::Lock _l(_lock);
|
||||
|
||||
if ((!_config)||(_config.isPublic())||(_membershipCertificates.size() == 0)) {
|
||||
RR->node->dataStoreDelete(n);
|
||||
return;
|
||||
}
|
||||
|
||||
for(std::map<Address,CertificateOfMembership>::iterator c(_membershipCertificates.begin());c!=_membershipCertificates.end();++c)
|
||||
c->second.serialize2(buf);
|
||||
|
||||
RR->node->dataStorePut(n,buf,true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -420,24 +433,4 @@ void Network::destroy()
|
||||
_tap = (EthernetTap *)0;
|
||||
}
|
||||
|
||||
void Network::_dumpMembershipCerts()
|
||||
{
|
||||
char n[128];
|
||||
std::string buf("ZTMCD0");
|
||||
|
||||
Utils::snprintf(n,sizeof(n),"networks.d/%.16llx.mcerts",_id);
|
||||
|
||||
Mutex::Lock _l(_lock);
|
||||
|
||||
if ((!_config)||(_config.isPublic())||(_membershipCertificates.size() == 0)) {
|
||||
RR->node->dataStoreDelete(n);
|
||||
return;
|
||||
}
|
||||
|
||||
for(std::map<Address,CertificateOfMembership>::iterator c(_membershipCertificates.begin());c!=_membershipCertificates.end();++c)
|
||||
c->second.serialize2(buf);
|
||||
|
||||
RR->node->dataStorePut(n,buf,true);
|
||||
}
|
||||
|
||||
} // namespace ZeroTier
|
||||
|
Reference in New Issue
Block a user