openvpn: Move remving files in /var/run to openvpnctrl

This commit is contained in:
Michael Tremer
2015-04-10 13:27:32 +02:00
parent 831a5ef6ad
commit 187590f791
2 changed files with 19 additions and 18 deletions

View File

@@ -1237,9 +1237,6 @@ SETTINGS_ERROR:
while ($file = glob("${General::swroot}/ovpn/n2nconf/*")) {
system ("rm -rf $file");
}
while ($file = glob("/var/run/openvpn/*-n2n")) {
unlink $file;
}
# Remove everything from the collectd configuration
&writecollectdconf();
@@ -2362,8 +2359,6 @@ else
if (-e "${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]") {
rmdir ("${General::swroot}/ovpn/n2nconf/$confighash{$cgiparams{'KEY'}}[1]") || die "Kann Verzeichnis nicht loeschen: $!";
}
unlink("/var/run/openvpn/$confighash{$cgiparams{'KEY'}}[1]-n2n");
}
unlink ("${General::swroot}/ovpn/certs/$confighash{$cgiparams{'KEY'}}[1]cert.pem");

View File

@@ -46,6 +46,18 @@ struct connection_struct {
typedef struct connection_struct connection;
static int recursive_remove_callback(const char* fpath, const struct stat* sb, int typeflag, struct FTW* ftwbuf) {
int rv = remove(fpath);
if (rv)
perror(fpath);
return rv;
}
static int recursive_remove(const char* path) {
return nftw(path, recursive_remove_callback, 64, FTW_DEPTH | FTW_PHYS);
}
void exithandler(void)
{
if(kv)
@@ -539,6 +551,7 @@ int startNet2Net(char *name) {
int killNet2Net(char *name) {
connection *conn = NULL;
connection *conn_iter;
int rc = 0;
conn_iter = getConnections();
@@ -571,22 +584,15 @@ int killNet2Net(char *name) {
snprintf(command, STRING_SIZE - 1, "/bin/rm -f %s", pidfile);
executeCommand(command);
char runfile[STRING_SIZE];
snprintf(runfile, STRING_SIZE - 1, "/var/run/openvpn/%s-n2n", conn->name);
rc = recursive_remove(runfile);
if (rc)
perror(runfile);
return 0;
}
static int recursive_remove_callback(const char* fpath, const struct stat* sb, int typeflag, struct FTW* ftwbuf) {
int rv = remove(fpath);
if (rv)
perror(fpath);
return rv;
}
static int recursive_remove(const char* path) {
return nftw(path, recursive_remove_callback, 64, FTW_DEPTH | FTW_PHYS);
}
int deleterrd(char *name) {
char rrd_dir[STRING_SIZE];