Mercurial > prosody-modules
comparison mod_firewall/mod_firewall.lua @ 2404:9af2d36567a8
mod_firewall: Allow conditions to end with a question mark
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 02 Dec 2016 11:45:10 +0100 |
parents | 2040330586e4 |
children | 9159f9166893 |
comparison
equal
deleted
inserted
replaced
2403:f96bdfd81eba | 2404:9af2d36567a8 |
---|---|
303 state = "rules"; | 303 state = "rules"; |
304 rule = new_rule(ruleset, chain); | 304 rule = new_rule(ruleset, chain); |
305 end | 305 end |
306 -- Check standard modifiers for the condition (e.g. NOT) | 306 -- Check standard modifiers for the condition (e.g. NOT) |
307 local negated; | 307 local negated; |
308 local condition = line:match("^[^:=%.]*"); | 308 local condition = line:match("^[^:=%.?]*"); |
309 if condition:find("%f[%w]NOT%f[^%w]") then | 309 if condition:find("%f[%w]NOT%f[^%w]") then |
310 local s, e = condition:match("%f[%w]()NOT()%f[^%w]"); | 310 local s, e = condition:match("%f[%w]()NOT()%f[^%w]"); |
311 condition = (condition:sub(1,s-1)..condition:sub(e+1, -1)):match("^%s*(.-)%s*$"); | 311 condition = (condition:sub(1,s-1)..condition:sub(e+1, -1)):match("^%s*(.-)%s*$"); |
312 negated = true; | 312 negated = true; |
313 end | 313 end |