Module Name: src
Committed By: tteras
Date: Fri Aug 12 05:21:50 UTC 2011
Modified Files:
src/crypto/dist/ipsec-tools/src/racoon: privsep.c
Log Message:
Have privilege separation child process exit if the parent exits.
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/crypto/dist/ipsec-tools/src/racoon/privsep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/dist/ipsec-tools/src/racoon/privsep.c
diff -u src/crypto/dist/ipsec-tools/src/racoon/privsep.c:1.21 src/crypto/dist/ipsec-tools/src/racoon/privsep.c:1.22
--- src/crypto/dist/ipsec-tools/src/racoon/privsep.c:1.21 Sun Mar 6 08:28:10 2011
+++ src/crypto/dist/ipsec-tools/src/racoon/privsep.c Fri Aug 12 05:21:50 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: privsep.c,v 1.21 2011/03/06 08:28:10 tteras Exp $ */
+/* $NetBSD: privsep.c,v 1.22 2011/08/12 05:21:50 tteras Exp $ */
/* Id: privsep.c,v 1.15 2005/08/08 11:23:44 vanhu Exp */
@@ -67,6 +67,7 @@
#include "admin.h"
#include "sockmisc.h"
#include "privsep.h"
+#include "session.h"
static int privsep_sock[2] = { -1, -1 };
@@ -193,6 +194,13 @@
return 0;
}
+static int
+privsep_do_exit(void *ctx, int fd)
+{
+ kill(getpid(), SIGTERM);
+ return 0;
+}
+
int
privsep_init(void)
{
@@ -273,6 +281,7 @@
strerror(errno));
return -1;
}
+ monitor_fd(privsep_sock[1], privsep_do_exit, NULL, 0);
return 0;
break;