136e2c
From dd6dfcced04fc8a0b14f95a1d01d49f5c677f334 Mon Sep 17 00:00:00 2001
136e2c
From: Eric Garver <eric@garver.life>
136e2c
Date: Mon, 16 Sep 2019 15:47:53 -0400
136e2c
Subject: [PATCH 103/109] test: helper: coverage for custom helper
136e2c
136e2c
(cherry picked from commit 3adabc19a9ac447c3e89a7b344b2e106f44d96f1)
136e2c
(cherry picked from commit 40d53d4086a69c6c6275b6fa38d33f8c92e719f9)
136e2c
---
136e2c
 src/tests/features.at                |  2 ++
136e2c
 src/tests/features/helpers_custom.at | 40 ++++++++++++++++++++++++++++
136e2c
 src/tests/testsuite.at               |  1 +
136e2c
 3 files changed, 43 insertions(+)
136e2c
 create mode 100644 src/tests/features.at
136e2c
 create mode 100644 src/tests/features/helpers_custom.at
136e2c
136e2c
diff --git a/src/tests/features.at b/src/tests/features.at
136e2c
new file mode 100644
136e2c
index 000000000000..2da3dbad04c2
136e2c
--- /dev/null
136e2c
+++ b/src/tests/features.at
136e2c
@@ -0,0 +1,2 @@
136e2c
+AT_BANNER([features (FIREWALL_BACKEND)])
136e2c
+m4_include([features/helpers_custom.at])
136e2c
diff --git a/src/tests/features/helpers_custom.at b/src/tests/features/helpers_custom.at
136e2c
new file mode 100644
136e2c
index 000000000000..b5f745761407
136e2c
--- /dev/null
136e2c
+++ b/src/tests/features/helpers_custom.at
136e2c
@@ -0,0 +1,40 @@
136e2c
+FWD_START_TEST([service include])
136e2c
+AT_KEYWORDS(helpers rhbz1733066)
136e2c
+
136e2c
+FWD_CHECK([-q --permanent --new-helper="ftptest" --module="nf_conntrack_ftp"])
136e2c
+FWD_CHECK([-q --permanent --helper=ftptest --add-port="2121/tcp"])
136e2c
+
136e2c
+FWD_CHECK([-q --permanent --new-service="ftptest"])
136e2c
+FWD_CHECK([-q --permanent --service=ftptest --add-module="nf_conntrack_ftptest"])
136e2c
+FWD_CHECK([-q --permanent --service=ftptest --add-port="2121/tcp"])
136e2c
+FWD_RELOAD
136e2c
+
136e2c
+FWD_CHECK([-q --add-service=ftptest])
136e2c
+
136e2c
+NFT_LIST_RULES([inet], [filter_IN_public_allow], 0, [dnl
136e2c
+	table inet firewalld {
136e2c
+		chain filter_IN_public_allow {
136e2c
+			tcp dport 22 ct state new,untracked accept
136e2c
+			ip6 daddr fe80::/64 udp dport 546 ct state new,untracked accept
136e2c
+			tcp dport 2121 ct helper set "helper-ftptest-tcp"
136e2c
+			tcp dport 2121 ct state new,untracked accept
136e2c
+		}
136e2c
+	}
136e2c
+])
136e2c
+IPTABLES_LIST_RULES([raw], [PRE_public_allow], 0, [dnl
136e2c
+	CT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2121 CT helper ftp
136e2c
+])
136e2c
+IPTABLES_LIST_RULES([filter], [IN_public_allow], 0, [dnl
136e2c
+	ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW,UNTRACKED
136e2c
+	ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2121 ctstate NEW,UNTRACKED
136e2c
+])
136e2c
+IP6TABLES_LIST_RULES([raw], [PRE_public_allow], 0, [dnl
136e2c
+	CT tcp ::/0 ::/0 tcp dpt:2121 CT helper ftp
136e2c
+])
136e2c
+IP6TABLES_LIST_RULES([filter], [IN_public_allow], 0, [dnl
136e2c
+	ACCEPT tcp ::/0 ::/0 tcp dpt:22 ctstate NEW,UNTRACKED
136e2c
+	ACCEPT udp ::/0 fe80::/64 udp dpt:546 ctstate NEW,UNTRACKED
136e2c
+	ACCEPT tcp ::/0 ::/0 tcp dpt:2121 ctstate NEW,UNTRACKED
136e2c
+])
136e2c
+
136e2c
+FWD_END_TEST
136e2c
diff --git a/src/tests/testsuite.at b/src/tests/testsuite.at
136e2c
index 68d18c9018b8..e83d61d5bf0a 100644
136e2c
--- a/src/tests/testsuite.at
136e2c
+++ b/src/tests/testsuite.at
136e2c
@@ -14,4 +14,5 @@ m4_foreach([FIREWALL_BACKEND], [[iptables]], [
136e2c
     m4_include([firewall-cmd.at])
136e2c
     m4_include([regression.at])
136e2c
     m4_include([python.at])
136e2c
+    m4_include([features.at])
136e2c
 ])
136e2c
-- 
136e2c
2.20.1
136e2c