X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Fmisc-progs%2Fipsecctrl.c;h=ae3899619deeb23b4216fa3428a63cb2fee4fc3a;hp=1dd05eaa7316d3e02e4edf6a7619c88c7bf06687;hb=0d181206ca614936a3f8715e78baaf4850c6127b;hpb=734b67d20dd9f27b0214b129929a063d16671fa4 diff --git a/src/misc-progs/ipsecctrl.c b/src/misc-progs/ipsecctrl.c index 1dd05eaa73..ae3899619d 100644 --- a/src/misc-progs/ipsecctrl.c +++ b/src/misc-progs/ipsecctrl.c @@ -141,14 +141,11 @@ int decode_line (char *s, issue ipsec commmands to turn on connection 'name' */ void turn_connection_on (char *name, char *type) { - char command[STRING_SIZE]; - if (file = fopen("/var/run/vpn-watch.pid", "r")) { - safe_system("kill -9 $(cat /var/run/vpn-watch.pid)"); - safe_system("unlink /var/run/vpn-watch.pid"); - close(file); - } +/* + if you find a way to start a single connection without changing all add it + here. Change also vpn-watch. +*/ safe_system("/etc/rc.d/init.d/ipsec restart >/dev/null"); - safe_system("/usr/local/bin/vpn-watch &"); } /* issue ipsec commmands to turn off connection 'name' @@ -181,16 +178,24 @@ int main(int argc, char *argv[]) { if (strcmp(argv[1], "I") == 0) { safe_system("/usr/sbin/ipsec whack --status"); + safe_system("/usr/sbin/ipsec stroke status"); exit(0); } if (strcmp(argv[1], "R") == 0) { safe_system("/usr/sbin/ipsec whack --rereadall >/dev/null"); + safe_system("/usr/sbin/ipsec stroke rereadall >/dev/null"); exit(0); } /* Get vpnwatch pid */ + + if ((argc == 2) && (file = fopen("/var/run/vpn-watch.pid", "r"))) { + safe_system("kill -9 $(cat /var/run/vpn-watch.pid)"); + safe_system("unlink /var/run/vpn-watch.pid"); + close(file); + } /* FIXME: workaround for pclose() issue - still no real idea why * this is happening */ @@ -336,6 +341,8 @@ int main(int argc, char *argv[]) { // start the system if ((argc == 2) && strcmp(argv[1], "S") == 0) { + safe_system("/etc/rc.d/init.d/ipsec restart >/dev/null"); + safe_system("/usr/local/bin/vpn-watch &"); exit(0); }