Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/crypto/dist/ipsec-tools/src/racoon Have privilege separation...



details:   https://anonhg.NetBSD.org/src/rev/2a0db501e4d7
branches:  trunk
changeset: 768220:2a0db501e4d7
user:      tteras <tteras%NetBSD.org@localhost>
date:      Fri Aug 12 05:21:50 2011 +0000

description:
Have privilege separation child process exit if the parent exits.

diffstat:

 crypto/dist/ipsec-tools/src/racoon/privsep.c |  11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diffs (39 lines):

diff -r 9aacef2a44c7 -r 2a0db501e4d7 crypto/dist/ipsec-tools/src/racoon/privsep.c
--- a/crypto/dist/ipsec-tools/src/racoon/privsep.c      Fri Aug 12 05:00:29 2011 +0000
+++ b/crypto/dist/ipsec-tools/src/racoon/privsep.c      Fri Aug 12 05:21:50 2011 +0000
@@ -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;



Home | Main Index | Thread Index | Old Index