Merge 0.9->trunk
authorMatthew Wild <mwild1@gmail.com>
Mon, 8 Apr 2013 16:22:15 +0000 (17:22 +0100)
committerMatthew Wild <mwild1@gmail.com>
Mon, 8 Apr 2013 16:22:15 +0000 (17:22 +0100)
core/s2smanager.lua
core/sessionmanager.lua
net/http.lua
plugins/mod_posix.lua
util-src/pposix.c

index 5777cb8ef16b48a1ed34be63866ed004e4bfaa78..e4de498a10d20503c6f2588b2713778ec3455e9c 100644 (file)
@@ -24,15 +24,8 @@ local fire_event = prosody.events.fire_event;
 
 module "s2smanager"
 
-local open_sessions = 0;
-
 function new_incoming(conn)
        local session = { conn = conn, type = "s2sin_unauthed", direction = "incoming", hosts = {} };
-       if true then
-               session.trace = newproxy(true);
-               getmetatable(session.trace).__gc = function () open_sessions = open_sessions - 1; end;
-       end
-       open_sessions = open_sessions + 1;
        session.log = logger_init("s2sin"..tostring(session):match("[a-f0-9]+$"));
        incoming_s2s[session] = true;
        return session;
@@ -62,7 +55,7 @@ local resting_session = { -- Resting, not dead
 function retire_session(session, reason)
        local log = session.log or log;
        for k in pairs(session) do
-               if k ~= "trace" and k ~= "log" and k ~= "id" and k ~= "conn" then
+               if k ~= "log" and k ~= "id" and k ~= "conn" then
                        session[k] = nil;
                end
        end
index e721835d9bc88e34920f4c9b3236446918fd1bd7..d178fb2d684500fcf573bd387243d182d64e98b1 100644 (file)
@@ -29,17 +29,8 @@ local getmetatable = getmetatable;
 
 module "sessionmanager"
 
-local open_sessions = 0;
-
 function new_session(conn)
        local session = { conn = conn, type = "c2s_unauthed", conntime = gettime() };
-       if true then
-               session.trace = newproxy(true);
-               getmetatable(session.trace).__gc = function () open_sessions = open_sessions - 1; end;
-       end
-       open_sessions = open_sessions + 1;
-       log("debug", "open sessions now: %d", open_sessions);
-       
        local filter = initialize_filters(session);
        local w = conn.write;
        session.send = function (t)
@@ -72,7 +63,7 @@ local resting_session = { -- Resting, not dead
 function retire_session(session)
        local log = session.log or log;
        for k in pairs(session) do
-               if k ~= "trace" and k ~= "log" and k ~= "id" then
+               if k ~= "log" and k ~= "id" then
                        session[k] = nil;
                end
        end
index a1e4e52308200b7c05d4e97fe6476c93805305ff..ec55af926910dcf5a87c2ae649794e7727cb09ed 100644 (file)
@@ -11,6 +11,8 @@ local b64 = require "util.encodings".base64.encode;
 local url = require "socket.url"
 local httpstream_new = require "util.httpstream".new;
 
+local ssl_available = pcall(require, "ssl");
+
 local server = require "net.server"
 
 local t_insert, t_concat = table.insert, table.concat;
@@ -177,6 +179,9 @@ function request(u, ex, callback)
        req.method, req.headers, req.body = method, headers, body;
        
        local using_https = req.scheme == "https";
+       if using_https and not ssl_available then
+               error("SSL not available, unable to contact https URL");
+       end
        local port = tonumber(req.port) or (using_https and 443 or 80);
        
        -- Connect the socket, and wrap it with net.server
index e871e5cf4d8c9ab825f6b13b0eb8d1a5a95fe95a..28fd7f382e6aa08fb5e6de8c57f33942b70c6156 100644 (file)
@@ -7,10 +7,12 @@
 --
 
 
-local want_pposix_version = "0.3.5";
+local want_pposix_version = "0.3.6";
 
 local pposix = assert(require "util.pposix");
-if pposix._VERSION ~= want_pposix_version then module:log("warn", "Unknown version (%s) of binary pposix module, expected %s", tostring(pposix._VERSION), want_pposix_version); end
+if pposix._VERSION ~= want_pposix_version then
+       module:log("warn", "Unknown version (%s) of binary pposix module, expected %s. Perhaps you need to recompile?", tostring(pposix._VERSION), want_pposix_version);
+end
 
 local signal = select(2, pcall(require, "util.signal"));
 if type(signal) == "string" then
@@ -118,9 +120,9 @@ function syslog_sink_maker(config)
        local syslog, format = pposix.syslog_log, string.format;
        return function (name, level, message, ...)
                if ... then
-                       syslog(level, format(message, ...));
+                       syslog(level, name, format(message, ...));
                else
-                       syslog(level, message);
+                       syslog(level, name, message);
                end
        end;
 end
index 99a308cfea8f79ac8c626ad2392523cde2ed86d6..f5cc827032976c74c3ac624620b46aebb85c658a 100644 (file)
@@ -13,7 +13,7 @@
 * POSIX support functions for Lua
 */
 
-#define MODULE_VERSION "0.3.5"
+#define MODULE_VERSION "0.3.6"
 
 #include <stdlib.h>
 #include <math.h>
@@ -204,12 +204,13 @@ int level_constants[] =   {
                        };
 int lc_syslog_log(lua_State* L)
 {
-       int level = luaL_checkoption(L, 1, "notice", level_strings);
-       level = level_constants[level];
+       int level = level_constants[luaL_checkoption(L, 1, "notice", level_strings)];
 
-       luaL_checkstring(L, 2);
+       if(lua_gettop(L) == 3)
+               syslog(level, "%s: %s", luaL_checkstring(L, 2), luaL_checkstring(L, 3));
+       else
+               syslog(level, "%s", lua_tostring(L, 2));
 
-       syslog(level, "%s", lua_tostring(L, 2));
        return 0;
 }