Software /
code /
prosody
Comparison
plugins/mod_proxy65.lua @ 4921:9a01c6bc435e
mod_proxy65: Fix ACL
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 29 May 2012 17:20:02 +0200 |
parent | 4917:d1dca1d12d53 |
child | 5336:eeb24f1e2c84 |
comparison
equal
deleted
inserted
replaced
4920:e27adbf4e743 | 4921:9a01c6bc435e |
---|---|
122 local origin, stanza = event.origin, event.stanza; | 122 local origin, stanza = event.origin, event.stanza; |
123 | 123 |
124 -- check ACL | 124 -- check ACL |
125 while proxy_acl and #proxy_acl > 0 do -- using 'while' instead of 'if' so we can break out of it | 125 while proxy_acl and #proxy_acl > 0 do -- using 'while' instead of 'if' so we can break out of it |
126 local jid = stanza.attr.from; | 126 local jid = stanza.attr.from; |
127 local allow; | |
127 for _, acl in ipairs(proxy_acl) do | 128 for _, acl in ipairs(proxy_acl) do |
128 if jid_compare(jid, acl) then break; end | 129 if jid_compare(jid, acl) then allow = true; break; end |
129 end | 130 end |
131 if allow then break; end | |
130 module:log("warn", "Denying use of proxy for %s", tostring(stanza.attr.from)); | 132 module:log("warn", "Denying use of proxy for %s", tostring(stanza.attr.from)); |
131 origin.send(st.error_reply(stanza, "auth", "forbidden")); | 133 origin.send(st.error_reply(stanza, "auth", "forbidden")); |
132 return true; | 134 return true; |
133 end | 135 end |
134 | 136 |