Software /
code /
prosody
Comparison
net/server_select.lua @ 12481:2ee27587fec7
net: refactor sslconfig to not depend on LuaSec
This now requires that the network backend exposes a tls_builder
function, which essentially wraps the former util.sslconfig.new()
function, passing a factory to create the eventual SSL context.
That allows a net.server backend to pick whatever it likes as SSL
context factory, as long as it understands the config table passed by
the SSL config builder. Heck, a backend could even mock and replace the
entire SSL config builder API.
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Sat, 02 Apr 2022 11:15:33 +0200 |
parent | 12480:7e9ebdc75ce4 |
child | 12487:db634db8e069 |
comparison
equal
deleted
inserted
replaced
12480:7e9ebdc75ce4 | 12481:2ee27587fec7 |
---|---|
50 local has_luasec, luasec = pcall ( require , "ssl" ) | 50 local has_luasec, luasec = pcall ( require , "ssl" ) |
51 local luasocket = use "socket" or require "socket" | 51 local luasocket = use "socket" or require "socket" |
52 local luasocket_gettime = luasocket.gettime | 52 local luasocket_gettime = luasocket.gettime |
53 local inet = require "util.net"; | 53 local inet = require "util.net"; |
54 local inet_pton = inet.pton; | 54 local inet_pton = inet.pton; |
55 local sslconfig = require "util.sslconfig"; | |
56 local tls_impl = require "net.tls_luasec"; | |
55 | 57 |
56 --// extern lib methods //-- | 58 --// extern lib methods //-- |
57 | 59 |
58 local ssl_wrap = ( has_luasec and luasec.wrap ) | 60 local ssl_wrap = ( has_luasec and luasec.wrap ) |
59 local socket_bind = luasocket.bind | 61 local socket_bind = luasocket.bind |
1179 getsettings = getsettings, | 1181 getsettings = getsettings, |
1180 setquitting = setquitting, | 1182 setquitting = setquitting, |
1181 removeserver = removeserver, | 1183 removeserver = removeserver, |
1182 get_backend = get_backend, | 1184 get_backend = get_backend, |
1183 changesettings = changesettings, | 1185 changesettings = changesettings, |
1186 | |
1187 tls_builder = function(basedir) | |
1188 return sslconfig._new(tls_impl.new_context, basedir) | |
1189 end, | |
1184 } | 1190 } |