a i @ s d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl m Z d dlmZ d dl mZ d d lmZ d d lmZ d dlmZ d dlmZ d d lmZ dd ZdS ) N)config) FirewallError)FirewallConfig)zone_reader)service_reader)ipset_reader)icmptype_reader) helper_reader) policy_reader)Direct)LockdownWhitelist)firewalld_confc C s t | }zttj}| W n tyZ } z$t|jdtj|jf W Y d }~nNd }~0 tyj Y n6 t y } zt dtj|f W Y d }~n d }~0 0 | | t|jtj tjgdt|jtjtjgdt|jtjtjgdt|jtjtjgdt|jtjtjgdt|j tj!tj"gdd}|# D ]p}|| d D ]\}t$j%&|sVq@t't$(|D ]4}|)drd|| d ||} || d | qdq@q0|* t$j%+tj,rTz$t-tj,} | | .| / W nt ty } z$t|jdtj,|jf W Y d }~n@d }~0 t yR } zt dtj,|f W Y d }~n d }~0 0 t$j%+tj0rz$t1tj0} | | .| / W nt ty } z$t|jdtj0|jf W Y d }~n@d }~0 t y } zt dtj0|f W Y d }~n d }~0 0 d S )Nz'%s': %s)readeradddirs)ZipsethelperZicmptypeZservicezoneZpolicyr z.xmlr r )2r r r ZFIREWALLD_CONFreadr codemsgIOError ExceptionZset_firewalld_confr Z add_ipsetZFIREWALLD_IPSETSZETC_FIREWALLD_IPSETSr Z add_helperZFIREWALLD_HELPERSZETC_FIREWALLD_HELPERSr Zadd_icmptypeZFIREWALLD_ICMPTYPESZETC_FIREWALLD_ICMPTYPESr Zadd_serviceZFIREWALLD_SERVICESZETC_FIREWALLD_SERVICESr Zadd_zoneZFIREWALLD_ZONESZETC_FIREWALLD_ZONESr Zadd_policy_objectZFIREWALLD_POLICIESZETC_FIREWALLD_POLICIESkeysospathisdirsortedlistdirendswithZfull_check_configisfileZFIREWALLD_DIRECTr Zcheck_configZ export_configZLOCKDOWN_WHITELISTr ) fwZ fw_configZ_firewalld_conferrorr Zreadersr Z_dirfileobj r$ >/usr/lib/python3.9/site-packages/firewall/core/io/functions.pycheck_on_disk_config&