# HG changeset patch # User Mikael Berthe # Date 1377463563 -7200 # Node ID d02978ae44afc3fbba28b814d95df7b6a00610ba # Parent de3dceee742e12d2e05de8861d51428e4d929e8f Sync with Prosody 0.9 Patch to mod_admin_telnet no longer needed. diff -r de3dceee742e -r d02978ae44af mod_admin_messageconsole.lua --- 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*$", "") diff -r de3dceee742e -r d02978ae44af patch_prosody-0.9.diff --- 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 -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