aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--util/pubsub.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua
index f7d4a702..d43ed1db 100644
--- a/util/pubsub.lua
+++ b/util/pubsub.lua
@@ -18,6 +18,11 @@ function new(config)
}, service_mt);
end
+function service:jids_equal(jid1, jid2)
+ local normalize = self.config.normalize_jid;
+ return normalize(jid1) == normalize(jid2);
+end
+
function service:may(node, actor, action)
if actor == true then return true; end
@@ -82,7 +87,7 @@ end
function service:add_subscription(node, actor, jid, options)
-- Access checking
local cap;
- if jid == actor or self.config.jids_equal(actor, jid) then
+ if jid == actor or self:jids_equal(actor, jid) then
cap = "subscribe";
else
cap = "subscribe_other";
@@ -112,7 +117,7 @@ end
function service:remove_subscription(node, actor, jid)
-- Access checking
local cap;
- if jid == actor or self.config.jids_equal(actor, jid) then
+ if jid == actor or self:jids_equal(actor, jid) then
cap = "unsubscribe";
else
cap = "unsubscribe_other";
@@ -138,7 +143,7 @@ end
function service:get_subscription(node, actor, jid)
-- Access checking
local cap;
- if jid == actor or self.config.jids_equal(actor, jid) then
+ if jid == actor or self:jids_equal(actor, jid) then
cap = "get_subscription";
else
cap = "get_subscription_other";