More cleanup.
This commit is contained in:
parent
1f28ce3980
commit
0214dbc277
2 changed files with 15 additions and 32 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue