changeset 2525:a35d85cfda92

mod_firewall: Fix for deps dynamically including deps
author Matthew Wild <mwild1@gmail.com>
date Mon, 20 Feb 2017 09:29:09 +0000
parents 0404476ecfe3
children b2fc41001c8e
files mod_firewall/mod_firewall.lua
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mod_firewall/mod_firewall.lua	Mon Feb 20 09:28:35 2017 +0000
+++ b/mod_firewall/mod_firewall.lua	Mon Feb 20 09:29:09 2017 +0000
@@ -220,14 +220,26 @@
 	end
 	if dep_info.global_code then
 		if dep_param ~= "" then
-			table.insert(code.global_header, dep_info.global_code(dep_param));
+			local global_code, deps = dep_info.global_code(dep_param);
+			if deps then
+				for _, dep in ipairs(deps) do
+					include_dep(dep, code);
+				end
+			end
+			table.insert(code.global_header, global_code);
 		else
 			table.insert(code.global_header, dep_info.global_code);
 		end
 	end
 	if dep_info.local_code then
 		if dep_param ~= "" then
-			table.insert(code, "\n\t\t-- "..dep.."\n\t\t"..dep_info.local_code(dep_param).."\n");
+			local local_code, deps = dep_info.local_code(dep_param);
+			if deps then
+				for _, dep in ipairs(deps) do
+					include_dep(dep, code);
+				end
+			end
+			table.insert(code, "\n\t\t-- "..dep.."\n\t\t"..local_code.."\n");
 		else
 			table.insert(code, "\n\t\t-- "..dep.."\n\t\t"..dep_info.local_code.."\n");
 		end