Blame SOURCES/0007-test-dbus-zone-verify-permanent-config-API-signature.patch

e4e66d
From 5a912cc04a75e018631745647a524cce8569505b Mon Sep 17 00:00:00 2001
e4e66d
From: Eric Garver <eric@garver.life>
e4e66d
Date: Wed, 8 Apr 2020 13:38:06 -0400
e4e66d
Subject: [PATCH 07/10] test: dbus: zone: verify permanent config API
e4e66d
 signatures
e4e66d
e4e66d
(cherry picked from commit f6a6837cb49d5a9ca4ea08964fb62bb9f7f420ac)
e4e66d
(cherry picked from commit 7cc77369cd68ff1860b151fc649d237f1feb84ba)
e4e66d
---
e4e66d
 src/tests/dbus/dbus.at                      |   1 +
e4e66d
 src/tests/dbus/zone_permanent_signatures.at | 464 ++++++++++++++++++++
e4e66d
 2 files changed, 465 insertions(+)
e4e66d
 create mode 100644 src/tests/dbus/zone_permanent_signatures.at
e4e66d
e4e66d
diff --git a/src/tests/dbus/dbus.at b/src/tests/dbus/dbus.at
e4e66d
index 46fec2ff4024..ffef478f5449 100644
e4e66d
--- a/src/tests/dbus/dbus.at
e4e66d
+++ b/src/tests/dbus/dbus.at
e4e66d
@@ -1,3 +1,4 @@
e4e66d
 AT_BANNER([dbus])
e4e66d
 m4_include([dbus/firewalld.conf.at])
e4e66d
 m4_include([dbus/service.at])
