aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2015-02-23 12:04:43 +0100
committerKim Alvefur <zash@zash.se>2015-02-23 12:04:43 +0100
commit7105732151705b081800987a0f319849abb85b92 (patch)
treef91a687924f1c22452367c15b375053f2aecb809 /net
parent3573e516c2c12d907bed1ee25d8bacf57ee04f71 (diff)
downloadprosody-7105732151705b081800987a0f319849abb85b92.tar.gz
prosody-7105732151705b081800987a0f319849abb85b92.zip
net.server_{select,event}: Don't rely on LuaSocket and LuaSec being present in the globals table
Diffstat (limited to 'net')
-rw-r--r--net/server_event.lua12
-rw-r--r--net/server_select.lua10
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