aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2011-11-26 03:50:51 +0000
committerMatthew Wild <mwild1@gmail.com>2011-11-26 03:50:51 +0000
commit9b5a2dada513d319ccce8bd59fc7cc0236e544fc (patch)
tree698c76c3ae165952fc7ebd04837829ce11d24b96
parent278e867c8cae8147a1d83566a4a684d5558ba541 (diff)
parenta6418c6df20dd9ad4c906c5ee7ef318f2c4219c2 (diff)
downloadprosody-9b5a2dada513d319ccce8bd59fc7cc0236e544fc.tar.gz
prosody-9b5a2dada513d319ccce8bd59fc7cc0236e544fc.zip
Merge with Florob
-rw-r--r--core/loggingmanager.lua2
-rw-r--r--plugins/muc/muc.lib.lua2
-rw-r--r--util/dependencies.lua8
-rw-r--r--util/xmppstream.lua15
4 files changed, 11 insertions, 16 deletions
diff --git a/core/loggingmanager.lua b/core/loggingmanager.lua
index 88f2bbbf..426425c1 100644
--- a/core/loggingmanager.lua
+++ b/core/loggingmanager.lua
@@ -41,7 +41,7 @@ local logging_config;
local apply_sink_rules;
local log_sink_types = setmetatable({}, { __newindex = function (t, k, v) rawset(t, k, v); apply_sink_rules(k); end; });
local get_levels;
-local logging_levels = { "debug", "info", "warn", "error", "critical" }
+local logging_levels = { "debug", "info", "warn", "error" }
-- Put a rule into action. Requires that the sink type has already been registered.
-- This function is called automatically when a new sink type is added [see apply_sink_rules()]
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index 8e05bbb4..731f9e37 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -358,6 +358,7 @@ function room_mt:handle_to_occupant(origin, stanza) -- PM, vCards, etc
elseif type == "unavailable" then -- unavailable
if current_nick then
log("debug", "%s leaving %s", current_nick, room);
+ self._jid_nick[from] = nil;
local occupant = self._occupants[current_nick];
local new_jid = next(occupant.sessions);
if new_jid == from then new_jid = next(occupant.sessions, new_jid); end
@@ -382,7 +383,6 @@ function room_mt:handle_to_occupant(origin, stanza) -- PM, vCards, etc
self:broadcast_presence(pr, from);
self._occupants[current_nick] = nil;
end
- self._jid_nick[from] = nil;
end
elseif not type then -- available
if current_nick then
diff --git a/util/dependencies.lua b/util/dependencies.lua
index 5baea942..53d2719d 100644
--- a/util/dependencies.lua
+++ b/util/dependencies.lua
@@ -136,6 +136,14 @@ function log_warnings()
log("error", "This version of LuaSec contains a known bug that causes disconnects, see http://prosody.im/doc/depends");
end
end
+ if lxp then
+ if not pcall(lxp.new, { StartDoctypeDecl = false }) then
+ log("error", "The version of LuaExpat on your system leaves Prosody "
+ .."vulnerable to denial-of-service attacks. You should upgrade to "
+ .."LuaExpat 1.1.1 or higher as soon as possible. See "
+ .."http://prosody.im/doc/depends#luaexpat for more information.");
+ end
+ end
end
return _M;
diff --git a/util/xmppstream.lua b/util/xmppstream.lua
index e5271b72..0f80742d 100644
--- a/util/xmppstream.lua
+++ b/util/xmppstream.lua
@@ -11,26 +11,16 @@ local lxp = require "lxp";
local st = require "util.stanza";
local stanza_mt = st.stanza_mt;
+local error = error;
local tostring = tostring;
local t_insert = table.insert;
local t_concat = table.concat;
local t_remove = table.remove;
local setmetatable = setmetatable;
-local default_log = require "util.logger".init("xmppstream");
-
-- COMPAT: w/LuaExpat 1.1.0
local lxp_supports_doctype = pcall(lxp.new, { StartDoctypeDecl = false });
-if not lxp_supports_doctype then
- default_log("warn", "The version of LuaExpat on your system leaves Prosody "
- .."vulnerable to denial-of-service attacks. You should upgrade to "
- .."LuaExpat 1.1.1 or higher as soon as possible. See "
- .."http://prosody.im/doc/depends#luaexpat for more information.");
-end
-
-local error = error;
-
module "xmppstream"
local new_parser = lxp.new;
@@ -50,8 +40,6 @@ _M.ns_pattern = ns_pattern;
function new_sax_handlers(session, stream_callbacks)
local xml_handlers = {};
- local log = session.log or default_log;
-
local cb_streamopened = stream_callbacks.streamopened;
local cb_streamclosed = stream_callbacks.streamclosed;
local cb_error = stream_callbacks.error or function(session, e) error("XML stream error: "..tostring(e)); end;
@@ -188,7 +176,6 @@ function new_sax_handlers(session, stream_callbacks)
local function set_session(stream, new_session)
session = new_session;
- log = new_session.log or default_log;
end
return xml_handlers, { reset = reset, set_session = set_session };