aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2009-04-20 03:03:07 +0100
committerMatthew Wild <mwild1@gmail.com>2009-04-20 03:03:07 +0100
commitdabd9b0b5364630a603daecd3261d45999eff3c7 (patch)
treedc7e3765689e50d37e541743d7e88ba9f0144b0d /core
parentf0a842ae4bcf5b7d09a08b65275e4b828838cfe5 (diff)
parentcface37b4928e922a43ef37d1bc49ab3a4009479 (diff)
downloadprosody-dabd9b0b5364630a603daecd3261d45999eff3c7.tar.gz
prosody-dabd9b0b5364630a603daecd3261d45999eff3c7.zip
Merging stable into unstable
Diffstat (limited to 'core')
-rw-r--r--core/componentmanager.lua1
-rw-r--r--core/configmanager.lua5
-rw-r--r--core/xmlhandlers.lua4
3 files changed, 8 insertions, 2 deletions
diff --git a/core/componentmanager.lua b/core/componentmanager.lua
index 308dea57..96b78bf2 100644
--- a/core/componentmanager.lua
+++ b/core/componentmanager.lua
@@ -104,6 +104,7 @@ end
function deregister_component(host)
if components[host] then
modulemanager.unload(host, "dialback");
+ host.connected = nil;
local host_config = configmanager.getconfig()[host];
if host_config and ((host_config.core.enabled == nil or host_config.core.enabled) and type(host_config.core.component_module) == "string") then
-- Set default handler
diff --git a/core/configmanager.lua b/core/configmanager.lua
index 299374ec..37646017 100644
--- a/core/configmanager.lua
+++ b/core/configmanager.lua
@@ -12,6 +12,8 @@ local _G = _G;
local setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type =
setmetatable, loadfile, pcall, rawget, rawset, io, error, dofile, type;
+local eventmanager = require "core.eventmanager";
+
module "configmanager"
local parsers = {};
@@ -68,6 +70,9 @@ function load(filename, format)
if f then
local ok, err = parsers[format].load(f:read("*a"));
f:close();
+ if ok then
+ eventmanager.fire_event("config-reloaded", { filename = filename, format = format });
+ end
return ok, "parser", err;
end
return f, "file", err;
diff --git a/core/xmlhandlers.lua b/core/xmlhandlers.lua
index 1409a1ec..67a0829d 100644
--- a/core/xmlhandlers.lua
+++ b/core/xmlhandlers.lua
@@ -57,7 +57,7 @@ function init_xmlhandlers(session, stream_callbacks)
stanza:text(t_concat(chardata));
chardata = {};
end
- local curr_ns,name = tagname:match("^(.+)|([%w%-]+)$");
+ local curr_ns,name = tagname:match("^(.+)|([^%|]+)$");
if curr_ns ~= stream_default_ns then
attr.xmlns = curr_ns;
end
@@ -109,7 +109,7 @@ function init_xmlhandlers(session, stream_callbacks)
end
end
function xml_handlers:EndElement(tagname)
- curr_ns,name = tagname:match("^(.+)|([%w%-]+)$");
+ curr_ns,name = tagname:match("^(.+)|([^%|]+)$");
if (not stanza) or (#stanza.last_add > 0 and name ~= stanza.last_add[#stanza.last_add].name) then
if tagname == stream_tag then
if cb_streamclosed then