Blame SOURCES/0012-test-dbus-zone-verify-runtime-config-APIs.patch

725d6a
From 069fbf5bda85526cdae9cf684a61c49d6961c065 Mon Sep 17 00:00:00 2001
725d6a
From: Eric Garver <eric@garver.life>
725d6a
Date: Thu, 9 Apr 2020 14:03:48 -0400
725d6a
Subject: [PATCH 12/45] test(dbus): zone: verify runtime config APIs
725d6a
725d6a
(cherry picked from commit b1e7a3843f7c6dfc31ac3ac38cc938bd8ece7c6c)
725d6a
(cherry picked from commit 2bc363979f3223ed0b98f027c96d8af7c3d79211)
725d6a
---
725d6a
 src/tests/dbus/dbus.at                    |   1 +
725d6a
 src/tests/dbus/zone_runtime_functional.at | 297 ++++++++++++++++++++++
725d6a
 2 files changed, 298 insertions(+)
725d6a
 create mode 100644 src/tests/dbus/zone_runtime_functional.at
725d6a
725d6a
diff --git a/src/tests/dbus/dbus.at b/src/tests/dbus/dbus.at
725d6a
index 31c180dc3d3d..d9f7a2953131 100644
725d6a
--- a/src/tests/dbus/dbus.at
725d6a
+++ b/src/tests/dbus/dbus.at
725d6a
@@ -4,3 +4,4 @@ m4_include([dbus/service.at])
725d6a
 m4_include([dbus/zone_permanent_signatures.at])
725d6a
 m4_include([dbus/zone_runtime_signatures.at])
725d6a
 m4_include([dbus/zone_permanent_functional.at])
