aboutsummaryrefslogtreecommitdiff
path: root/prosodyctl
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2017-04-24 14:19:49 +0200
committerKim Alvefur <zash@zash.se>2017-04-24 14:19:49 +0200
commitb5172a95c167e2afbe896048e78c2dbd6cf45768 (patch)
treeb65922f6e19408fc9deee0d69532292f24cfa54d /prosodyctl
parent26f408396525912eb6dad1b4f840b620ed93112d (diff)
parentbc551be7b355157b8861f81930db499cd9ee1eed (diff)
downloadprosody-im-server-b5172a95c167e2afbe896048e78c2dbd6cf45768.tar
prosody-im-server-b5172a95c167e2afbe896048e78c2dbd6cf45768.zip
Merge 0.10->trunk
Diffstat (limited to 'prosodyctl')
-rwxr-xr-xprosodyctl16
1 files changed, 14 insertions, 2 deletions
diff --git a/prosodyctl b/prosodyctl
index 27743b55..17acbed1 100755
--- a/prosodyctl
+++ b/prosodyctl
@@ -873,19 +873,21 @@ function cert_commands.import(arg)
owner = config.get("*", "prosody_user") or "prosody";
group = config.get("*", "prosody_group") or owner;
end
+ local imported = {};
for _, host in ipairs(hostnames) do
for _, dir in ipairs(arg) do
if lfs.attributes(dir .. "/" .. host .. "/fullchain.pem")
and lfs.attributes(dir .. "/" .. host .. "/privkey.pem") then
copy(dir .. "/" .. host .. "/fullchain.pem", cert_basedir .. "/" .. host .. ".crt", nil, owner, group);
copy(dir .. "/" .. host .. "/privkey.pem", cert_basedir .. "/" .. host .. ".key", "0377", owner, group);
- show_message("Imported certificate and key for "..host);
+ table.insert(imported, host);
elseif lfs.attributes(dir .. "/" .. host .. ".crt")
and lfs.attributes(dir .. "/" .. host .. ".key") then
copy(dir .. "/" .. host .. ".crt", cert_basedir .. "/" .. host .. ".crt", nil, owner, group);
copy(dir .. "/" .. host .. ".key", cert_basedir .. "/" .. host .. ".key", "0377", owner, group);
- show_message("Imported certificate and key for "..host);
+ table.insert(imported, host);
else
+ -- TODO Say where we looked
show_warning("No certificate for host "..host.." found :(");
end
-- TODO Additional checks
@@ -893,6 +895,16 @@ function cert_commands.import(arg)
-- Private key matches public key in certificate
end
end
+ if imported[1] then
+ show_message("Imported certificate and key for hosts "..table.concat(imported, ", "));
+ local ok, err = prosodyctl.reload();
+ if not ok and err ~= "not-running" then
+ show_message(error_messages[err]);
+ end
+ else
+ show_warning("No certificates imported :(");
+ return 1;
+ end
end
function commands.cert(arg)