-function create_context(host, mode, config)
- if not ssl then return nil; end
-
- local user_ssl_config = config and config.core.ssl or default_ssl_config;
+if ssl and not luasec_has_verifyext and ssl.x509 then
+ -- COMPAT mw/luasec-hg
+ for i=1,#default_verifyext do -- Remove lsec_ prefix
+ default_verify[#default_verify+1] = default_verifyext[i]:sub(6);
+ end
+end
+if luasec_has_no_compression and configmanager.get("*", "ssl_compression") ~= true then
+ default_options[#default_options+1] = "no_compression";
+end
+
+if luasec_has_no_compression then -- Has no_compression? Then it has these too...
+ default_options[#default_options+1] = "single_dh_use";
+ default_options[#default_options+1] = "single_ecdh_use";
+end
+
+function create_context(host, mode, user_ssl_config)
+ user_ssl_config = user_ssl_config or default_ssl_config;
+
+ if not ssl then return nil, "LuaSec (required for encryption) was not found"; end
+ if not user_ssl_config then return nil, "No SSL/TLS configuration present for "..host; end