|
1 |
| ---- sudo-1.8.20p2/plugins/sudoers/bsm_audit.c Sun Jul 9 12:35:16 2017 |
2 |
| -+++ sudo-1.8.20p2/plugins/sudoers/bsm_audit.c Sun Jul 9 12:34:08 2017 |
3 |
| -@@ -34,6 +34,7 @@ |
4 |
| - |
| 1 | +diff -pruN '--exclude=*.orig' sudo-1.8.21p2~/plugins/sudoers/bsm_audit.c sudo-1.8.21p2/plugins/sudoers/bsm_audit.c |
| 2 | +--- sudo-1.8.21p2~/plugins/sudoers/bsm_audit.c 2017-08-23 20:07:28.000000000 +0000 |
| 3 | ++++ sudo-1.8.21p2/plugins/sudoers/bsm_audit.c 2017-12-03 17:16:10.173597057 +0000 |
| 4 | +@@ -35,6 +35,8 @@ |
5 | 5 | #include "sudoers.h"
|
6 | 6 | #include "bsm_audit.h"
|
| 7 | + |
7 | 8 | +#define AUE_sudo 6650
|
8 |
| - |
| 9 | ++ |
9 | 10 | /*
|
10 | 11 | * Solaris auditon() returns EINVAL if BSM audit not configured.
|
11 |
| -@@ -163,11 +164,7 @@ |
| 12 | + * OpenBSM returns ENOSYS for unimplemented options. |
| 13 | +@@ -140,7 +142,7 @@ bsm_audit_success(char *exec_args[]) |
| 14 | + pid = getpid(); |
| 15 | + if (getaudit_addr(&ainfo_addr, sizeof(ainfo_addr)) == 0) { |
| 16 | + tok = au_to_subject_ex(auid, geteuid(), getegid(), getuid(), |
| 17 | +- getuid(), pid, pid, &ainfo_addr.ai_termid); |
| 18 | ++ getuid(), pid, ainfo_addr.ai_asid, &ainfo_addr.ai_termid); |
| 19 | + #ifdef BSM_AUDIT_COMPAT |
| 20 | + } else if (errno == ENOSYS) { |
| 21 | + /* |
| 22 | +@@ -151,7 +153,7 @@ bsm_audit_success(char *exec_args[]) |
| 23 | + debug_return_int(-1); |
| 24 | + } |
| 25 | + tok = au_to_subject(auid, geteuid(), getegid(), getuid(), |
| 26 | +- getuid(), pid, pid, &ainfo.ai_termid); |
| 27 | ++ getuid(), pid, ainfo_addr.ai_asid, &ainfo.ai_termid); |
| 28 | + #endif /* BSM_AUDIT_COMPAT */ |
| 29 | + } else { |
| 30 | + sudo_warn("getaudit_addr"); |
| 31 | +@@ -174,7 +176,7 @@ bsm_audit_success(char *exec_args[]) |
12 | 32 | debug_return_int(-1);
|
13 | 33 | }
|
14 | 34 | au_write(aufd, tok);
|
15 | 35 | -#ifdef __sun
|
16 |
| -- if (au_close(aufd, 1, sudo_audit_event, 0) == -1) |
17 |
| --#else |
| 36 | ++#ifndef __sun |
| 37 | + if (au_close(aufd, 1, sudo_audit_event, 0) == -1) |
| 38 | + #else |
18 | 39 | if (au_close(aufd, 1, sudo_audit_event) == -1)
|
19 |
| --#endif |
20 |
| - { |
21 |
| - sudo_warn(U_("unable to commit audit record")); |
22 |
| - debug_return_int(-1); |
23 |
| -@@ -251,11 +248,7 @@ |
| 40 | +@@ -226,7 +228,7 @@ bsm_audit_failure(char *exec_args[], cha |
| 41 | + pid = getpid(); |
| 42 | + if (getaudit_addr(&ainfo_addr, sizeof(ainfo_addr)) == 0) { |
| 43 | + tok = au_to_subject_ex(auid, geteuid(), getegid(), getuid(), |
| 44 | +- getuid(), pid, pid, &ainfo_addr.ai_termid); |
| 45 | ++ getuid(), pid, ainfo_addr.ai_asid, &ainfo_addr.ai_termid); |
| 46 | + #ifdef BSM_AUDIT_COMPAT |
| 47 | + } else if (errno == ENOSYS) { |
| 48 | + if (getaudit(&ainfo) < 0) { |
| 49 | +@@ -234,7 +236,7 @@ bsm_audit_failure(char *exec_args[], cha |
| 50 | + debug_return_int(-1); |
| 51 | + } |
| 52 | + tok = au_to_subject(auid, geteuid(), getegid(), getuid(), |
| 53 | +- getuid(), pid, pid, &ainfo.ai_termid); |
| 54 | ++ getuid(), pid, ainfo_addr.ai_asid, &ainfo.ai_termid); |
| 55 | + #endif /* BSM_AUDIT_COMPAT */ |
| 56 | + } else { |
| 57 | + sudo_warn("getaudit_addr"); |
| 58 | +@@ -264,7 +266,7 @@ bsm_audit_failure(char *exec_args[], cha |
24 | 59 | debug_return_int(-1);
|
25 | 60 | }
|
26 | 61 | au_write(aufd, tok);
|
27 | 62 | -#ifdef __sun
|
28 |
| -- if (au_close(aufd, 1, sudo_audit_event, PAD_FAILURE) == -1) |
29 |
| --#else |
| 63 | ++#ifndef __sun |
| 64 | + if (au_close(aufd, 1, sudo_audit_event, PAD_FAILURE) == -1) |
| 65 | + #else |
30 | 66 | if (au_close(aufd, 1, sudo_audit_event) == -1)
|
31 |
| --#endif |
32 |
| - { |
33 |
| - sudo_warn(U_("unable to commit audit record")); |
34 |
| - debug_return_int(-1); |
|
0 commit comments