comparison mod_delegation/mod_delegation.lua @ 3387:c5e8042b174c

mod_delegation: avoid crash on recent prosody versions
author Goffi <goffi@goffi.org>
date Sat, 01 Dec 2018 12:10:31 +0100
parents 36a9170352b5
children 377546ab50f9
comparison
equal deleted inserted replaced
3386:a76c420eca61 3387:c5e8042b174c
348 end 348 end
349 349
350 local function feature_added(event) 350 local function feature_added(event)
351 local source, item = event.source, event.item 351 local source, item = event.source, event.item
352 for namespace, _ in pairs(ns_delegations) do 352 for namespace, _ in pairs(ns_delegations) do
353 if source ~= module and string.sub(item, 1, #namespace) == namespace then 353 if source ~= nil and source ~= module and string.sub(item, 1, #namespace) == namespace then
354 module:log("debug", "Removing %s feature which is delegated", item) 354 module:log("debug", "Removing %s feature which is delegated", item)
355 source:remove_item("feature", item) 355 source:remove_item("feature", item)
356 disabled_modules:add(source) 356 disabled_modules:add(source)
357 if source.items and source.items.identity then 357 if source.items and source.items.identity then
358 -- we remove all identities added by the source module 358 -- we remove all identities added by the source module
371 local source, stanza = event.source, event.item 371 local source, stanza = event.source, event.item
372 local form_type = find_form_type(stanza) 372 local form_type = find_form_type(stanza)
373 if not form_type then return end 373 if not form_type then return end
374 374
375 for namespace, _ in pairs(ns_delegations) do 375 for namespace, _ in pairs(ns_delegations) do
376 if source ~= module and string.sub(form_type, 1, #namespace) == namespace then 376 if source ~= nil and source ~= module and string.sub(form_type, 1, #namespace) == namespace then
377 module:log("debug", "Removing extension which is delegated: %s", tostring(stanza)) 377 module:log("debug", "Removing extension which is delegated: %s", tostring(stanza))
378 source:remove_item("extension", stanza) 378 source:remove_item("extension", stanza)
379 end 379 end
380 end 380 end
381 end 381 end