File: //proc/self/root/lib/python3/dist-packages/firewall/core/__pycache__/nftables.cpython-310.pyc
o
bhAb�t � @ s0 d dl Z d dlZd dlZd dlmZ d dlmZmZmZm Z m
Z
d dlmZm
Z
mZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlm Z dZ!e!d d
Z"dZ#dZ$i d
dde$ fidde$ fdde$ fdde$ fd�dd e$ fdd e$ fdd e$ fdd e$ fd�d�Z%d^dd�Z&i de&ddd��de&dd��de&dd��d e&dd ��d!e&ddd"��d#e&ddd$��d%e&ddd��d&e&dd'd(��d)e&ddd*��d+e&ddd(��d,e&dd-d(��d.e&ddd/��d0e&dd'd ��d1e&ddd2��d3e&ddd ��d-e&dd-��d4e&ddd5��i d6e&ddd7��d8e&ddd9��d'e&dd'��d:e&dd-d(��d;eⅆ��d<e&dd<��d=e&dd=��d>e&ddd?��d@e&dd@��dAe&ddA��dBe&ddB��dCe&dd'd5��dDe&dddE��dFe&dd'd9��dGe&dddH��dIe&dd@d(��dJe&dd@d ���i dKe&dLdd5��dMe&dLd-d ��dNe&dLdd9��de&dLdd(��de&dLd��de&dLd��d e&dLd ��dOe&dLdd?��dPe&dLdQ��dRe&dLdS��dTe&dLdd ��dUe&dLdU��d-e&dLd-��d4e&dLdd"��d'e&dLdV��dWe&dLdd2��d;e&dLdX��e&dLdY�e&dLd@�e&dLd@d(�e&dLd@d �e&dLd-d(�e&dLd-d9�dZ��d[�Z'G d\d]� d]e(�Z)dS )_� N)�log)� check_mac�getPortRange�normalizeIP6�check_single_address�
check_address)�
FirewallError�
UNKNOWN_ERROR�INVALID_RULE�INVALID_ICMPTYPE�INVALID_TYPE�
INVALID_ENTRY�INVALID_PORT) �Rich_Accept�Rich_Reject� Rich_Drop� Rich_Mark�Rich_Masquerade�Rich_ForwardPort�Rich_IcmpBlock�Rich_Tcp_Mss_Clamp�
Rich_NFLog)�DEFAULT_ZONE_TARGET)�Nftables� firewalld�_�policy_drop�policy_�
�
PREROUTING�
preroutingij���i�����postrouting�d �output)r �POSTROUTING�OUTPUT�input�forward)r �INPUT�FORWARDr% )�raw�mangle�nat�filterc C sH dd| dd�id|d�ig}|d ur"|� dd| dd�id|d�i� |S )N�match�payload�type��protocol�field�==��left�op�right�code)�append)r2 r0 r9 � fragments� r<