Mercurial > prosody-modules
diff mod_firewall/mod_firewall.lua @ 2078:11539785cb92
mod_firewall: Split compile function into two parts in order to separate their scopes
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 11 Mar 2016 18:48:34 +0100 |
parents | 368b091e723b |
children | a435db77a5e5 |
line wrap: on
line diff
--- a/mod_firewall/mod_firewall.lua Fri Mar 11 18:48:05 2016 +0100 +++ b/mod_firewall/mod_firewall.lua Fri Mar 11 18:48:34 2016 +0100 @@ -134,7 +134,7 @@ return rule; end -local function compile_firewall_rules(filename) +local function parse_firewall_rules(filename) local line_no = 0; local function errmsg(err) @@ -266,7 +266,10 @@ end end end + return ruleset; +end +local function process_firewall_rules(ruleset) -- Compile ruleset and return complete code local chain_handlers = {}; @@ -340,6 +343,13 @@ return chain_handlers; end +local function compile_firewall_rules(filename) + local ruleset, err = parse_firewall_rules(filename); + if not ruleset then return nil, err; end + local chain_handlers = process_firewall_rules(ruleset); + return chain_handlers; +end + local function compile_handler(code_string, filename) -- Prepare event handler function local chunk, err = loadstring(code_string, "="..filename);