File: //lib/python3/dist-packages/firewall/core/__pycache__/fw.cpython-310.pyc
o
bhAbO� � @ s� d gZ ddlZddlZddlZddlZddlZddlmZm Z ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ dd l
mZ dd
l
mZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> dd l?m@Z@ dd!lAmBZB dd"l
mCZC dd#lDmEZE G d$d � d eF�ZGdS )%�Firewall� N)�Dict�List)�config)� functions)� ipXtables)�ebtables)�nftables)�ipset)�modules)�FirewallIcmpType)�FirewallService)�FirewallZone)�FirewallDirect)�FirewallConfig)�FirewallPolicies)�
FirewallIPSet)�FirewallTransaction)�FirewallHelper)�FirewallPolicy)�nm_get_bus_name�nm_get_interfaces_in_zone)�log)� IO_Object)�firewalld_conf)�Direct)�service_reader)�icmptype_reader)�zone_reader�Zone)�ipset_reader)�IPSET_TYPES)�
helper_reader)�
policy_reader)� Rich_Rule)�errors)�
FirewallErrorc @ s� e Zd Zdfdd�Zdd� Zdd� Zdd � Zi fd
eee e
f fdd�Zd
d� Zdd� Z
dgdd�Zdd� Zdfdd�Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zdhd.d/�Zdhd0d1�Zdhd2d3�Zdhd4d5�Zd6d7� Z d8d9� Z!d:d;� Z"d<d=� Z#d>d?� Z$d@dA� Z%dBdC� Z&dDdE� Z'dFdG� Z(dHdI� Z)dJdK� Z*dLdM� Z+dNdO� Z,dfdPdQ�Z-dRdS� Z.dTdU� Z/dVdW� Z0dXdY� Z1dZd[� Z2d\d]� Z3d^d_� Z4d`da� Z5dbdc� Z6ddde� Z7d-S )ir Fc C s t tj�| _|| _| jrd| _d| _d| _d| _t | _
d| _n9t�
| �| _d| _g | _t�| �| _d| _g | _t�� | _d| _t�� | _d| _t | _
t�| �| _d| _t�� | _t| �| _t| �| _t| �| _ t!| �| _"t#| �| _t$� | _%t&| �| _t'| �| _(t)| �| _*| �+� d S )NFT),r r �FIREWALLD_CONF�_firewalld_conf�_offline�ip4tables_enabled�ip6tables_enabled�ebtables_enabled�
ipset_enabledr! �ipset_supported_types�nftables_enabledr � ip4tables�ip4tables_backend�ipv4_supported_icmp_types� ip6tables�ip6tables_backend�ipv6_supported_icmp_typesr �ebtables_backendr
�
ipset_backendr �nftables_backendr �modules_backendr �icmptyper
�servicer �zoner �directr r �policiesr r �helperr �policy�_Firewall__init_vars)�self�offline� rD �2/usr/lib/python3/dist-packages/firewall/core/fw.py�__init__F sB
zFirewall.__init__c C sD d| j | j| j| j| j| j| j| j| j| j | j
| j| j| j
| jf S )Nz:%s(%r, %r, %r, %r, %r, %r, %r, %r, %r, %r, %r, %r, %r, %r))� __class__r* r+ r, �_state�_panic�
_default_zone�_module_refcount�_marks�cleanup_on_exit�cleanup_modules_on_exit�ipv6_rpfilter_enabledr- �_individual_calls�_log_denied�rB rD rD rE �__repr__n s ��zFirewall.__repr__c C sv d| _ d| _d| _g | _g | _i | _g | _tj| _ tj
| _tj| _
tj| _tj| _tj| _tj| _tj| _tj| _d S )N�INITF� )rH rI rJ �_default_zone_interfaces�_nm_assigned_interfacesrK rL r �FALLBACK_CLEANUP_ON_EXITrM � FALLBACK_CLEANUP_MODULES_ON_EXITrN �FALLBACK_IPV6_RPFILTERrO �FALLBACK_INDIVIDUAL_CALLSrP �FALLBACK_LOG_DENIEDrQ �FALLBACK_FIREWALL_BACKEND�_firewall_backend�FALLBACK_FLUSH_ALL_ON_RELOAD�_flush_all_on_reload�FALLBACK_RFC3964_IPV4�
_rfc3964_ipv4�FALLBACK_ALLOW_ZONE_DRIFTING�_allow_zone_driftingrR rD rD rE �__init_varsw s zFirewall.__init_varsc s� i }� fdd�� j �� D �|d<