# HG changeset patch # User Kim Alvefur # Date 1508305784 -7200 # Node ID 587305c0ff85e4ca51ce6c03d5496c3f5c55b51f # Parent 9db72349095fcebdf2b97e14ba17712370ba225c mod_pubsub: Fix namespace conflict with the pubsub#owner namespace diff -r 9db72349095f -r 587305c0ff85 plugins/mod_pubsub/pubsub.lib.lua --- a/plugins/mod_pubsub/pubsub.lib.lua Wed Oct 18 07:47:00 2017 +0200 +++ b/plugins/mod_pubsub/pubsub.lib.lua Wed Oct 18 07:49:44 2017 +0200 @@ -60,7 +60,11 @@ if not action then return origin.send(st.error_reply(stanza, "cancel", "bad-request")); end - local handler = handlers[stanza.attr.type.."_"..action.name]; + local prefix = ""; + if pubsub_tag.attr.xmlns == xmlns_pubsub_owner then + prefix = "owner_"; + end + local handler = handlers[prefix..stanza.attr.type.."_"..action.name]; if handler then handler(origin, stanza, action, service); return true; @@ -142,7 +146,7 @@ return true; end -function handlers.set_delete(origin, stanza, delete, service) +function handlers.owner_set_delete(origin, stanza, delete, service) local node = delete.attr.node; local reply; @@ -260,7 +264,7 @@ return true; end -function handlers.set_purge(origin, stanza, purge, service) +function handlers.owner_set_purge(origin, stanza, purge, service) local node, notify = purge.attr.node, purge.attr.notify; notify = (notify == "1") or (notify == "true"); local reply; @@ -278,7 +282,7 @@ return true; end -function handlers.get_configure(origin, stanza, config, service) +function handlers.owner_get_configure(origin, stanza, config, service) local node = config.attr.node; if not node then origin.send(pubsub_error_reply(stanza, "nodeid-required")); @@ -309,7 +313,7 @@ return true; end -function handlers.set_configure(origin, stanza, config, service) +function handlers.owner_set_configure(origin, stanza, config, service) local node = config.attr.node; if not node then origin.send(pubsub_error_reply(stanza, "nodeid-required")); @@ -342,7 +346,7 @@ return true; end -function handlers.get_default(origin, stanza, default, service) +function handlers.owner_get_default(origin, stanza, default, service) -- luacheck: ignore 212/default local pubsub_form_data = { ["pubsub#max_items"] = tostring(service.node_defaults["max_items"]); ["pubsub#persist_items"] = service.node_defaults["persist_items"]