components/sudo/patches/audit-event.patch
author April Chin <april.chin@oracle.com>
Mon, 15 Apr 2013 14:29:47 -0700
branchs11u1-sru
changeset 2570 40da38c985e9
parent 840 926eb95ceab3
permissions -rw-r--r--
16424604 Upgrade sudo to 1.8.6p7 16424574 problem in UTILITY/SUDO
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     1
au_* calls need correct parameters.
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     2
This legacy auditing will later be replaced by Solaris adt_* calls,
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     3
so in the future, use of bsm_audit.c and configuring --with-bsm-audit will 
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     4
be removed.
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     5
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     6
--- sudo-1.8.6p7.orig/plugins/sudoers/bsm_audit.c	2012-09-18 06:56:29.000000000 -0700
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     7
+++ sudo-1.8.6p7/plugins/sudoers/bsm_audit.c	2013-03-07 10:18:20.309947000 -0800
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     8
@@ -31,8 +31,8 @@
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
     9
 #include <unistd.h>
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    10
 
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    11
 #include "gettext.h"
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    12
-#include "error.h"
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    13
 #include "sudo_debug.h"
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    14
+#include "error.h"
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    15
 #include "bsm_audit.h"
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    16
 
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    17
 /*
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    18
@@ -103,7 +103,7 @@ bsm_audit_success(char **exec_args)
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    19
 		error(1, _("au_open: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    20
 	if (getaudit_addr(&ainfo_addr, sizeof(ainfo_addr)) == 0) {
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    21
 		tok = au_to_subject_ex(auid, geteuid(), getegid(), getuid(),
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    22
-		    getuid(), pid, pid, &ainfo_addr.ai_termid);
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    23
+		    getgid(), pid, ainfo_addr.ai_asid, &ainfo_addr.ai_termid);
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    24
 	} else if (errno == ENOSYS) {
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    25
 		/*
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    26
 		 * NB: We should probably watch out for ERANGE here.
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    27
@@ -111,7 +111,7 @@ bsm_audit_success(char **exec_args)
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    28
 		if (getaudit(&ainfo) < 0)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    29
 			error(1, _("getaudit: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    30
 		tok = au_to_subject(auid, geteuid(), getegid(), getuid(),
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    31
-		    getuid(), pid, pid, &ainfo.ai_termid);
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    32
+		    getgid(), pid, ainfo.ai_asid, &ainfo.ai_termid);
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    33
 	} else
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    34
 		error(1, _("getaudit: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    35
 	if (tok == NULL)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    36
@@ -125,7 +125,7 @@ bsm_audit_success(char **exec_args)
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    37
 	if (tok == NULL)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    38
 		error(1, _("au_to_return32: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    39
 	au_write(aufd, tok);
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    40
-	if (au_close(aufd, 1, AUE_sudo) == -1)
797
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    41
+	if (au_close(aufd, 1, AUE_sudo, PAD_FAILURE) == -1)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    42
 		error(1, _("unable to commit audit record"));
840
926eb95ceab3 7169436 Problem with utility/sudo
April Chin <april.chin@oracle.com>
parents: 797
diff changeset
    43
 	debug_return;
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    44
 }
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    45
@@ -147,7 +147,7 @@ bsm_audit_failure(char **exec_args, char
797
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    46
 	/*
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    47
 	 * If we are not auditing, don't cut an audit record; just return.
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    48
 	 */
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    49
-	if (auditon(A_GETCOND, &au_cond, sizeof(long)) < 0) {
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    50
+	if (auditon(A_GETCOND, (caddr_t)&au_cond, sizeof(long)) < 0) {
ef9656f77cca 7140964 Problem with utility/sudo
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 447
diff changeset
    51
 		if (errno == AUDIT_NOT_CONFIGURED)
840
926eb95ceab3 7169436 Problem with utility/sudo
April Chin <april.chin@oracle.com>
parents: 797
diff changeset
    52
 			debug_return;
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    53
 		error(1, _("Could not determine audit condition"));
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    54
@@ -162,12 +162,12 @@ bsm_audit_failure(char **exec_args, char
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    55
 		error(1, _("au_open: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    56
 	if (getaudit_addr(&ainfo_addr, sizeof(ainfo_addr)) == 0) { 
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    57
 		tok = au_to_subject_ex(auid, geteuid(), getegid(), getuid(),
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    58
-		    getuid(), pid, pid, &ainfo_addr.ai_termid);
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    59
+		    getgid(), pid, ainfo_addr.ai_asid, &ainfo_addr.ai_termid);
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    60
 	} else if (errno == ENOSYS) {
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    61
 		if (getaudit(&ainfo) < 0) 
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    62
 			error(1, _("getaudit: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    63
 		tok = au_to_subject(auid, geteuid(), getegid(), getuid(),
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    64
-		    getuid(), pid, pid, &ainfo.ai_termid);
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    65
+		    getgid(), pid, ainfo.ai_asid, &ainfo.ai_termid);
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    66
 	} else
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    67
 		error(1, _("getaudit: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    68
 	if (tok == NULL)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    69
@@ -186,7 +186,7 @@ bsm_audit_failure(char **exec_args, char
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    70
 	if (tok == NULL)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    71
 		error(1, _("au_to_return32: failed"));
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    72
 	au_write(aufd, tok);
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    73
-	if (au_close(aufd, 1, AUE_sudo) == -1)
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    74
+	if (au_close(aufd, 1, AUE_sudo, PAD_FAILURE) == -1)
2570
40da38c985e9 16424604 Upgrade sudo to 1.8.6p7
April Chin <april.chin@oracle.com>
parents: 840
diff changeset
    75
 		error(1, _("unable to commit audit record"));
840
926eb95ceab3 7169436 Problem with utility/sudo
April Chin <april.chin@oracle.com>
parents: 797
diff changeset
    76
 	debug_return;
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents:
diff changeset
    77
 }