X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fjid.lua;h=9128ce4e0a73c8f219331da5114d34539b12f5fd;hb=d89f50109f97ff133c2ee9270e54851d7939aa69;hp=ba9730fa3c57d3a85eb3aa8b22d19199ea256d4f;hpb=3813f633eebc075fc0cf3db4c7da4f24f49e5bc0;p=prosody.git diff --git a/util/jid.lua b/util/jid.lua index ba9730fa..9128ce4e 100644 --- a/util/jid.lua +++ b/util/jid.lua @@ -78,4 +78,17 @@ function join(node, host, resource) return nil; -- Invalid JID end +function compare(jid, acl) + -- compare jid to single acl rule + -- TODO compare to table of rules? + local jid_node, jid_host, jid_resource = _split(jid); + local acl_node, acl_host, acl_resource = _split(acl); + if ((acl_node ~= nil and acl_node == jid_node) or acl_node == nil) and + ((acl_host ~= nil and acl_host == jid_host) or acl_host == nil) and + ((acl_resource ~= nil and acl_resource == jid_resource) or acl_resource == nil) then + return true + end + return false +end + return _M;