a qéqeã@sXddlmZmZddlmZddlmZddlmZGdd„deƒZ Gd d „d eƒZ d S) é)Ú NamedTupleÚUnioné)Ú PolicyEnumé)ÚDiffResultDescriptor)Ú Differencec@s>eZdZUdZeed<eeee fed<eeee fed<dS)ÚModifiedPropertyz2Difference details for a modified policy property.ÚpropertyZaddedZremovedN) Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚstrÚ__annotations__rrÚboolÚint©rrú=/usr/lib64/python3.9/site-packages/setools/diff/properties.pyr s r c@s4eZdZdZedƒZddœdd„Zddœdd„ZdS) ÚPropertiesDifferencezr Determine the difference in policy properties (unknown permissions, MLS, etc.) between two policies. Údiff_propertiesN)ÚreturncCsŽg|_|jj|jjkr2|j td|jj|jjƒ¡|jj|jjkr^|j td|jj|jjƒ¡|jj|jjkrŠ|j td|jj|jjƒ¡dS)NÚhandle_unknownZMLSÚversion)Úmodified_propertiesZ left_policyrZ right_policyÚappendr Zmlsr©Úselfrrrrs,þÿþÿþÿz$PropertiesDifference.diff_propertiescCs|j d¡d|_dS)z%Reset diff results on policy changes.zResetting property differencesN)ÚlogÚdebugrrrrrÚ _reset_diff7s z PropertiesDifference._reset_diff)r r r rrrrr rrrrrsrN) ÚtypingrrZ policyreprZ descriptorsrÚ differencerr rrrrrÚs