File: //usr/local/CyberCP/plogical/__pycache__/firewallUtilities.cpython-310.pyc
o
��h� � @ s� d dl Z d dlZ d dlZd dlZej�d� e j�dd� ze�� W n Y d dl m
Z d dlZd dl
mZ G dd� d�Zdd � Zed
krLe� dS dS )� Nz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�ProcessUtilitiesc @ sd e Zd Zedd� �Zedd� �Zedd� �Zedd� �Zed d
� �Zeddd
��Z eddd��Z
dS )�FirewallUtilitiesc C sT t �� t jkst �� t jkr| dkrdS t �� t jks"t �� t jkr(| dkr(dS dS )Nr T� F)r �decideDistro�ubuntu�ubuntu20�centos�cent8)�res� r �0/usr/local/CyberCP/plogical/firewallUtilities.py� resFailed s
$$zFirewallUtilities.resFailedc
C s� zt �| �}|dkrtj�d| d t|� � W dS W dS ty> } ztj�d| d t|� � W Y d }~dS d }~w ty_ } ztj�d| d t|� d� W Y d }~dS d }~ww )Nr zFailed to apply rule: z Error #z Error: r )r �executioner�logging�CyberCPLogFileWriter�writeToFile�str�OSError�
ValueError)�commandr �msgr r r
� doCommand s
�
����zFirewallUtilities.doCommandc C � d}d| d }d| d }d| d }d| d | d | d | d d }t �|� d }d
}d| d | d | d | d d }t �|� d}t �|� dS )
N�rule family="ipv4"�source address="�"�port protocol="�port="z8firewall-cmd --permanent --zone=public --add-rich-rule='� �accept'�rule family="ipv6"� �firewall-cmd --reloadr �r r ��proto�port� ipAddress�
ruleFamily�
sourceAddress�ruleProtocol�rulePortr r r r
�addRule. � (
(
zFirewallUtilities.addRulec C r )
Nr r r r r z;firewall-cmd --permanent --zone=public --remove-rich-rule='r r r! r"