Software / code / prosody
Comparison
core/certmanager.lua @ 7144:f855ba7da30e
certmanager: Apply global ssl config later so certificate/key is not overwritten by magic
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 05 Feb 2016 15:03:39 +0100 |
| parent | 7140:b19438c2ca1b |
| child | 7145:b1a109858502 |
comparison
equal
deleted
inserted
replaced
| 7140:b19438c2ca1b | 7144:f855ba7da30e |
|---|---|
| 118 end | 118 end |
| 119 | 119 |
| 120 local function create_context(host, mode, ...) | 120 local function create_context(host, mode, ...) |
| 121 local cfg = new_config(); | 121 local cfg = new_config(); |
| 122 cfg:apply(core_defaults); | 122 cfg:apply(core_defaults); |
| 123 cfg:apply(global_ssl_config); | |
| 124 local service_name, port = host:match("^(%w+) port (%d+)$"); | 123 local service_name, port = host:match("^(%w+) port (%d+)$"); |
| 125 if service_name then | 124 if service_name then |
| 126 cfg:apply(find_service_cert(service_name, tonumber(port))); | 125 cfg:apply(find_service_cert(service_name, tonumber(port))); |
| 127 else | 126 else |
| 128 cfg:apply(find_host_cert(host)); | 127 cfg:apply(find_host_cert(host)); |
| 130 cfg:apply({ | 129 cfg:apply({ |
| 131 mode = mode, | 130 mode = mode, |
| 132 -- We can't read the password interactively when daemonized | 131 -- We can't read the password interactively when daemonized |
| 133 password = function() log("error", "Encrypted certificate for %s requires 'ssl' 'password' to be set in config", host); end; | 132 password = function() log("error", "Encrypted certificate for %s requires 'ssl' 'password' to be set in config", host); end; |
| 134 }); | 133 }); |
| 134 cfg:apply(global_ssl_config); | |
| 135 | 135 |
| 136 for i = select('#', ...), 1, -1 do | 136 for i = select('#', ...), 1, -1 do |
| 137 cfg:apply(select(i, ...)); | 137 cfg:apply(select(i, ...)); |
| 138 end | 138 end |
| 139 local user_ssl_config = cfg:final(); | 139 local user_ssl_config = cfg:final(); |