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;