diff -ur audit-3.0.orig/src/aureport-options.c audit-3.0/src/aureport-options.c
--- audit-3.0.orig/src/aureport-options.c 2018-08-31 17:05:48.000000000 -0400
+++ audit-3.0/src/aureport-options.c 2018-12-06 19:31:26.945634371 -0500
@@ -85,7 +85,8 @@
R_AVCS, R_SYSCALLS, R_PIDS, R_EVENTS, R_ACCT_MODS,
R_INTERPRET, R_HELP, R_ANOMALY, R_RESPONSE, R_SUMMARY_DET, R_CRYPTO,
R_MAC, R_FAILED, R_SUCCESS, R_ADD, R_DEL, R_AUTH, R_NODE, R_IN_LOGS,
- R_KEYS, R_TTY, R_NO_CONFIG, R_COMM, R_VIRT, R_INTEG, R_ESCAPE };
+ R_KEYS, R_TTY, R_NO_CONFIG, R_COMM, R_VIRT, R_INTEG, R_ESCAPE,
+ R_DEBUG };
static struct nv_pair optiontab[] = {
{ R_AUTH, "-au" },
@@ -98,6 +99,7 @@
{ R_CONFIGS, "--config" },
{ R_CRYPTO, "-cr" },
{ R_CRYPTO, "--crypto" },
+ { R_DEBUG, "--debug" },
{ R_DEL, "--delete" },
{ R_EVENTS, "-e" },
{ R_EVENTS, "--event" },
@@ -731,6 +733,9 @@
case R_DEL:
event_conf_act = C_DEL;
break;
+ case R_DEBUG:
+ event_debug = 1;
+ break;
case R_IN_LOGS:
force_logs = 1;
break;
diff -ur audit-3.0.orig/src/ausearch-parse.c audit-3.0/src/ausearch-parse.c
--- audit-3.0.orig/src/ausearch-parse.c 2018-08-31 17:05:48.000000000 -0400
+++ audit-3.0/src/ausearch-parse.c 2018-12-06 19:31:26.945634371 -0500
@@ -102,7 +102,8 @@
ret = parse_path(n, s);
break;
case AUDIT_USER:
- case AUDIT_FIRST_USER_MSG...AUDIT_LAST_USER_MSG:
+ case AUDIT_FIRST_USER_MSG...AUDIT_USER_END:
+ case AUDIT_USER_CHAUTHTOK...AUDIT_LAST_USER_MSG:
case AUDIT_FIRST_USER_MSG2...AUDIT_LAST_USER_MSG2:
ret = parse_user(n, s);
break;
@@ -136,6 +137,7 @@
avc_parse_path(n, s);
break;
case AUDIT_AVC:
+ case AUDIT_USER_AVC:
ret = parse_avc(n, s);
break;
case AUDIT_NETFILTER_PKT:
@@ -1867,6 +1869,20 @@
*term = ' ';
}
+ // User AVC's are not formatted like a kernel AVC
+ if (n->type == AUDIT_USER_AVC) {
+ rc = parse_user(n, s);
+ if (rc > 20)
+ rc = 0;
+ if (audit_avc_init(s) == 0) {
+ alist_append(s->avc, &an);
+ } else {
+ rc = 10;
+ goto err;
+ }
+ return rc;
+ }
+
// get pid
if (event_pid != -1) {
str = strstr(term, "pid=");
diff -urp audit-3.0.orig/src/ausearch-parse.c audit-3.0/src/ausearch-parse.c
--- audit-3.0.orig/src/ausearch-parse.c 2018-10-03 19:46:52.000000000 -0400
+++ audit-3.0/src/ausearch-parse.c 2018-12-08 15:48:54.350009208 -0500
@@ -1839,8 +1839,10 @@ static int parse_avc(const lnode *n, sea
if (str) {
str += 5;
term = strchr(str, '{');
- if (term == NULL)
- return 1;
+ if (term == NULL) {
+ term = n->message;
+ goto other_avc;
+ }
if (event_success != S_UNSET) {
*term = 0;
// FIXME. Do not override syscall success if already
@@ -1869,6 +1871,7 @@ static int parse_avc(const lnode *n, sea
*term = ' ';
}
+other_avc:
// User AVC's are not formatted like a kernel AVC
if (n->type == AUDIT_USER_AVC) {
rc = parse_user(n, s);