aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/http.lua4
-rw-r--r--net/httpserver.lua1
-rw-r--r--net/server_event.lua9
-rw-r--r--net/xmppcomponent_listener.lua2
-rw-r--r--net/xmppserver_listener.lua2
5 files changed, 11 insertions, 7 deletions
diff --git a/net/http.lua b/net/http.lua
index 2b2f7258..6287f408 100644
--- a/net/http.lua
+++ b/net/http.lua
@@ -70,7 +70,7 @@ local function request_reader(request, data, startpos)
local function success_cb(r)
if request.callback then
for k,v in pairs(r) do request[k] = v; end
- request.callback(r.body, r.code, request);
+ request.callback(r.body, r.code, request, r);
request.callback = nil;
end
destroy_request(request);
@@ -148,7 +148,7 @@ function request(u, ex, callback)
req.handler, req.conn = server.wrapclient(conn, req.host, port, listener, "*a", using_https and { mode = "client", protocol = "sslv23" });
req.write = function (...) return req.handler:write(...); end
- req.callback = function (content, code, request) log("debug", "Calling callback, status %s", code or "---"); return select(2, xpcall(function () return callback(content, code, request) end, handleerr)); end
+ req.callback = function (content, code, request, response) log("debug", "Calling callback, status %s", code or "---"); return select(2, xpcall(function () return callback(content, code, request, response) end, handleerr)); end
req.reader = request_reader;
req.state = "status";
diff --git a/net/httpserver.lua b/net/httpserver.lua
index 74f61c56..44e8e24d 100644
--- a/net/httpserver.lua
+++ b/net/httpserver.lua
@@ -7,7 +7,6 @@
--
-local server = require "net.server"
local url_parse = require "socket.url".parse;
local httpstream_new = require "util.httpstream".new;
diff --git a/net/server_event.lua b/net/server_event.lua
index f4745c34..dbf5161f 100644
--- a/net/server_event.lua
+++ b/net/server_event.lua
@@ -295,7 +295,10 @@ do
end
function interface_mt:resume()
- return self:_lock(self.nointerface, false, self.nowriting);
+ self:_lock(self.nointerface, false, self.nowriting);
+ if not self.eventread then
+ self.eventread = addevent( base, self.conn, EV_READ, self.readcallback, cfg.READ_TIMEOUT ); -- register callback
+ end
end
function interface_mt:counter(c)
@@ -642,6 +645,10 @@ do
return -1
end
end
+ if interface.noreading then
+ interface.eventread = nil;
+ return -1;
+ end
return EV_READ, cfg.READ_TIMEOUT
end
end
diff --git a/net/xmppcomponent_listener.lua b/net/xmppcomponent_listener.lua
index 90293559..dd7b2b91 100644
--- a/net/xmppcomponent_listener.lua
+++ b/net/xmppcomponent_listener.lua
@@ -7,8 +7,6 @@
--
-local hosts = _G.hosts;
-
local t_concat = table.concat;
local tostring = tostring;
local type = type;
diff --git a/net/xmppserver_listener.lua b/net/xmppserver_listener.lua
index a92b1a7f..048c6c7d 100644
--- a/net/xmppserver_listener.lua
+++ b/net/xmppserver_listener.lua
@@ -178,7 +178,7 @@ end
function xmppserver.ondisconnect(conn, err)
local session = sessions[conn];
if session then
- if err and err ~= "closed" then
+ if err and err ~= "closed" and session.type == "s2sout_unauthed" then
(session.log or log)("debug", "s2s connection attempt failed: %s", err);
if s2s_attempt_connect(session, err) then
(session.log or log)("debug", "...so we're going to try another target");