From 7105732151705b081800987a0f319849abb85b92 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 23 Feb 2015 12:04:43 +0100 Subject: net.server_{select,event}: Don't rely on LuaSocket and LuaSec being present in the globals table --- net/server_event.lua | 12 ++++++------ net/server_select.lua | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/net/server_event.lua b/net/server_event.lua index 756e9837..daac7746 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -44,7 +44,7 @@ local setmetatable = use "setmetatable" local t_insert = table.insert local t_concat = table.concat -local ssl = use "ssl" +local has_luasec, ssl = pcall ( require , "ssl" ) local socket = use "socket" or require "socket" local log = require ("util.logger").init("socket") @@ -136,7 +136,7 @@ do self:_close() debug( "new connection failed. id:", self.id, "error:", self.fatalerror ) else - if plainssl and ssl then -- start ssl session + if plainssl and has_luasec then -- start ssl session self:starttls(self._sslctx, true) else -- normal connection self:_start_session(true) @@ -512,7 +512,7 @@ do _sslctx = sslctx; -- parameters _usingssl = false; -- client is using ssl; } - if not ssl then interface.starttls = false; end + if not has_luasec then interface.starttls = false; end interface.id = tostring(interface):match("%x+$"); interface.writecallback = function( event ) -- called on write events --vdebug( "new client write event, id/ip/port:", interface, ip, port ) @@ -695,7 +695,7 @@ do interface._connections = interface._connections + 1 -- increase connection count local clientinterface = handleclient( client, client_ip, client_port, interface, pattern, listener, sslctx ) --vdebug( "client id:", clientinterface, "startssl:", startssl ) - if ssl and sslctx then + if has_luasec and sslctx then clientinterface:starttls(sslctx, true) else clientinterface:_start_session( true ) @@ -725,7 +725,7 @@ local addserver = ( function( ) end local sslctx if sslcfg then - if not ssl then + if not has_luasec then debug "fatal error: luasec not found" return nil, "luasec not found" end @@ -766,7 +766,7 @@ do end local sslctx if sslcfg then -- handle ssl/new context - if not ssl then + if not has_luasec then debug "need luasec, but not available" return nil, "luasec not found" end diff --git a/net/server_select.lua b/net/server_select.lua index 486e953b..322c0b57 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -48,13 +48,13 @@ local coroutine_yield = coroutine.yield --// extern libs //-- -local luasec = use "ssl" +local has_luasec, luasec = pcall ( require , "ssl" ) local luasocket = use "socket" or require "socket" local luasocket_gettime = luasocket.gettime --// extern lib methods //-- -local ssl_wrap = ( luasec and luasec.wrap ) +local ssl_wrap = ( has_luasec and luasec.wrap ) local socket_bind = luasocket.bind local socket_sleep = luasocket.sleep local socket_select = luasocket.select @@ -594,7 +594,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport end ) end - if luasec then + if has_luasec then handler.starttls = function( self, _sslctx) if _sslctx then handler:set_sslctx(_sslctx); @@ -647,7 +647,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport _socketlist[ socket ] = handler _readlistlen = addsocket(_readlist, socket, _readlistlen) - if sslctx and luasec then + if sslctx and has_luasec then out_put "server.lua: auto-starting ssl negotiation..." handler.autostart_ssl = true; local ok, err = handler:starttls(sslctx); @@ -731,7 +731,7 @@ addserver = function( addr, port, listeners, pattern, sslctx ) -- this function err = "invalid port" elseif _server[ addr..":"..port ] then err = "listeners on '[" .. addr .. "]:" .. port .. "' already exist" - elseif sslctx and not luasec then + elseif sslctx and not has_luasec then err = "luasec not found" end if err then -- cgit v1.2.3