From f16525175deb69ae3b9193573550992b4d5fd951 Mon Sep 17 00:00:00 2001
From: sarthurdev <965089+sarthurdev@users.noreply.github.com>
Date: Mon, 10 Jan 2022 23:14:28 +0100
Subject: firewall: policy: T4159: T4164: Fix empty firewall groups, create
 separate file for group definitions.

---
 data/templates/firewall/nftables-defines.tmpl | 27 +++++++++++++++++++
 data/templates/firewall/nftables-policy.tmpl  |  2 ++
 data/templates/firewall/nftables.tmpl         | 38 +--------------------------
 3 files changed, 30 insertions(+), 37 deletions(-)
 create mode 100644 data/templates/firewall/nftables-defines.tmpl

(limited to 'data')

diff --git a/data/templates/firewall/nftables-defines.tmpl b/data/templates/firewall/nftables-defines.tmpl
new file mode 100644
index 000000000..3578a9dc5
--- /dev/null
+++ b/data/templates/firewall/nftables-defines.tmpl
@@ -0,0 +1,27 @@
+{% if group is defined %}
+{%   if group.address_group is defined %}
+{%     for group_name, group_conf in group.address_group.items() %}
+define A_{{ group_name }} = { {{ group_conf.address | join(",") }} }
+{%     endfor %}
+{%   endif %}
+{%   if group.ipv6_address_group is defined %}
+{%     for group_name, group_conf in group.ipv6_address_group.items() %}
+define A6_{{ group_name }} = { {{ group_conf.address | join(",") }} }
+{%     endfor %}
+{%   endif %}
+{%   if group.network_group is defined %}
+{%     for group_name, group_conf in group.network_group.items() %}
+define N_{{ group_name }} = { {{ group_conf.network | join(",") }} }
+{%     endfor %}
+{%   endif %}
+{%   if group.ipv6_network_group is defined %}
+{%     for group_name, group_conf in group.ipv6_network_group.items() %}
+define N6_{{ group_name }} = { {{ group_conf.network | join(",") }} }
+{%     endfor %}
+{%   endif %}
+{%   if group.port_group is defined %}
+{%     for group_name, group_conf in group.port_group.items() %}
+define P_{{ group_name }} = { {{ group_conf.port | join(",") }} }
+{%     endfor %}
+{%   endif %}
+{% endif %}
\ No newline at end of file
diff --git a/data/templates/firewall/nftables-policy.tmpl b/data/templates/firewall/nftables-policy.tmpl
index ecc7e0fbd..668ec7388 100644
--- a/data/templates/firewall/nftables-policy.tmpl
+++ b/data/templates/firewall/nftables-policy.tmpl
@@ -1,5 +1,7 @@
 #!/usr/sbin/nft -f
 
+include "/run/nftables_defines.conf"
+
 table ip mangle {
 {% if first_install is defined %}
     chain VYOS_PBR_PREROUTING {
diff --git a/data/templates/firewall/nftables.tmpl b/data/templates/firewall/nftables.tmpl
index 68e83de64..e8fa4e306 100644
--- a/data/templates/firewall/nftables.tmpl
+++ b/data/templates/firewall/nftables.tmpl
@@ -6,43 +6,7 @@
 {%   endfor %}
 {% endif %}
 
-{% if group is defined %}
-{%   if group.address_group is defined %}
-{%     for group_name, group_conf in group.address_group.items() %}
-define A_{{ group_name }} = {
-    {{ group_conf.address | join(",") }}
-}
-{%     endfor %}
-{%   endif %}
-{%   if group.ipv6_address_group is defined %}
-{%     for group_name, group_conf in group.ipv6_address_group.items() %}
-define A6_{{ group_name }} = {
-    {{ group_conf.address | join(",") }}
-}
-{%     endfor %}
-{%   endif %}
-{%   if group.network_group is defined %}
-{%     for group_name, group_conf in group.network_group.items() %}
-define N_{{ group_name }} = {
-    {{ group_conf.network | join(",") }}
-}
-{%     endfor %}
-{%   endif %}
-{%   if group.ipv6_network_group is defined %}
-{%     for group_name, group_conf in group.ipv6_network_group.items() %}
-define N6_{{ group_name }} = {
-    {{ group_conf.network | join(",") }}
-}
-{%     endfor %}
-{%   endif %}
-{%   if group.port_group is defined %}
-{%     for group_name, group_conf in group.port_group.items() %}
-define P_{{ group_name }} = {
-    {{ group_conf.port | join(",") }}
-}
-{%     endfor %}
-{%   endif %}
-{% endif %}
+include "/run/nftables_defines.conf"
 
 table ip filter {
 {% if first_install is defined %}
-- 
cgit v1.2.3