Software /
code /
prosody
Diff
util/jid.lua @ 3375:29e51e1c7c3d
util.jid: compare() added, with some tests.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 16 Jul 2010 00:36:02 +0200 |
parent | 2923:b7049746bd29 |
child | 3480:97831dfe7f72 |
line wrap: on
line diff
--- a/util/jid.lua Thu Jul 15 22:07:45 2010 +0500 +++ b/util/jid.lua Fri Jul 16 00:36:02 2010 +0200 @@ -78,4 +78,17 @@ 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;