mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-01-18 18:56:24 +00:00
Generalize unlink to OS-dep code in Utils, just a little prep for Windows port.
This commit is contained in:
parent
8a46452a70
commit
86056fdbd9
@ -111,8 +111,8 @@ Network::~Network()
|
||||
if (_destroyOnDelete) {
|
||||
std::string confPath(_r->homePath + ZT_PATH_SEPARATOR_S + "networks.d" + ZT_PATH_SEPARATOR_S + toString() + ".conf");
|
||||
std::string mcdbPath(_r->homePath + ZT_PATH_SEPARATOR_S + "networks.d" + ZT_PATH_SEPARATOR_S + toString() + ".mcerts");
|
||||
unlink(confPath.c_str());
|
||||
unlink(mcdbPath.c_str());
|
||||
Utils::rm(confPath);
|
||||
Utils::rm(mcdbPath);
|
||||
} else {
|
||||
// Causes flush of membership certs to disk
|
||||
clean();
|
||||
@ -204,7 +204,7 @@ void Network::clean()
|
||||
Mutex::Lock _l(_lock);
|
||||
if (_configuration.isOpen()) {
|
||||
_membershipCertificates.clear();
|
||||
unlink(mcdbPath.c_str());
|
||||
Utils::rm(mcdbPath);
|
||||
} else {
|
||||
FILE *mcdb = fopen(mcdbPath.c_str(),"wb");
|
||||
bool writeError = false;
|
||||
@ -236,7 +236,7 @@ void Network::clean()
|
||||
if (mcdb)
|
||||
fclose(mcdb);
|
||||
if (writeError) {
|
||||
unlink(mcdbPath.c_str());
|
||||
Utils::rm(mcdbPath);
|
||||
LOG("error: unable to write to membership cert database at: %s",mcdbPath.c_str());
|
||||
}
|
||||
}
|
||||
|
@ -339,8 +339,8 @@ Node::ReasonForTermination Node::run()
|
||||
Utils::lockDownFile(identitySecretPath.c_str(),false);
|
||||
|
||||
// Clean up some obsolete files if present -- this will be removed later
|
||||
unlink((_r->homePath + ZT_PATH_SEPARATOR_S + "status").c_str());
|
||||
unlink((_r->homePath + ZT_PATH_SEPARATOR_S + "thisdeviceismine").c_str());
|
||||
Utils::rm((_r->homePath + ZT_PATH_SEPARATOR_S + "status"));
|
||||
Utils::rm((_r->homePath + ZT_PATH_SEPARATOR_S + "thisdeviceismine"));
|
||||
|
||||
// Make sure networks.d exists
|
||||
mkdir((_r->homePath + ZT_PATH_SEPARATOR_S + "networks.d").c_str(),0700);
|
||||
|
@ -43,6 +43,12 @@
|
||||
#include "../ext/lz4/lz4.h"
|
||||
#include "../ext/lz4/lz4hc.h"
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "Constants.hpp"
|
||||
|
||||
/**
|
||||
@ -58,6 +64,27 @@ namespace ZeroTier {
|
||||
class Utils
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Delete a file
|
||||
*
|
||||
* @param path Path to delete
|
||||
* @return True if delete was successful
|
||||
*/
|
||||
static inline bool rm(const char *path)
|
||||
throw()
|
||||
{
|
||||
#ifdef __WINDOWS__
|
||||
foo;
|
||||
#else
|
||||
return (unlink(path) == 0);
|
||||
#endif
|
||||
}
|
||||
static inline bool rm(const std::string &path)
|
||||
throw()
|
||||
{
|
||||
return rm(path.c_str());
|
||||
}
|
||||
|
||||
/**
|
||||
* List a directory's contents
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user