Blame audit-1.7.11-session.patch
|
Steve Grubb |
69c5ec |
Index: /trunk/src/auditd.c
|
|
Steve Grubb |
69c5ec |
===================================================================
|
|
Steve Grubb |
69c5ec |
--- /trunk/src/auditd.c (revision 160)
|
|
Steve Grubb |
69c5ec |
+++ /trunk/src/auditd.c (revision 213)
|
|
Steve Grubb |
69c5ec |
@@ -305,12 +305,14 @@
|
|
Steve Grubb |
69c5ec |
/* Open stdin,out,err to /dev/null */
|
|
Steve Grubb |
69c5ec |
fd = open("/dev/null", O_RDWR);
|
|
Steve Grubb |
69c5ec |
- if (fd < 0)
|
|
Steve Grubb |
69c5ec |
+ if (fd < 0) {
|
|
Steve Grubb |
69c5ec |
+ audit_msg(LOG_ERR, "Cannot open /dev/null");
|
|
Steve Grubb |
69c5ec |
return -1;
|
|
Steve Grubb |
69c5ec |
- if (dup2(fd, 0) < 0)
|
|
Steve Grubb |
69c5ec |
+ }
|
|
Steve Grubb |
69c5ec |
+ if ((dup2(fd, 0) < 0) || (dup2(fd, 1) < 0) ||
|
|
Steve Grubb |
69c5ec |
+ (dup2(fd, 2) < 0)) {
|
|
Steve Grubb |
69c5ec |
+ audit_msg(LOG_ERR,
|
|
Steve Grubb |
69c5ec |
+ "Cannot reassign descriptors to /dev/null");
|
|
Steve Grubb |
69c5ec |
return -1;
|
|
Steve Grubb |
69c5ec |
- if (dup2(fd, 1) < 0)
|
|
Steve Grubb |
69c5ec |
- return -1;
|
|
Steve Grubb |
69c5ec |
- if (dup2(fd, 2) < 0)
|
|
Steve Grubb |
69c5ec |
- return -1;
|
|
Steve Grubb |
69c5ec |
+ }
|
|
Steve Grubb |
69c5ec |
close(fd);
|
|
Steve Grubb |
69c5ec |
|
|
Steve Grubb |
69c5ec |
@@ -318,7 +320,6 @@
|
|
Steve Grubb |
69c5ec |
chdir("/");
|
|
Steve Grubb |
69c5ec |
|
|
Steve Grubb |
69c5ec |
- /* Change session */
|
|
Steve Grubb |
69c5ec |
- if (setsid() < 0)
|
|
Steve Grubb |
69c5ec |
- return -1;
|
|
Steve Grubb |
69c5ec |
+ /* Become session/process group leader */
|
|
Steve Grubb |
69c5ec |
+ setsid();
|
|
Steve Grubb |
69c5ec |
break;
|
|
Steve Grubb |
69c5ec |
case -1:
|