File: //lib/python3/dist-packages/firewall/core/io/__pycache__/zone.cpython-310.pyc
o
bhAbJ � @ s� g d �Z ddlmZ ddlZddlZddlZddlmZ ddlm Z m
Z
mZmZm
Z
mZ ddlmZmZ ddlmZmZmZ ddlmZmZmZmZ ddlmZ dd lmZ dd
lmZ ddl m!Z! G dd
� d
e�Z"G dd� de�Z#ddd�Z$ddd�Z%dS ))�Zone�zone_reader�zone_writer� N)�config)�checkIPnMask�
checkIP6nMask�checkInterface�uniqify�max_zone_name_len� check_mac)�DEFAULT_ZONE_TARGET�ZONE_TARGETS)� IO_Object�IO_Object_ContentHandler�IO_Object_XMLGenerator)�common_startElement�common_endElement�common_check_config�
common_writer)�rich)�log)�errors)�
FirewallErrorc s� e Zd ZdZdddddddgfd d
gfddgfdd
dgfddgfddgfddgfddgfdd
gfddfZg d�Zi dd�dd�dd�ddg�dddg�ddg�d dg�d!d�d"ddg�d#dg�d$d�d%d�d&d�dd'g�d(ddg�d)d�d*d�ddddd+gd'gdd,��Zg d-�d.gd/d0gd1d2gg d3�g d4�d5d6gg d7�d8gd'gd9�
Zed:d;� �Z � fd<d=�Z
d>d?� Z� fd@dA�Z� fdBdC�Z
dDdE� Z� fdFdG�ZdHdI� Z� ZS )Jr z Zone class )�version� )�shortr )�descriptionr )�UNUSEDF)�targetr �servicesr �ports)r r �icmp_blocks)�
masqueradeF�
forward_ports)r r r r �
interfaces�sources� rules_str� protocols�source_ports)�icmp_block_inversionF)�forwardT)�_�-�/r Nr �zone�service�name�port�protocolz
icmp-blockz icmp-typer* �forward-port� interface�rule�source�destination�valuezsource-portr �nflog�set)�audit�accept�reject�drop�mark�limit�icmp-block-inversion)r0 � immutabler r �enabledzto-portzto-addr�family�priority)�address�mac�invertrD �ipset)rF rH rI �prefix�level)�grouprJ z
queue-size�type)
r. r"