관리-도구
편집 파일: functions.cpython-39.pyc
a ���g� � @ 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 tjgd�t|jtjtjgd�t|jtjtjgd�t|jtjtjgd�t|jtjtjgd�t|j tj!tj"gd�d�}|�#� D ]p}|| d D ]\}t$j%�&|��sV�q@t't$�(|��D ]4}|�)d��rd|| d ||�} || d | � �qd�q@�q0|�*� t$j%�+tj,��rTz$t-tj,�} | �� | �.| �/� � W nt t�y } z$t|jdtj,|jf ��W Y d }~n@d }~0 t �yR } zt dtj,|f ��W Y d }~n d }~0 0 t$j%�+tj0��r�z$t1tj0�} | �� | �.| �/� � W nt t�y� } 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)�reader�add�dirs)Zipset�helperZicmptypeZservice�zoneZpolicyr z.xmlr r )2r r r ZFIREWALLD_CONF�readr �code�msg�IOError� 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_POLICIES�keys�os�path�isdir�sorted�listdir�endswithZfull_check_config�isfileZFIREWALLD_DIRECTr Zcheck_configZ export_configZLOCKDOWN_WHITELISTr ) �fwZ fw_configZ_firewalld_conf�errorr Zreadersr Z_dir�file�obj� r$ �>/usr/lib/python3.9/site-packages/firewall/core/io/functions.py�check_on_disk_config&