diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/adns.lua | 6 | ||||
-rw-r--r-- | net/dns.lua | 9 | ||||
-rw-r--r-- | net/httpserver.lua | 9 | ||||
-rw-r--r-- | net/server.lua | 30 | ||||
-rw-r--r-- | net/xmppclient_listener.lua | 8 | ||||
-rw-r--r-- | net/xmppserver_listener.lua | 7 |
6 files changed, 38 insertions, 31 deletions
diff --git a/net/adns.lua b/net/adns.lua index 34ef5d77..7ee54da3 100644 --- a/net/adns.lua +++ b/net/adns.lua @@ -50,6 +50,12 @@ function new_async_socket(sock) function listener.disconnect() end newconn.handler, newconn._socket = server.wrapclient(sock, "dns", 53, listener); + if not newconn.handler then + log("warn", "handler is nil"); + end + if not newconn._socket then + log("warn", "socket is nil"); + end newconn.handler.settimeout = function () end newconn.handler.setsockname = function (_, ...) return sock:setsockname(...); end newconn.handler.setpeername = function (_, ...) local ret = sock:setpeername(...); _.setsend(sock.send); return ret; end diff --git a/net/dns.lua b/net/dns.lua index 48c08218..ccb315de 100644 --- a/net/dns.lua +++ b/net/dns.lua @@ -509,9 +509,12 @@ function resolver:adddefaultnameservers () -- - - - - adddefaultnameservers local address = string.match (line, 'nameserver%s+(%d+%.%d+%.%d+%.%d+)') if address then self:addnameserver (address) end end - else -- FIXME correct for windows, using opendns nameservers for now - self:addnameserver ("208.67.222.222") - self:addnameserver ("208.67.220.220") + elseif os.getenv("WINDIR") then + self:addnameserver ("208.67.222.222") + self:addnameserver ("208.67.220.220") + end + if not self.server or #self.server == 0 then + self:addnameserver("127.0.0.1"); end end diff --git a/net/httpserver.lua b/net/httpserver.lua index 57c8eede..56dfe04e 100644 --- a/net/httpserver.lua +++ b/net/httpserver.lua @@ -61,7 +61,7 @@ local function send_response(request, response) end else -- Response we have is just a string (the body) - log("debug", "Sending response to %s: %s", request.id or "<none>", response or "<none>"); + log("debug", "Sending 200 response to %s", request.id or "<none>"); resp = { "HTTP/1.0 200 OK\r\n" }; t_insert(resp, "Connection: close\r\n"); @@ -89,9 +89,6 @@ local function call_callback(request, err) end callback = (request.server and request.server.handlers[base]) or default_handler; - if callback == default_handler then - log("debug", "Default callback for this request (base: "..tostring(base)..")") - end end if callback then if err then @@ -251,6 +248,10 @@ function new(params) end end +function set_default_handler(handler) + default_handler = handler; +end + function new_from_config(ports, default_base, handle_request) for _, options in ipairs(ports) do local port, base, ssl, interface = 5280, default_base, false, nil; diff --git a/net/server.lua b/net/server.lua index 966006c1..65567d15 100644 --- a/net/server.lua +++ b/net/server.lua @@ -246,7 +246,7 @@ wrapserver = function( listeners, socket, ip, serverport, pattern, sslctx, maxco _socketlist[ socket ] = nil
handler = nil
socket = nil
- mem_free( )
+ --mem_free( )
out_put "server.lua: closed server handler and removed sockets from list"
end
handler.ip = function( )
@@ -373,7 +373,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport handler = nil
end
socket = nil
- mem_free( )
+ --mem_free( )
if server then
server.remove( )
end
@@ -483,13 +483,19 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport end
end
local _sendbuffer = function( ) -- this function sends data
- local buffer = table_concat( bufferqueue, "", 1, bufferqueuelen )
- local succ, err, byte = send( socket, buffer, 1, bufferlen )
- local count = ( succ or byte or 0 ) * STAT_UNIT
- sendtraffic = sendtraffic + count
- _sendtraffic = _sendtraffic + count
- _ = _cleanqueue and clean( bufferqueue )
- --out_put( "server.lua: sended '", buffer, "', bytes: ", tostring(succ), ", error: ", tostring(err), ", part: ", tostring(byte), ", to: ", tostring(ip), ":", tostring(clientport) )
+ local succ, err, byte, buffer, count;
+ local count;
+ if socket then
+ buffer = table_concat( bufferqueue, "", 1, bufferqueuelen )
+ succ, err, byte = send( socket, buffer, 1, bufferlen )
+ count = ( succ or byte or 0 ) * STAT_UNIT
+ sendtraffic = sendtraffic + count
+ _sendtraffic = _sendtraffic + count
+ _ = _cleanqueue and clean( bufferqueue )
+ --out_put( "server.lua: sended '", buffer, "', bytes: ", tostring(succ), ", error: ", tostring(err), ", part: ", tostring(byte), ", to: ", tostring(ip), ":", tostring(clientport) )
+ else
+ succ, err, count = false, "closed", 0;
+ end
if succ then -- sending succesful
bufferqueuelen = 0
bufferlen = 0
@@ -559,7 +565,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport socket, err = ssl_wrap( socket, sslctx ) -- wrap socket
if err then
out_put( "server.lua: ssl error: ", tostring(err) )
- mem_free( )
+ --mem_free( )
return nil, nil, err -- fatal error
end
socket:settimeout( 0 )
@@ -664,7 +670,7 @@ closesocket = function( socket ) _readlistlen = removesocket( _readlist, socket, _readlistlen )
_socketlist[ socket ] = nil
socket:close( )
- mem_free( )
+ --mem_free( )
end
----------------------------------// PUBLIC //--
@@ -733,7 +739,7 @@ closeall = function( ) _sendlist = { }
_timerlist = { }
_socketlist = { }
- mem_free( )
+ --mem_free( )
end
getsettings = function( )
diff --git a/net/xmppclient_listener.lua b/net/xmppclient_listener.lua index ce7788c7..6cea43f2 100644 --- a/net/xmppclient_listener.lua +++ b/net/xmppclient_listener.lua @@ -61,6 +61,7 @@ local function session_reset_stream(session) function session.data(conn, data) local ok, err = parser:parse(data); if ok then return; end + log("debug", "Received invalid XML (%s) %d bytes: %s", tostring(err), #data, data:sub(1, 300):gsub("[\r\n]+", " ")); session:close("xml-not-well-formed"); end @@ -100,7 +101,7 @@ local function session_close(session, reason) end session.send("</stream:stream>"); session.conn.close(); - xmppclient.disconnect(session.conn, (reason and reason.condition) or reason or "session closed"); + xmppclient.disconnect(session.conn, (reason and (reason.text or reason.condition)) or reason or "session closed"); end end @@ -113,11 +114,6 @@ function xmppclient.listener(conn, data) session = sm_new_session(conn); sessions[conn] = session; - -- Logging functions -- - - local conn_name = "c2s"..tostring(conn):match("[a-f0-9]+$"); - session.log = logger.init(conn_name); - session.log("info", "Client connected"); -- Client is using legacy SSL (otherwise mod_tls sets this flag) diff --git a/net/xmppserver_listener.lua b/net/xmppserver_listener.lua index 81d26526..6a196446 100644 --- a/net/xmppserver_listener.lua +++ b/net/xmppserver_listener.lua @@ -61,6 +61,7 @@ local function session_reset_stream(session) function session.data(conn, data) local ok, err = parser:parse(data); if ok then return; end + log("debug", "Received invalid XML (%s) %d bytes: %s", tostring(err), #data, data:sub(1, 300):gsub("[\r\n]+", " ")); session:close("xml-not-well-formed"); end @@ -113,12 +114,6 @@ function xmppserver.listener(conn, data) session = s2s_new_incoming(conn); sessions[conn] = session; - -- Logging functions -- - - - local conn_name = "s2sin"..tostring(conn):match("[a-f0-9]+$"); - session.log = logger.init(conn_name); - session.log("info", "Incoming s2s connection"); session.reset_stream = session_reset_stream; |