Mercurial > prosody-modules
comparison mod_firewall/conditions.lib.lua @ 963:c7fca2c9e24f
mod_firewall/conditions: Don't use table.insert, so things are happy when compile_jid_match() returns nil
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 05 Apr 2013 19:18:41 +0100 |
| parents | 93ffa3ffc66f |
| children | 04e85eb3dfef |
comparison
equal
deleted
inserted
replaced
| 962:93ffa3ffc66f | 963:c7fca2c9e24f |
|---|---|
| 39 end | 39 end |
| 40 end | 40 end |
| 41 | 41 |
| 42 local function compile_jid_match(which, match_jid) | 42 local function compile_jid_match(which, match_jid) |
| 43 local match_node, match_host, match_resource = jid.split(match_jid); | 43 local match_node, match_host, match_resource = jid.split(match_jid); |
| 44 local conditions = { | 44 local conditions = {}; |
| 45 compile_jid_match_part(which.."_node", match_node); | 45 conditions[#conditions+1] = compile_jid_match_part(which.."_node", match_node); |
| 46 compile_jid_match_part(which.."_host", match_host); | 46 conditions[#conditions+1] = compile_jid_match_part(which.."_host", match_host); |
| 47 match_resource and compile_jid_match_part(which.."_resource", match_resource) or nil; | 47 if match_resource then |
| 48 }; | 48 conditions[#conditions+1] = compile_jid_match_part(which.."_resource", match_resource); |
| 49 end | |
| 49 return table.concat(conditions, " and "); | 50 return table.concat(conditions, " and "); |
| 50 end | 51 end |
| 51 | 52 |
| 52 function condition_handlers.TO(to) | 53 function condition_handlers.TO(to) |
| 53 return compile_jid_match("to", to), { "split_to" }; | 54 return compile_jid_match("to", to), { "split_to" }; |
