--- apparmor-2.3+1289.orig/libraries/libapparmor/src/scanner.l +++ apparmor-2.3+1289/libraries/libapparmor/src/scanner.l @@ -297,6 +297,8 @@ {null_complain} { return(TOK_NULL_COMPLAIN); } {key_image} { BEGIN(sub_id); return(TOK_KEY_IMAGE); } +. { /* ignore any non-matched input */ } + { {ws}+ { /* eat whitespace */ } {syslog_hostname} { yylval->t_str = strdup(yytext); BEGIN(INITIAL); return(TOK_ID); } --- apparmor-2.3+1289.orig/libraries/libapparmor/src/grammar.y +++ apparmor-2.3+1289/libraries/libapparmor/src/grammar.y @@ -189,6 +189,8 @@ { ret_record->version = AA_RECORD_SYNTAX_V2; } | syslog_date TOK_ID TOK_SYSLOG_KERNEL TOK_DMESG_STAMP audit_id key_list { ret_record->version = AA_RECORD_SYNTAX_V2; } + | syslog_date TOK_ID TOK_SYSLOG_KERNEL TOK_DMESG_STAMP key_type audit_id key_list + { ret_record->version = AA_RECORD_SYNTAX_V2; } ; /* when audit dispatches a message it doesn't prepend the audit type string */ @@ -416,6 +418,9 @@ key_pid: TOK_KEY_PID TOK_EQUALS TOK_DIGITS { ret_record->pid = $3; } ; +key_type: TOK_KEY_TYPE TOK_EQUALS TOK_DIGITS { ret_record->event = lookup_aa_event($3); } + ; + safe_string: TOK_QUOTED_STRING | TOK_HEXSTRING ;