a qéqeã@s|ddlZddlmZddlmZmZmZddlmZm Z ddl m Z ddl m Z dd lmZd Zd Zd ZGd d„de ƒZdS)éN)Ú defaultdict)ÚDictÚListÚSeté)Ú AnyTERuleÚType)Ú TERuleQueryé)Ú CheckerModule)ÚConfigSetDescriptorÚexempt_write_domainÚexempt_exec_domainÚ exempt_filecsŠeZdZdZdZeeeefƒZ e ddddZ e ddddZ e ddddZ ddœ‡fd d „ Zeeeefdœd d „Zedœd d„Z‡ZS)ÚReadOnlyExecutablesz@Checker module for asserting all executable files are read-only.Zro_execsZlookup_type_or_attrFT)ÚstrictÚexpandN)ÚreturncsDtƒ |||¡t t¡|_| t¡|_| t ¡|_ | t ¡|_ dS)N) ÚsuperÚ__init__ÚloggingZ getLoggerÚ__name__ÚlogÚgetÚ EXEMPT_WRITEr Ú EXEMPT_FILErÚ EXEMPT_EXECr)ÚselfÚpolicyZ checknameZconfig©Ú __class__©ús