Changeset

6068:175590cc7b07

Merge 0.10->trunk
author Kim Alvefur <zash@zash.se>
date Thu, 10 Apr 2014 13:16:54 +0200
parents 6059:0cbdf7243540 (current diff) 6067:dab7ad6fa23c (diff)
children 6070:c0654505357e
files
diffstat 11 files changed, 46 insertions(+), 52 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_admin_telnet.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_admin_telnet.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -896,6 +896,9 @@
 
 function def_env.muc:create(room_jid)
 	local room, host = check_muc(room_jid);
+	if not room_name then
+		return room_name, host;
+	end
 	if not room then return nil, host end
 	if hosts[host].modules.muc.rooms[room_jid] then return nil, "Room exists already" end
 	return hosts[host].modules.muc.create_room(room_jid);
@@ -903,6 +906,9 @@
 
 function def_env.muc:room(room_jid)
 	local room_name, host = check_muc(room_jid);
+	if not room_name then
+		return room_name, host;
+	end
 	local room_obj = hosts[host].modules.muc.rooms[room_jid];
 	if not room_obj then
 		return nil, "No such room: "..room_jid;
--- a/plugins/mod_c2s.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_c2s.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -174,19 +174,6 @@
 	end
 end
 
-local function session_open_stream(session)
-	local attr = {
-		["xmlns:stream"] = 'http://etherx.jabber.org/streams',
-		xmlns = stream_callbacks.default_ns,
-		version = "1.0",
-		["xml:lang"] = 'en',
-		id = session.streamid or "",
-		from = session.host
-	};
-	session.send("<?xml version='1.0'?>");
-	session.send(st.stanza("stream:stream", attr):top_tag());
-end
-
 module:hook_global("user-deleted", function(event)
 	local username, host = event.username, event.host;
 	local user = hosts[host].sessions[username];
@@ -234,7 +221,6 @@
 		conn:setoption("keepalive", opt_keepalives);
 	end
 
-	session.open_stream = session_open_stream;
 	session.close = session_close;
 
 	local stream = new_xmpp_stream(session, stream_callbacks);
--- a/plugins/mod_component.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_component.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -177,9 +177,7 @@
 	session.streamid = uuid_gen();
 	session.notopen = nil;
 	-- Return stream header
-	session.send("<?xml version='1.0'?>");
-	session.send(st.stanza("stream:stream", { xmlns=xmlns_component,
-			["xmlns:stream"]='http://etherx.jabber.org/streams', id=session.streamid, from=session.host }):top_tag());
+	session:open_stream();
 end
 
 function stream_callbacks.streamclosed(session)
--- a/plugins/mod_posix.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_posix.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -129,14 +129,6 @@
 require "core.loggingmanager".register_sink_type("syslog", syslog_sink_maker);
 
 local daemonize = module:get_option("daemonize", prosody.installed);
-if daemonize == nil then
-	local no_daemonize = module:get_option("no_daemonize"); --COMPAT w/ 0.5
-	daemonize = not no_daemonize;
-	if no_daemonize ~= nil then
-		module:log("warn", "The 'no_daemonize' option is now replaced by 'daemonize'");
-		module:log("warn", "Update your config from 'no_daemonize = %s' to 'daemonize = %s'", tostring(no_daemonize), tostring(daemonize));
-	end
-end
 
 local function remove_log_sinks()
 	local lm = require "core.loggingmanager";
--- a/plugins/mod_s2s/mod_s2s.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_s2s/mod_s2s.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -510,24 +510,6 @@
 	end
 end
 
-function session_open_stream(session, from, to)
-	local attr = {
-		["xmlns:stream"] = 'http://etherx.jabber.org/streams',
-		xmlns = 'jabber:server',
-		version = session.version and (session.version > 0 and "1.0" or nil),
-		["xml:lang"] = 'en',
-		id = session.streamid,
-		from = from, to = to,
-	}
-	if not from or (hosts[from] and hosts[from].modules.dialback) then
-		attr["xmlns:db"] = 'jabber:server:dialback';
-	end
-
-	session.sends2s("<?xml version='1.0'?>");
-	session.sends2s(st.stanza("stream:stream", attr):top_tag());
-	return true;
-end
-
 -- Session initialization logic shared by incoming and outgoing
 local function initialize_session(session)
 	local stream = new_xmpp_stream(session, stream_callbacks);
@@ -540,8 +522,6 @@
 		session.stream:reset();
 	end
 
-	session.open_stream = session_open_stream;
-
 	local filter = session.filter;
 	function session.data(data)
 		data = filter("bytes/in", data);
--- a/plugins/mod_storage_sql2.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/plugins/mod_storage_sql2.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -289,7 +289,7 @@
 
 		-- Total matching
 		if query.total then
-			local stats = engine:select(sql_query:gsub("^(SELECT).-(FROM)", "%1 COUNT(*) %2"):format(t_concat(where, " AND "), "DESC", ""), unpack(args));
+			local stats = engine:select("SELECT COUNT(*) FROM `prosodyarchive` WHERE " .. t_concat(where, " AND "), unpack(args));
 			if stats then
 				local _total = stats()
 				total = _total and _total[1];
--- a/prosody	Thu Apr 03 23:54:58 2014 +0200
+++ b/prosody	Thu Apr 10 13:16:54 2014 +0200
@@ -49,9 +49,6 @@
 
 -- Check dependencies
 local dependencies = require "util.dependencies";
-if not dependencies.check_dependencies() then
-	os.exit(1);
-end
 
 -- Load the config-parsing module
 config = require "core.configmanager"
@@ -116,6 +113,12 @@
 	end
 end
 
+function check_dependencies()
+	if not dependencies.check_dependencies() then
+		os.exit(1);
+	end
+end
+
 function load_libraries()
 	-- Load socket framework
 	server = require "net.server"
@@ -382,6 +385,7 @@
 sanity_check();
 sandbox_require();
 set_function_metatable();
+check_dependencies();
 load_libraries();
 init_global_state();
 read_version();
--- a/prosodyctl	Thu Apr 03 23:54:58 2014 +0200
+++ b/prosodyctl	Thu Apr 10 13:16:54 2014 +0200
@@ -414,7 +414,11 @@
 	
 	local ok, ret = prosodyctl.start();
 	if ok then
-		if config.get("*", "daemonize") ~= false then
+		local daemonize = config.get("*", "daemonize");
+		if daemonize == nil then
+			daemonize = prosody.installed;
+		end
+		if daemonize then
 			local i=1;
 			while true do
 				local ok, running = prosodyctl.isrunning();
--- a/util/dependencies.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/util/dependencies.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -49,6 +49,14 @@
 end;
 
 function check_dependencies()
+	if _VERSION ~= "Lua 5.1" then
+		print "***********************************"
+		print("Unsupported Lua version: ".._VERSION);
+		print("Only Lua 5.1 is supported.");
+		print "***********************************"
+		return false;
+	end
+
 	local fatal;
 
 	local lxp = softreq "lxp"
--- a/util/prosodyctl.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/util/prosodyctl.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -189,8 +189,8 @@
 		return false, "no-pidfile";
 	end
 
-	local modules_enabled = set.new(config.get("*", "modules_enabled"));
-	if not modules_enabled:contains("posix") then
+	local modules_enabled = set.new(config.get("*", "modules_disabled"));
+	if prosody.platform ~= "posix" or modules_enabled:contains("posix") then
 		return false, "no-posix";
 	end
 
--- a/util/xmppstream.lua	Thu Apr 03 23:54:58 2014 +0200
+++ b/util/xmppstream.lua	Thu Apr 10 13:16:54 2014 +0200
@@ -241,6 +241,22 @@
 	local parser = new_parser(handlers, ns_separator, false);
 	local parse = parser.parse;
 
+	function session.open_stream(session, from, to)
+		local send = session.sends2s or session.send;
+
+		local attr = {
+			["xmlns:stream"] = "http://etherx.jabber.org/streams",
+			["xml:lang"] = "en",
+			xmlns = stream_callbacks.default_ns,
+			version = session.version and (session.version > 0 and "1.0" or nil),
+			id = session.streamid or "",
+			from = from or session.host, to = to,
+		};
+		send("<?xml version='1.0'?>");
+		send(st.stanza("stream:stream", attr):top_tag());
+		return true;
+	end
+
 	return {
 		reset = function ()
 			parser = new_parser(handlers, ns_separator, false);