Mercurial > prosody-modules
comparison mod_firewall/mod_firewall.lua @ 967:a88f33fe6970
mod_firewall: Don't add empty conditions check when no conditions are listed in a rule
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 06 Apr 2013 14:03:02 +0100 |
| parents | a65df6e97d94 |
| children | 53e158e44a44 |
comparison
equal
deleted
inserted
replaced
| 966:a65df6e97d94 | 967:a88f33fe6970 |
|---|---|
| 254 -- chain (filter-based will be added later) | 254 -- chain (filter-based will be added later) |
| 255 for _, rule in ipairs(rules) do | 255 for _, rule in ipairs(rules) do |
| 256 for _, dep in ipairs(rule.deps) do | 256 for _, dep in ipairs(rule.deps) do |
| 257 include_dep(dep, code); | 257 include_dep(dep, code); |
| 258 end | 258 end |
| 259 local rule_code = "if ("..table.concat(rule.conditions, ") and (")..") then\n\t" | 259 local rule_code = table.concat(rule.actions, "\n\t"); |
| 260 ..table.concat(rule.actions, "\n\t") | 260 if #rule.conditions > 0 then |
| 261 .."\n end\n"; | 261 rule_code = "if ("..table.concat(rule.conditions, ") and (")..") then\n\t" |
| 262 ..rule_code | |
| 263 .."\n end\n"; | |
| 264 end | |
| 262 table.insert(code, rule_code); | 265 table.insert(code, rule_code); |
| 263 end | 266 end |
| 264 | 267 |
| 265 local code_string = [[return function (zones, fire_event, log) | 268 local code_string = [[return function (zones, fire_event, log) |
| 266 ]]..table.concat(code.global_header, "\n")..[[ | 269 ]]..table.concat(code.global_header, "\n")..[[ |
