Sindbad~EG File Manager
3
�fC � @ s* d dl mZmZmZ G dd� dee�ZdS )� )�Plugin�IndependentPlugin�SoSPredicatec @ sD e Zd ZdZdZdZdZdZdZdd
� Z dd� Z
dd� Zdd� ZdS )�FirewallTablesa Collects information about local firewall tables, such as iptables,
and nf_tables (via nft). Note that this plugin does _not_ collect firewalld
information, which is handled by a separate plugin.
Collections from this plugin are largely gated byt the presence of relevant
kernel modules - for example, the plugin will not collect the nf_tables
ruleset if both the `nf_tables` and `nfnetlink` kernel modules are not
currently loaded (unless using the --allow-system-changes option).
zfirewall tablesZfirewall_tables�network�system�
/etc/nftables� ip_tables�
ip6_tables� nf_tables� nfnetlink�ebtablesc C s2 d| }d| d }| j |t| |dgd�d� dS )z� Collecting iptables rules for a table loads either kernel module
of the table name (for kernel <= 3), or nf_tables (for kernel >= 4).
If neither module is present, the rules must be empty.Ziptable_ziptables -t z -nvLr )�kmods)�predN)�add_cmd_outputr )�self� tablename�modname�cmd� r �%/usr/lib/python3.6/firewall_tables.py�collect_iptable s
zFirewallTables.collect_iptablec C s2 d| }d| d }| j |t| |dgd�d� dS )z& Same as function above, but for ipv6 Z ip6table_z
ip6tables -t z -nvLr )r )r N)r r )r r r r r r r �collect_ip6table* s
zFirewallTables.collect_ip6tablec C s&