From e3fa34385a62ab5c71f740d999c9ec38cc3e5429 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 2 Jul 2010 17:22:23 +0100 Subject: s2smanager: Don't attempt to connect to a nil host (for whatever reason... invalid DNS record perhaps?) (thanks dersd) --- core/s2smanager.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/s2smanager.lua b/core/s2smanager.lua index 03e4ff87..0c29da14 100644 --- a/core/s2smanager.lua +++ b/core/s2smanager.lua @@ -193,7 +193,7 @@ end function attempt_connection(host_session, err) local from_host, to_host = host_session.from_host, host_session.to_host; - local connect_host, connect_port = idna_to_ascii(to_host), 5269; + local connect_host, connect_port = to_host and idna_to_ascii(to_host), 5269; if not connect_host then return false; -- cgit v1.2.3 From 10f55df529fb4c31f847cb5c5abef446432f783c Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 2 Jul 2010 17:23:17 +0100 Subject: net.server_select: Fix a snippet of code that was living at the wrong indentation level --- net/server_select.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/server_select.lua b/net/server_select.lua index e3a389a8..4eb82b97 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -343,9 +343,9 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport _closelist[ handler ] = nil handler = nil end - if server then - server.remove( ) - end + if server then + server.remove( ) + end out_put "server.lua: closed client handler and removed socket from list" return true end -- cgit v1.2.3 From e563e751d0f7293ebd22cc9d8896c6cd041c1bf6 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 2 Jul 2010 17:24:40 +0100 Subject: net.server_select: Clean up buffer and fire drained callback on successful write before we try and start TLS negotiation (if negotiation fails instantly then we can be left without a handler to use for cleanup) (thanks dersd) --- net/server_select.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/server_select.lua b/net/server_select.lua index 4eb82b97..298e560a 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -479,11 +479,11 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport bufferqueuelen = 0 bufferlen = 0 _sendlistlen = removesocket( _sendlist, socket, _sendlistlen ) -- delete socket from writelist - _ = needtls and handler:starttls(nil, true) _writetimes[ handler ] = nil if drain then drain(handler) end + _ = needtls and handler:starttls(nil, true) _ = toclose and handler:close( ) return true elseif byte and ( err == "timeout" or err == "wantwrite" ) then -- want write -- cgit v1.2.3