| Server IP : 127.0.1.1 / Your IP : 216.73.216.152 Web Server : Apache/2.4.52 (Ubuntu) System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/augeas/lenses/dist/ |
Upload File : |
module Lokkit =
autoload xfm
(* Module: Lokkit
Parse the config file for lokkit from system-config-firewall
*)
let comment = Util.comment
let empty = Util.empty
let eol = Util.eol
let spc = Util.del_ws_spc
let dels = Util.del_str
let eq = del /[ \t=]+/ "="
let token = store /[a-zA-Z0-9][a-zA-Z0-9-]*/
let long_opt (n:regexp) =
[ dels "--" . key n . eq . token . eol ]
let flag (n:regexp) =
[ dels "--" . key n . eol ]
let option (l:string) (s:string) =
del ("--" . l | "-" . s) ("--" . l) . label l . eq
let opt (l:string) (s:string) =
[ option l s . token . eol ]
(* trust directive
-t <interface>, --trust=<interface>
*)
let trust =
[ option "trust" "t" . store Rx.device_name . eol ]
(* port directive
-p <port>[-<port>]:<protocol>, --port=<port>[-<port>]:<protocol>
*)
let port =
let portnum = store /[0-9]+/ in
[ option "port" "p" .
[ label "start" . portnum ] .
(dels "-" . [ label "end" . portnum])? .
dels ":" . [ label "protocol" . token ] . eol ]
(* custom_rules directive
--custom-rules=[<type>:][<table>:]<filename>
*)
let custom_rules =
let types = store /ipv4|ipv6/ in
let tables = store /mangle|nat|filter/ in
let filename = store /[^ \t\n:=][^ \t\n:]*/ in
[ dels "--custom-rules" . label "custom-rules" . eq .
[ label "type" . types . dels ":" ]? .
[ label "table" . tables . dels ":"]? .
filename . eol ]
(* forward_port directive
--forward-port=if=<interface>:port=<port>:proto=<protocol>[:toport=<destination port>][:toaddr=<destination address>]
*)
let forward_port =
let elem (n:string) (v:lens) =
[ key n . eq . v ] in
let ipaddr = store /[0-9.]+/ in
let colon = dels ":" in
[ dels "--forward-port" . label "forward-port" . eq .
elem "if" token . colon .
elem "port" token . colon .
elem "proto" token .
(colon . elem "toport" token)? .
(colon . elem "toaddr" ipaddr)? . eol ]
let entry =
long_opt /selinux|selinuxtype|addmodule|removemodule|block-icmp/
|flag /enabled|disabled/
|opt "service" "s"
|port
|trust
|opt "masq" "m"
|custom_rules
|forward_port
let lns = (comment|empty|entry)*
let xfm = transform lns (incl "/etc/sysconfig/system-config-firewall")