uci:foreach(external, "fw_rule", function(section)
uci:section("firewall", "rule", nil, section)
end)
+ end
+
+ -- Enforce firewall include
+ local has_include = false
+ uci:foreach("firewall", "include",
+ function(section)
+ if section.path == "/etc/firewall.freifunk" then
+ has_include = true
+ end
+ end)
- uci:save("firewall")
+ if not has_include then
+ uci:section("firewall", "include", nil,
+ { path = "/etc/firewall.freifunk" })
end
+ -- Allow state: invalid packets
+ uci:foreach("firewall", "defaults",
+ function(section)
+ uci:set("firewall", section[".name"], "drop_invalid", "0")
+ end)
+
+ uci:save("firewall")
+
-- Crate network interface
local netconfig = uci:get_all("freifunk", "interface")