net/server_event: pcall require ssl rather than relying on globals
authordaurnimator <quae@daurnimator.com>
Wed, 18 Dec 2013 23:11:17 +0000 (18:11 -0500)
committerdaurnimator <quae@daurnimator.com>
Wed, 18 Dec 2013 23:11:17 +0000 (18:11 -0500)
net/server_event.lua

index 00c997849d6999a9d77ed0dbb53842e4e99677d9..7575044a8563778f4b388036d5cd2380596deca4 100644 (file)
@@ -716,25 +716,17 @@ do
 end
 
 local addserver = ( function( )
-       return function( addr, port, listener, pattern, sslcfg, startssl )  -- TODO: check arguments
-               --vdebug( "creating new tcp server with following parameters:", addr or "nil", port or "nil", sslcfg or "nil", startssl or "nil")
+       return function( addr, port, listener, pattern, sslctx, startssl )  -- TODO: check arguments
+               --vdebug( "creating new tcp server with following parameters:", addr or "nil", port or "nil", sslctx or "nil", startssl or "nil")
+               if sslctx and not has_luasec then
+                       debug "fatal error: luasec not found"
+                       return nil, "luasec not found"
+               end
                local server, err = socket.bind( addr, port, cfg.ACCEPT_QUEUE )  -- create server socket
                if not server then
                        debug( "creating server socket on "..addr.." port "..port.." failed:", err )
                        return nil, err
                end
-               local sslctx
-               if sslcfg then
-                       if not has_luasec then
-                               debug "fatal error: luasec not found"
-                               return nil, "luasec not found"
-                       end
-                       sslctx, err = sslcfg
-                       if err then
-                               debug( "error while creating new ssl context for server socket:", err )
-                               return nil, err
-                       end
-               end
                local interface = handleserver( server, addr, port, pattern, listener, sslctx, startssl )  -- new server handler
                debug( "new server created with id:", tostring(interface))
                return interface
@@ -751,7 +743,7 @@ do
        end
 
        function addclient( addr, serverport, listener, pattern, sslctx )
-               if sslctx and not ssl then
+               if sslctx and not has_luasec then
                        debug "need luasec, but not available"
                        return nil, "luasec not found"
                end