diff options
author | Kim Alvefur <zash@zash.se> | 2010-07-16 00:36:02 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2010-07-16 00:36:02 +0200 |
commit | e21c59154e07a8c2fca2a03f57b92e16718006fa (patch) | |
tree | dd0b2174d2787c80a5e1ec870c1ccd5f5c5d64b9 /util/jid.lua | |
parent | dbaf69573086491112c50efab5ad35d2b4082e5b (diff) | |
download | prosody-e21c59154e07a8c2fca2a03f57b92e16718006fa.tar.gz prosody-e21c59154e07a8c2fca2a03f57b92e16718006fa.zip |
util.jid: compare() added, with some tests.
Diffstat (limited to 'util/jid.lua')
-rw-r--r-- | util/jid.lua | 13 |
1 files changed, 13 insertions, 0 deletions
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; |