X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=core%2Fcertmanager.lua;h=0dc0bfd4bec49004bf6bd3dd84409572f5feb04b;hb=f3c3acf819d5a2511a39aecf17feab537bbcc07f;hp=79651242517ca8459da13d976d135bf6615eac45;hpb=dc8ec173dae57af8b36462383757b02009bb122e;p=prosody.git diff --git a/core/certmanager.lua b/core/certmanager.lua index 79651242..0dc0bfd4 100644 --- a/core/certmanager.lua +++ b/core/certmanager.lua @@ -14,7 +14,7 @@ local ssl_newcontext = ssl and ssl.newcontext; local setmetatable, tostring = setmetatable, tostring; local prosody = prosody; -local resolve_path = prosody.resolve_relative_path; +local resolve_path = configmanager.resolve_relative_path; local config_path = prosody.paths.config; module "certmanager" @@ -22,6 +22,8 @@ module "certmanager" -- Global SSL options if not overridden per-host local default_ssl_config = configmanager.get("*", "core", "ssl"); local default_capath = "/etc/ssl/certs"; +local default_verify = (ssl and ssl.x509 and { "peer", "client_once", "continue", "ignore_purpose" }) or "none"; +local default_options = { "no_sslv2" }; function create_context(host, mode, user_ssl_config) user_ssl_config = user_ssl_config or default_ssl_config; @@ -37,8 +39,8 @@ function create_context(host, mode, user_ssl_config) certificate = resolve_path(config_path, user_ssl_config.certificate); capath = resolve_path(config_path, user_ssl_config.capath or default_capath); cafile = resolve_path(config_path, user_ssl_config.cafile); - verify = user_ssl_config.verify or "none"; - options = user_ssl_config.options or "no_sslv2"; + verify = user_ssl_config.verify or default_verify; + options = user_ssl_config.options or default_options; ciphers = user_ssl_config.ciphers; depth = user_ssl_config.depth; };