a ‰ÄÏh ã@sÎddlZdZddiZdZdZdZdZd Zd Zd Z d Z d Z dd„Z dd„Z ddlmZe ¡dd„Zdd„Zdd„Zdd„Zdd„ZddlmZe ¡edƒZe ¡Ze ¡d Zd!Ze e¡ZeeƒdS)"éN) ÚDEFINEÚNAMEZTICKZSQUOTEZOBRACEZCBRACEÚSEMIZOPARENZCPARENÚCOMMAZdefinerz\`z\'z\{z\}z\;z\(z\)z\,z cCst |jd¡|_|S)z[a-zA-Z_][a-zA-Z0-9_]*r)ÚreservedÚgetÚvalueÚtype©Út©r ú7/usr/lib/python3.9/site-packages/sepolgen/classperms.pyÚt_NAME.srcCs td|jdƒ| d¡dS)NzIllegal character '%s'ré)ÚprintrÚskipr r r r Út_error3srr)ÚlexcCs8t|ƒdkr|dg|d<n|dg|dg|d<dS)zHstatements : define_stmt | define_stmt statements érrN©Úlen©Úpr r r Ú p_statements:s rcCs|d|dg|d<dS)zOdefine_stmt : DEFINE OPAREN TICK NAME SQUOTE COMMA TICK list SQUOTE CPAREN éérNr rr r r Ú p_define_stmtCsrcCs,|ddkr|d|d<n|dg|d<dS)z2list : NAME | OBRACE names CBRACE rÚ{rrNr rr r r Úp_listJs rcCs6t|ƒdkr|dg|d<n|dg|d|d<dS)z+names : NAME | NAME names rrrNrrr r r Úp_namesSs rcCstd|j|j|jfƒdS)Nz$Syntax error on line %d %s [type=%s])rÚlinenorr rr r r Úp_error\sr!)Úyaccz all_perms.sptz%define(`foo',`{ read write append }')a2define(`all_filesystem_perms',`{ mount remount unmount getattr relabelfrom relabelto transition associate quotamod quotaget }') define(`all_security_perms',`{ compute_av compute_create compute_member check_context load_policy compute_relabel compute_user setenforce setbool setsecparam setcheckreqprot }') ) ÚsysÚtokensrZt_TICKZt_SQUOTEZt_OBRACEZt_CBRACEZt_SEMIZt_OPARENZt_CPARENZt_COMMAZt_ignorerrÚrrrrrr!r"ÚopenÚfÚreadZtxtÚcloseÚtestZtest2ÚparseÚresultrr r r r Ús< ÿ