aboutsummaryrefslogtreecommitdiffstats
path: root/net/server_event.lua
diff options
context:
space:
mode:
authorJonas Schäfer <jonas@wielicki.name>2022-04-02 11:15:33 +0200
committerJonas Schäfer <jonas@wielicki.name>2022-04-02 11:15:33 +0200
commit9f7c3b9ba6c2fde4431cd6f3a12072518b478d69 (patch)
tree32e0b232600b224369ead1e7c62194b19d549cc0 /net/server_event.lua
parent38346dd6f1dcd963e17722bf175445465d7683f4 (diff)
downloadprosody-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.lua6
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,