aboutsummaryrefslogtreecommitdiffstats
path: root/core/certmanager.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2014-04-21 02:43:38 +0200
committerKim Alvefur <zash@zash.se>2014-04-21 02:43:38 +0200
commit8750213c6c10a57b43d0951bf9fb6d2272d048c1 (patch)
treeb383147eebb56b96cc27488ef4247a6444dd9088 /core/certmanager.lua
parent78485768ee3faccea47511db836410f7fa34c03e (diff)
parent3674d9327763a1c9a69d86d72680de1651fa6511 (diff)
downloadprosody-8750213c6c10a57b43d0951bf9fb6d2272d048c1.tar.gz
prosody-8750213c6c10a57b43d0951bf9fb6d2272d048c1.zip
Merge 0.10->trunk
Diffstat (limited to 'core/certmanager.lua')
-rw-r--r--core/certmanager.lua17
1 files changed, 9 insertions, 8 deletions
diff --git a/core/certmanager.lua b/core/certmanager.lua
index ced17e58..74da771e 100644
--- a/core/certmanager.lua
+++ b/core/certmanager.lua
@@ -16,6 +16,7 @@ local pairs = pairs;
local type = type;
local io_open = io.open;
local t_concat = table.concat;
+local t_insert = table.insert;
local prosody = prosody;
local resolve_path = configmanager.resolve_relative_path;
@@ -100,14 +101,6 @@ function create_context(host, mode, user_ssl_config)
end
end
- local min_protocol = protocols[user_ssl_config.protocol];
- if min_protocol then
- user_ssl_config.protocol = "sslv23";
- for i = min_protocol, 1, -1 do
- user_ssl_config.options["no_"..protocols[i]] = true;
- end
- end
-
for option in pairs(set_options) do
local merged = {};
merge_set(core_defaults[option], merged);
@@ -124,6 +117,14 @@ function create_context(host, mode, user_ssl_config)
user_ssl_config[option] = final_array;
end
+ local min_protocol = protocols[user_ssl_config.protocol];
+ if min_protocol then
+ user_ssl_config.protocol = "sslv23";
+ for i = 1, min_protocol do
+ t_insert(user_ssl_config.options, "no_"..protocols[i]);
+ end
+ end
+
-- We can't read the password interactively when daemonized
user_ssl_config.password = user_ssl_config.password or
function() log("error", "Encrypted certificate for %s requires 'ssl' 'password' to be set in config", host); end;