Software /
code /
prosody
Diff
util/prosodyctl/cert.lua @ 12200:2bb4ee5f42be
util.prosodyctl.cert: Check success of copy operations, warn on fail
Debugging a case where certs are not imported correctly but prosodyctl
still reports success. Hoping this will shed some light on it.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 19 Jan 2022 10:28:09 +0100 |
parent | 12199:12eaa2fdd75b |
child | 12216:0f5d04c3092f |
line wrap: on
line diff
--- a/util/prosodyctl/cert.lua Wed Jan 19 10:26:43 2022 +0100 +++ b/util/prosodyctl/cert.lua Wed Jan 19 10:28:09 2022 +0100 @@ -227,10 +227,15 @@ -- One certificate, many mames! table.insert(imported, host); elseif paths then - copy(paths.certificate, cert_basedir .. "/" .. host .. ".crt", nil, owner, group); - copy(paths.key, cert_basedir .. "/" .. host .. ".key", "0377", owner, group); - table.insert(imported, host); - imported[paths.certificate] = true; + local c = copy(paths.certificate, cert_basedir .. "/" .. host .. ".crt", nil, owner, group); + local k = copy(paths.key, cert_basedir .. "/" .. host .. ".key", "0377", owner, group); + if c and k then + table.insert(imported, host); + imported[paths.certificate] = true; + else + if not c then pctl.show_warning("Could not copy certificate '%s'", paths.certificate); end + if not k then pctl.show_warning("Could not copy key '%s'", paths.key); end + end else -- TODO Say where we looked pctl.show_warning("No certificate for host %s found :(", host);