mirror of
https://github.com/SELinuxProject/selinux
synced 2025-02-16 17:46:54 +00:00
checkpolicy: Fix precedence between number and filesystem tokens.
When the FILESYSTEM token was added to support filesystem names that start with a digit (e.g. 9p), it was given higher precedence than NUMBER and therefore all values specified in hex (with 0x prefix) in policy will incorrectly match FILESYSTEM and yield a syntax error. This breaks use of iomem ranges in Xen policy and will break ioctl command ranges in a future SELinux policy version. Switch the precedence. This does mean that you cannot currently have a filesystem with a name that happens to be 0x followed by a hexval but hopefully that isn't an issue. Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
This commit is contained in:
parent
8a9978727d
commit
560af476b8
@ -242,8 +242,8 @@ LOW { return(LOW); }
|
|||||||
"/"({alnum}|[_\.\-/])* { return(PATH); }
|
"/"({alnum}|[_\.\-/])* { return(PATH); }
|
||||||
\"({alnum}|[_\.\-\+\~\: ])+\" { return(FILENAME); }
|
\"({alnum}|[_\.\-\+\~\: ])+\" { return(FILENAME); }
|
||||||
{letter}({alnum}|[_\-])*([\.]?({alnum}|[_\-]))* { return(IDENTIFIER); }
|
{letter}({alnum}|[_\-])*([\.]?({alnum}|[_\-]))* { return(IDENTIFIER); }
|
||||||
{alnum}*{letter}{alnum}* { return(FILESYSTEM); }
|
|
||||||
{digit}+|0x{hexval}+ { return(NUMBER); }
|
{digit}+|0x{hexval}+ { return(NUMBER); }
|
||||||
|
{alnum}*{letter}{alnum}* { return(FILESYSTEM); }
|
||||||
{digit}{1,3}(\.{digit}{1,3}){3} { return(IPV4_ADDR); }
|
{digit}{1,3}(\.{digit}{1,3}){3} { return(IPV4_ADDR); }
|
||||||
{hexval}{0,4}":"{hexval}{0,4}":"({hexval}|[:.])* { return(IPV6_ADDR); }
|
{hexval}{0,4}":"{hexval}{0,4}":"({hexval}|[:.])* { return(IPV6_ADDR); }
|
||||||
{digit}+(\.({alnum}|[_.])*)? { return(VERSION_IDENTIFIER); }
|
{digit}+(\.({alnum}|[_.])*)? { return(VERSION_IDENTIFIER); }
|
||||||
|
Loading…
Reference in New Issue
Block a user