diff options
author | Jonas Schäfer <jonas@wielicki.name> | 2022-04-02 11:15:33 +0200 |
---|---|---|
committer | Jonas Schäfer <jonas@wielicki.name> | 2022-04-02 11:15:33 +0200 |
commit | 9f7c3b9ba6c2fde4431cd6f3a12072518b478d69 (patch) | |
tree | 32e0b232600b224369ead1e7c62194b19d549cc0 /net/server_event.lua | |
parent | 38346dd6f1dcd963e17722bf175445465d7683f4 (diff) | |
download | prosody-9f7c3b9ba6c2fde4431cd6f3a12072518b478d69.tar.gz prosody-9f7c3b9ba6c2fde4431cd6f3a12072518b478d69.zip |
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.
Diffstat (limited to 'net/server_event.lua')
-rw-r--r-- | net/server_event.lua | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/server_event.lua b/net/server_event.lua index dfd94db4..313ba981 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -52,6 +52,8 @@ local socket = require "socket" local levent = require "luaevent.core" local inet = require "util.net"; local inet_pton = inet.pton; +local sslconfig = require "util.sslconfig"; +local tls_impl = require "net.tls_luasec"; local socket_gettime = socket.gettime @@ -944,6 +946,10 @@ return { add_task = add_task, watchfd = watchfd, + tls_builder = function(basedir) + return sslconfig._new(tls_impl.new_context, basedir) + end, + __NAME = SCRIPT_NAME, __DATE = LAST_MODIFIED, __AUTHOR = SCRIPT_AUTHOR, |