[PATCH] firewall-cmd: --list=all
Thomas Woerner
twoerner at redhat.com
Wed Mar 7 15:55:09 UTC 2012
On 03/07/2012 11:46 AM, Jiri Popelka wrote:
> examples:
>
> (list all info about zone "home")
> firewall-cmd --zone=home --list=all
>
> (list all info about default zone)
> firewall-cmd --list=all
> ---
> TODO | 1 -
> src/firewall-cmd | 23 +++++++++++++++++++++--
> 2 files changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/TODO b/TODO
> index ad00efd..4280f15 100644
> --- a/TODO
> +++ b/TODO
> @@ -1,3 +1,2 @@
> -- firewall-cmd --list --zone=home
> - add documentation about all config files
> - add man pages
> diff --git a/src/firewall-cmd b/src/firewall-cmd
> index d7b1951..0aff6ed 100755
> --- a/src/firewall-cmd
> +++ b/src/firewall-cmd
> @@ -51,7 +51,7 @@ def usage():
> --enable [--timeout=<seconds>]<masquerade>
> --disable<masquerade>
> --query<action> |<masquerade>
> - --list=<action>
> + --list=<action> | all
> Action:
> --service=<service>
> --port=<port>[-<port>]/<protocol>
> @@ -330,7 +330,7 @@ try:
> elif mode == "query":
> sys.exit(not fw.queryForwardPort(zone, port, protocol,
> toport, toaddr))
> -
> +
> # block icmp
> elif action == "icmp-block":
> if mode == "list":
> @@ -345,6 +345,25 @@ try:
> elif mode == "query":
> sys.exit(not fw.queryIcmpBlock(zone, value))
>
> + elif (action == "all"):
> + if mode == "list":
> + print("zone: " + (zone if zone != "" else fw.getDefaultZone()))
> + l = fw.getInterfaces(zone)
> + if len(l)> 0:
> + print("interfaces: " + ", ".join(l))
> + l = fw.getServices(zone)
> + if len(l)> 0:
> + print("services: " + ", ".join(l))
> + l = fw.getPorts(zone)
> + if len(l)> 0:
> + print("ports: " + ", ".join(["%s/%s" % (port[0], port[1]) for port in l]))
> + l = fw.getForwardPorts(zone)
> + if len(l)> 0:
> + print("forward-ports: " + "\n".join(["port=%s:proto=%s:toport=%s:toaddr=%s" % (interface, port, protocol, toport, toaddr) for (port, protocol, toport, toaddr) in l]))
> + l = fw.getIcmpBlocks(zone)
> + if len(l)> 0:
> + print("icmp-blocks: " + ", ".join(l))
> +
> except dbus.DBusException, e:
> if e._dbus_error_name == 'org.freedesktop.DBus.Error.ServiceUnknown':
> print("FirewallD is probably not running.")
ACK
More information about the firewalld-devel
mailing list