Software /
code /
prosody-modules
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 |
parent | 3317:36a9170352b5 |
child | 4616: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 |