diff --git a/src/lex.l b/src/lex.l index 3fc7f4a..e8d7abc 100644 --- a/src/lex.l +++ b/src/lex.l @@ -159,7 +159,7 @@ userdebug_or_eng { return USERDEBUG_OR_ENG; } [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,2} { yylval->string = xstrdup(yytext); return IPV4_CIDR; } ([0-9A-Fa-f]{1,4})?\:([0-9A-Fa-f\:])*\:([0-9A-Fa-f]{1,4})?(\:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})? { yylval->string = xstrdup(yytext); return IPV6; } ([0-9A-Fa-f]{1,4})?\:([0-9A-Fa-f\:])*\:([0-9A-Fa-f]{1,4})?(\:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})?\/[0-9]{1,3} { yylval->string = xstrdup(yytext); return IPV6_CIDR; } -\"[a-zA-Z0-9_\.\-\:~\$\[\]\/@]*\" { yylval->string = xstrdup(yytext); return QUOTED_STRING; } +\"[a-zA-Z0-9_\.\-\:~\$\[\]\/@\*\?]*\" { yylval->string = xstrdup(yytext); return QUOTED_STRING; } \-[\-ldbcsp][ \t] { return FILE_TYPE_SPECIFIER; } \( { return OPEN_PAREN; } \) { return CLOSE_PAREN; } diff --git a/tests/sample_policy_files/uncommon.te b/tests/sample_policy_files/uncommon.te index 581392d..fa1812b 100644 --- a/tests/sample_policy_files/uncommon.te +++ b/tests/sample_policy_files/uncommon.te @@ -162,3 +162,7 @@ optional_policy(` filetrans_pattern(foo_t, bar_run_t, baz_run_t, dir, ``"interface"'') allowxperm src_t tgt_t: netlink_route_socket nlmsg { RTM_GETROUTE 0x44 }; + +# RFC for new genfscon wildcard support +genfscon sysfs "/sys/devices/*/wakeup/*/uevent" -- gen_context(u:r:some_context, s0) +genfscon sysfs "/sys/devices/*/wakeup/?/uevent" -- gen_context(u:r:some_context, s0)