e4e66d
+m4_include([dbus/zone_permanent_signatures.at])
e4e66d
diff --git a/src/tests/dbus/zone_permanent_signatures.at b/src/tests/dbus/zone_permanent_signatures.at
e4e66d
new file mode 100644
e4e66d
index 000000000000..15319552c15f
e4e66d
--- /dev/null
e4e66d
+++ b/src/tests/dbus/zone_permanent_signatures.at
e4e66d
@@ -0,0 +1,464 @@
e4e66d
+FWD_START_TEST([dbus api - zone permanent signatures])
e4e66d
+AT_KEYWORDS(dbus zone gh586)
e4e66d
+
e4e66d
+dnl ####################
e4e66d
+dnl Global APIs
e4e66d
+dnl ####################
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="listZones"]]], 0, [dnl
e4e66d
+    <method name="listZones">
e4e66d
+        <arg direction="out" type="ao"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="getZoneNames"]]], 0, [dnl
e4e66d
+    <method name="getZoneNames">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="getZoneByName"]]], 0, [dnl
e4e66d
+    <method name="getZoneByName">
e4e66d
+        <arg direction="in" name="zone" type="s"></arg>
e4e66d
+        <arg direction="out" type="o"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="addZone"]]], 0, [dnl
e4e66d
+    <method name="addZone">
e4e66d
+        <arg direction="in" name="zone" type="s"></arg>
e4e66d
+        <arg direction="in" name="settings" type="(sssbsasa(ss)asba(ssss)asasasasa(ss)b)"></arg>
e4e66d
+        <arg direction="out" type="o"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl zone relation to interface/sources
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="getZoneOfInterface"]]], 0, [dnl
e4e66d
+    <method name="getZoneOfInterface">
e4e66d
+        <arg direction="in" name="iface" type="s"></arg>
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config], [[//method[@name="getZoneOfSource"]]], 0, [dnl
e4e66d
+    <method name="getZoneOfSource">
e4e66d
+        <arg direction="in" name="source" type="s"></arg>
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+
e4e66d
+dnl ####################
e4e66d
+dnl Zone object APIs
e4e66d
+dnl ####################
e4e66d
+
e4e66d
+dnl Get a reference to the public zone. We'll use it to introspect APIs.
e4e66d
+DBUS_CHECK([config], [config.getZoneByName], ["public"], 0, [stdout])
e4e66d
+DBUS_PUBLIC_ZONE_OBJ=[$(sed -e "s/.*config\/zone\/\([^']\+\)['].*/\1/" ./stdout)]
e4e66d
+export DBUS_PUBLIC_ZONE_OBJ
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getSettings"]]], 0, [dnl
e4e66d
+    <method name="getSettings">
e4e66d
+        <arg direction="out" type="(sssbsasa(ss)asba(ssss)asasasasa(ss)b)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="update"]]], 0, [dnl
e4e66d
+    <method name="update">
e4e66d
+        <arg direction="in" name="settings" type="(sssbsasa(ss)asba(ssss)asasasasa(ss)b)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="loadDefaults"]]], 0, [dnl
e4e66d
+    <method name="loadDefaults">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="remove"]]], 0, [dnl
e4e66d
+    <method name="remove">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="rename"]]], 0, [dnl
e4e66d
+    <method name="rename">
e4e66d
+        <arg direction="in" name="name" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Version
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getVersion"]]], 0, [dnl
e4e66d
+    <method name="getVersion">
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setVersion"]]], 0, [dnl
e4e66d
+    <method name="setVersion">
e4e66d
+        <arg direction="in" name="version" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Short
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getShort"]]], 0, [dnl
e4e66d
+    <method name="getShort">
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setShort"]]], 0, [dnl
e4e66d
+    <method name="setShort">
e4e66d
+        <arg direction="in" name="short" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Description
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getDescription"]]], 0, [dnl
e4e66d
+    <method name="getDescription">
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setDescription"]]], 0, [dnl
e4e66d
+    <method name="setDescription">
e4e66d
+        <arg direction="in" name="description" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Target
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getTarget"]]], 0, [dnl
e4e66d
+    <method name="getTarget">
e4e66d
+        <arg direction="out" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setTarget"]]], 0, [dnl
e4e66d
+    <method name="setTarget">
e4e66d
+        <arg direction="in" name="target" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Interfaces
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getInterfaces"]]], 0, [dnl
e4e66d
+    <method name="getInterfaces">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setInterfaces"]]], 0, [dnl
e4e66d
+    <method name="setInterfaces">
e4e66d
+        <arg direction="in" name="interfaces" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addInterface"]]], 0, [dnl
e4e66d
+    <method name="addInterface">
e4e66d
+        <arg direction="in" name="interface" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeInterface"]]], 0, [dnl
e4e66d
+    <method name="removeInterface">
e4e66d
+        <arg direction="in" name="interface" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryInterface"]]], 0, [dnl
e4e66d
+    <method name="queryInterface">
e4e66d
+        <arg direction="in" name="interface" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Sources
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getSources"]]], 0, [dnl
e4e66d
+    <method name="getSources">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setSources"]]], 0, [dnl
e4e66d
+    <method name="setSources">
e4e66d
+        <arg direction="in" name="sources" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addSource"]]], 0, [dnl
e4e66d
+    <method name="addSource">
e4e66d
+        <arg direction="in" name="source" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeSource"]]], 0, [dnl
e4e66d
+    <method name="removeSource">
e4e66d
+        <arg direction="in" name="source" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="querySource"]]], 0, [dnl
e4e66d
+    <method name="querySource">
e4e66d
+        <arg direction="in" name="source" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Services
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getServices"]]], 0, [dnl
e4e66d
+    <method name="getServices">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setServices"]]], 0, [dnl
e4e66d
+    <method name="setServices">
e4e66d
+        <arg direction="in" name="services" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addService"]]], 0, [dnl
e4e66d
+    <method name="addService">
e4e66d
+        <arg direction="in" name="service" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeService"]]], 0, [dnl
e4e66d
+    <method name="removeService">
e4e66d
+        <arg direction="in" name="service" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryService"]]], 0, [dnl
e4e66d
+    <method name="queryService">
e4e66d
+        <arg direction="in" name="service" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Ports
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getPorts"]]], 0, [dnl
e4e66d
+    <method name="getPorts">
e4e66d
+        <arg direction="out" type="a(ss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setPorts"]]], 0, [dnl
e4e66d
+    <method name="setPorts">
e4e66d
+        <arg direction="in" name="ports" type="a(ss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addPort"]]], 0, [dnl
e4e66d
+    <method name="addPort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removePort"]]], 0, [dnl
e4e66d
+    <method name="removePort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryPort"]]], 0, [dnl
e4e66d
+    <method name="queryPort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Source Ports
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getSourcePorts"]]], 0, [dnl
e4e66d
+    <method name="getSourcePorts">
e4e66d
+        <arg direction="out" type="a(ss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setSourcePorts"]]], 0, [dnl
e4e66d
+    <method name="setSourcePorts">
e4e66d
+        <arg direction="in" name="ports" type="a(ss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addSourcePort"]]], 0, [dnl
e4e66d
+    <method name="addSourcePort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeSourcePort"]]], 0, [dnl
e4e66d
+    <method name="removeSourcePort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="querySourcePort"]]], 0, [dnl
e4e66d
+    <method name="querySourcePort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Protocol
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getProtocols"]]], 0, [dnl
e4e66d
+    <method name="getProtocols">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setProtocols"]]], 0, [dnl
e4e66d
+    <method name="setProtocols">
e4e66d
+        <arg direction="in" name="protocols" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addProtocol"]]], 0, [dnl
e4e66d
+    <method name="addProtocol">
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeProtocol"]]], 0, [dnl
e4e66d
+    <method name="removeProtocol">
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryProtocol"]]], 0, [dnl
e4e66d
+    <method name="queryProtocol">
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Forward Ports
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getForwardPorts"]]], 0, [dnl
e4e66d
+    <method name="getForwardPorts">
e4e66d
+        <arg direction="out" type="a(ssss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setForwardPorts"]]], 0, [dnl
e4e66d
+    <method name="setForwardPorts">
e4e66d
+        <arg direction="in" name="ports" type="a(ssss)"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addForwardPort"]]], 0, [dnl
e4e66d
+    <method name="addForwardPort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="in" name="toport" type="s"></arg>
e4e66d
+        <arg direction="in" name="toaddr" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeForwardPort"]]], 0, [dnl
e4e66d
+    <method name="removeForwardPort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="in" name="toport" type="s"></arg>
e4e66d
+        <arg direction="in" name="toaddr" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryForwardPort"]]], 0, [dnl
e4e66d
+    <method name="queryForwardPort">
e4e66d
+        <arg direction="in" name="port" type="s"></arg>
e4e66d
+        <arg direction="in" name="protocol" type="s"></arg>
e4e66d
+        <arg direction="in" name="toport" type="s"></arg>
e4e66d
+        <arg direction="in" name="toaddr" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Masquerade
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getMasquerade"]]], 0, [dnl
e4e66d
+    <method name="getMasquerade">
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setMasquerade"]]], 0, [dnl
e4e66d
+    <method name="setMasquerade">
e4e66d
+        <arg direction="in" name="masquerade" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addMasquerade"]]], 0, [dnl
e4e66d
+    <method name="addMasquerade">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeMasquerade"]]], 0, [dnl
e4e66d
+    <method name="removeMasquerade">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryMasquerade"]]], 0, [dnl
e4e66d
+    <method name="queryMasquerade">
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl ICMP Block
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getIcmpBlocks"]]], 0, [dnl
e4e66d
+    <method name="getIcmpBlocks">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setIcmpBlocks"]]], 0, [dnl
e4e66d
+    <method name="setIcmpBlocks">
e4e66d
+        <arg direction="in" name="icmptypes" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addIcmpBlock"]]], 0, [dnl
e4e66d
+    <method name="addIcmpBlock">
e4e66d
+        <arg direction="in" name="icmptype" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeIcmpBlock"]]], 0, [dnl
e4e66d
+    <method name="removeIcmpBlock">
e4e66d
+        <arg direction="in" name="icmptype" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryIcmpBlock"]]], 0, [dnl
e4e66d
+    <method name="queryIcmpBlock">
e4e66d
+        <arg direction="in" name="icmptype" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl ICMP Block Inversion
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getIcmpBlockInversion"]]], 0, [dnl
e4e66d
+    <method name="getIcmpBlockInversion">
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setIcmpBlockInversion"]]], 0, [dnl
e4e66d
+    <method name="setIcmpBlockInversion">
e4e66d
+        <arg direction="in" name="flag" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addIcmpBlockInversion"]]], 0, [dnl
e4e66d
+    <method name="addIcmpBlockInversion">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeIcmpBlockInversion"]]], 0, [dnl
e4e66d
+    <method name="removeIcmpBlockInversion">
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryIcmpBlockInversion"]]], 0, [dnl
e4e66d
+    <method name="queryIcmpBlockInversion">
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+dnl Rich Rules
e4e66d
+dnl
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="getRichRules"]]], 0, [dnl
e4e66d
+    <method name="getRichRules">
e4e66d
+        <arg direction="out" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="setRichRules"]]], 0, [dnl
e4e66d
+    <method name="setRichRules">
e4e66d
+        <arg direction="in" name="rules" type="as"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="addRichRule"]]], 0, [dnl
e4e66d
+    <method name="addRichRule">
e4e66d
+        <arg direction="in" name="rule" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="removeRichRule"]]], 0, [dnl
e4e66d
+    <method name="removeRichRule">
e4e66d
+        <arg direction="in" name="rule" type="s"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+DBUS_INTROSPECT([config/zone/${DBUS_PUBLIC_ZONE_OBJ}], [[//method[@name="queryRichRule"]]], 0, [dnl
e4e66d
+    <method name="queryRichRule">
e4e66d
+        <arg direction="in" name="rule" type="s"></arg>
e4e66d
+        <arg direction="out" type="b"></arg>
e4e66d
+    </method>
e4e66d
+])
e4e66d
+
e4e66d
+FWD_END_TEST
e4e66d
-- 
e4e66d
2.25.2
e4e66d