Sync with Prosody 0.9
Patch to mod_admin_telnet no longer needed.
--- a/mod_admin_messageconsole.lua Tue Jul 31 18:52:47 2012 +0200
+++ b/mod_admin_messageconsole.lua Sun Aug 25 22:46:03 2013 +0200
@@ -4,7 +4,7 @@
--
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
--- Copyright (C) 2012 Mikael Berthe
+-- Copyright (C) 2012-2013 Mikael Berthe
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
@@ -80,7 +80,7 @@
local session = new_session();
-- Process the message using admin_telnet's onincoming function
- admin_telnet.console_incoming_message(session, body.."\n");
+ admin_telnet.console:process_line(session, body.."\n");
-- Strip trailing blank line
session.fulltext = tostring(session.fulltext):gsub("\n\|%s*$", "")
--- a/patch_prosody-0.9.diff Tue Jul 31 18:52:47 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-# HG changeset patch
-# User Mikael Berthe <mikael@lilotux.net>
-mod_admin_telnet: introduce a global function console_incoming_message()
-This patch moves code from console_listener.onincoming() into a new global
-function so that it can be used in other modules.
-
-diff -r 9962fc19f9e9 plugins/mod_admin_telnet.lua
---- a/plugins/mod_admin_telnet.lua Sat Jul 28 01:28:14 2012 +0100
-+++ b/plugins/mod_admin_telnet.lua Sat Jul 28 18:14:31 2012 +0200
-@@ -72,19 +72,7 @@ function console:new_session(conn)
- return session;
- end
-
--local sessions = {};
--
--function console_listener.onconnect(conn)
-- -- Handle new connection
-- local session = console:new_session(conn);
-- sessions[conn] = session;
-- printbanner(session);
-- session.send(string.char(0));
--end
--
--function console_listener.onincoming(conn, data)
-- local session = sessions[conn];
--
-+function console_incoming_message(session, data)
- local partial = session.partial_data;
- if partial then
- data = partial..data;
-@@ -110,7 +98,7 @@ function console_listener.onincoming(con
- end
-
- session.env._ = line;
--
-+
- local chunkname = "=console";
- local env = (useglobalenv and redirect_output(_G, session)) or session.env or nil
- local chunk, err = envload("return "..line, chunkname, env);
-@@ -124,20 +112,20 @@ function console_listener.onincoming(con
- break;
- end
- end
--
-+
- local ranok, taskok, message = pcall(chunk);
--
-+
- if not (ranok or message or useglobalenv) and commands[line:lower()] then
- commands[line:lower()](session, line);
- break;
- end
--
-+
- if not ranok then
- session.print("Fatal error while running command, it did not complete");
- session.print("Error: "..taskok);
- break;
- end
--
-+
- if not message then
- session.print("Result: "..tostring(taskok));
- break;
-@@ -146,15 +134,30 @@ function console_listener.onincoming(con
- session.print("Message: "..tostring(message));
- break;
- end
--
-+
- session.print("OK: "..tostring(message));
- until true
--
-+
- session.send(string.char(0));
- end
- session.partial_data = data:match("[^\n]+$");
- end
-
-+local sessions = {};
-+
-+function console_listener.onconnect(conn)
-+ -- Handle new connection
-+ local session = console:new_session(conn);
-+ sessions[conn] = session;
-+ printbanner(session);
-+ session.send(string.char(0));
-+end
-+
-+function console_listener.onincoming(conn, data)
-+ local session = sessions[conn];
-+ console_incoming_message(session, data);
-+end
-+
- function console_listener.ondisconnect(conn, err)
- local session = sessions[conn];
- if session then