725d6a
+m4_include([dbus/zone_runtime_functional.at])
725d6a
diff --git a/src/tests/dbus/zone_runtime_functional.at b/src/tests/dbus/zone_runtime_functional.at
725d6a
new file mode 100644
725d6a
index 000000000000..d0098dfdff65
725d6a
--- /dev/null
725d6a
+++ b/src/tests/dbus/zone_runtime_functional.at
725d6a
@@ -0,0 +1,297 @@
725d6a
+FWD_START_TEST([dbus api - zone permanent functional])
725d6a
+AT_KEYWORDS(dbus zone gh586)
725d6a
+
725d6a
+dnl ####################
725d6a
+dnl Global APIs
725d6a
+dnl ####################
725d6a
+
725d6a
+DBUS_CHECK([], [getZoneSettings], ["public"], 0, [dnl
725d6a
+     (('', dnl version
725d6a
+       'Public', dnl short
725d6a
+       'For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.', dnl description
725d6a
+       false, dnl bogus/unused
725d6a
+       'default', dnl target
725d6a
+       @<:@'ssh', 'dhcpv6-client', 'cockpit'@:>@, dnl services
725d6a
+       @a(ss) @<:@@:>@, dnl ports
725d6a
+       @as @<:@@:>@, dnl ICMP Blocks
725d6a
+       false, dnl masquerade
725d6a
+       @a(ssss) @<:@@:>@, dnl forward ports
725d6a
+       @as @<:@@:>@, dnl interfaces
725d6a
+       @as @<:@@:>@, dnl sources
725d6a
+       @as @<:@@:>@, dnl rules_str
725d6a
+       @as @<:@@:>@, dnl protocols
725d6a
+       @a(ss) @<:@@:>@, dnl source ports
725d6a
+       false),)
725d6a
+])
725d6a
+
725d6a
+dnl Default Zone
725d6a
+DBUS_CHECK([], [getDefaultZone], [], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [setDefaultZone], ['drop'], 0, [dnl
725d6a
+    ()
725d6a
+])
725d6a
+DBUS_CHECK([], [getDefaultZone], [], 0, [dnl
725d6a
+    ('drop',)
725d6a
+])
725d6a
+
725d6a
+dnl Fetching Zones
725d6a
+DBUS_CHECK([], [zone.getZones], [], 0, [dnl
725d6a
+    [(['block', 'dmz', 'drop', 'external', 'home', 'internal', 'public', 'trusted', 'work'],)]
725d6a
+])
725d6a
+FWD_CHECK([-q --zone public --add-interface dummy0])
725d6a
+FWD_CHECK([-q --zone public --add-source 10.1.1.1])
725d6a
+DBUS_CHECK([], [zone.getActiveZones], [], 0, [dnl
725d6a
+    ['public': {'interfaces': ['dummy0'], 'sources': ['10.1.1.1']}]
725d6a
+])
725d6a
+FWD_CHECK([-q --zone public --remove-interface dummy0])
725d6a
+FWD_CHECK([-q --zone public --remove-source 10.1.1.1])
725d6a
+
725d6a
+dnl Interfaces/Sources
725d6a
+FWD_CHECK([-q --zone public --add-interface dummy1])
725d6a
+DBUS_CHECK([], [zone.getZoneOfInterface], ["dummy1"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+FWD_CHECK([-q --zone public --remove-interface dummy1])
725d6a
+FWD_CHECK([-q --zone drop --add-source 10.10.10.0/24])
725d6a
+DBUS_CHECK([], [zone.getZoneOfSource], ["10.10.10.0/24"], 0, [dnl
725d6a
+    ('drop',)
725d6a
+])
725d6a
+FWD_CHECK([-q --zone drop --remove-source 10.10.10.0/24])
725d6a
+
725d6a
+dnl ####################
725d6a
+dnl Zone Individual APIs
725d6a
+dnl ####################
725d6a
+
725d6a
+dnl isImmutable
725d6a
+DBUS_CHECK([], [zone.isImmutable], ["public"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Interfaces
725d6a
+DBUS_CHECK([], [zone.addInterface], ["public" "dummy0"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.changeZone], ["drop" "dummy0"], 0, [dnl
725d6a
+    ('drop',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryInterface], ["public" "dummy0"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryInterface], ["drop" "dummy0"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.changeZoneOfInterface], ["public" "dummy0"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryInterface], ["public" "dummy0"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryInterface], ["drop" "dummy0"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addInterface], ["public" "dummy1"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getInterfaces], ["public"], 0, [dnl
725d6a
+    [(['dummy0', 'dummy1'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeInterface], ["public" "dummy0"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getInterfaces], ["public"], 0, [dnl
725d6a
+    [(['dummy1'],)]
725d6a
+])
725d6a
+
725d6a
+dnl Sources
725d6a
+DBUS_CHECK([], [zone.addSource], ["public" "10.10.10.0/24"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.changeZoneOfSource], ["drop" "10.10.10.0/24"], 0, [dnl
725d6a
+    ('drop',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.querySource], ["public" "10.10.10.0/24"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.querySource], ["drop" "10.10.10.0/24"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.changeZoneOfSource], ["public" "10.10.10.0/24"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addSource], ["public" "10.20.0.0/16"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getSources], ["public"], 0, [dnl
725d6a
+    [(['10.10.10.0/24', '10.20.0.0/16'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeSource], ["public" "10.10.10.0/24"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getSources], ["public"], 0, [dnl
725d6a
+    [(['10.20.0.0/16'],)]
725d6a
+])
725d6a
+
725d6a
+dnl Services
725d6a
+DBUS_CHECK([], [zone.addService], ["public" "samba" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryService], ["public" "samba"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getServices], ["public"], 0, [dnl
725d6a
+    [(['ssh', 'dhcpv6-client', 'cockpit', 'samba'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeService], ["public" "samba"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryService], ["public" "samba"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Protocols
725d6a
+DBUS_CHECK([], [zone.addProtocol], ["public" "icmp" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryProtocol], ["public" "icmp"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getProtocols], ["public"], 0, [dnl
725d6a
+    [(['icmp'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeProtocol], ["public" "icmp"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryProtocol], ["public" "icmp"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Ports
725d6a
+DBUS_CHECK([], [zone.addPort], ["public" "1234" "tcp" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryPort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addPort], ["public" "4321" "udp" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getPorts], ["public"], 0, [dnl
725d6a
+    [([['1234', 'tcp'], ['4321', 'udp']],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removePort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryPort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Source Ports
725d6a
+DBUS_CHECK([], [zone.addSourcePort], ["public" "1234" "tcp" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.querySourcePort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addSourcePort], ["public" "4321" "udp" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getSourcePorts], ["public"], 0, [dnl
725d6a
+    [([['1234', 'tcp'], ['4321', 'udp']],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeSourcePort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.querySourcePort], ["public" "1234" "tcp"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Forward Ports
725d6a
+DBUS_CHECK([], [zone.addForwardPort], ["public" "1234" "tcp" "1111" "" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryForwardPort], ["public" "1234" "tcp" "1111" ""], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addForwardPort], ["public" "4321" "udp" "4444" "10.10.10.10" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getForwardPorts], ["public"], 0, [dnl
725d6a
+    [([['1234', 'tcp', '1111', ''], ['4321', 'udp', '4444', '10.10.10.10']],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeForwardPort], ["public" "1234" "tcp" "1111" ""], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryForwardPort], ["public" "1234" "tcp" "1111" ""], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Masquerade
725d6a
+DBUS_CHECK([], [zone.addMasquerade], ["public" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryMasquerade], ["public"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeMasquerade], ["public"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryMasquerade], ["public"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl ICMP Block
725d6a
+DBUS_CHECK([], [zone.addIcmpBlock], ["public" "echo-reply" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryIcmpBlock], ["public" "echo-reply"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addIcmpBlock], ["public" "echo-request" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getIcmpBlocks], ["public"], 0, [dnl
725d6a
+    [(['echo-reply', 'echo-request'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeIcmpBlock], ["public" "echo-reply"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryIcmpBlock], ["public" "echo-reply"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl ICMP Block Inversion
725d6a
+DBUS_CHECK([], [zone.addIcmpBlockInversion], ["public"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryIcmpBlockInversion], ["public"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeIcmpBlockInversion], ["public"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryIcmpBlockInversion], ["public"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+dnl Rich Rules
725d6a
+DBUS_CHECK([], [zone.addRichRule], ["public" "rule family=ipv4 source address=10.10.10.10 accept" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryRichRule], ["public" "rule family=ipv4 source address=10.10.10.10 accept"], 0, [dnl
725d6a
+    (true,)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.addRichRule], ["public" "rule family=ipv4 source address=20.20.20.20 accept" 0], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.getRichRules], ["public"], 0, [dnl
725d6a
+    [(['rule family="ipv4" source address="10.10.10.10" accept', 'rule family="ipv4" source address="20.20.20.20" accept'],)]
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.removeRichRule], ["public" "rule family=ipv4 source address=10.10.10.10 accept"], 0, [dnl
725d6a
+    ('public',)
725d6a
+])
725d6a
+DBUS_CHECK([], [zone.queryRichRule], ["public" "rule family=ipv4 source address=10.10.10.10 accept"], 0, [dnl
725d6a
+    (false,)
725d6a
+])
725d6a
+
725d6a
+FWD_END_TEST
725d6a
-- 
725d6a
2.27.0
725d6a