aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2012-09-19 23:26:38 +0200
committerKim Alvefur <zash@zash.se>2012-09-19 23:26:38 +0200
commit0d018c22f9470623bee61a05859d5b02fe9251d9 (patch)
tree5e427f07c89562c85426fdc09abb2bf92bae437b
parent04a42be0ba3de8df3b278dc578825d6c5a745301 (diff)
downloadprosody-0d018c22f9470623bee61a05859d5b02fe9251d9.tar.gz
prosody-0d018c22f9470623bee61a05859d5b02fe9251d9.zip
prosodyctl: Set stricter umask while generating key (thanks darkrain)
-rwxr-xr-xprosodyctl4
1 files changed, 3 insertions, 1 deletions
diff --git a/prosodyctl b/prosodyctl
index 12117c0f..93eac3f2 100755
--- a/prosodyctl
+++ b/prosodyctl
@@ -686,11 +686,13 @@ function cert_commands.key(arg)
if ask_overwrite(key_filename) then
return nil, key_filename;
end
- os.remove(key_filename); -- We chmod this file to not have write permissions
+ os.remove(key_filename); -- This file, if it exists is unlikely to have write permissions
local key_size = tonumber(arg[2] or show_prompt("Choose key size (2048):") or 2048);
+ local old_umask = pposix.umask("0377");
if openssl.genrsa{out=key_filename, key_size} then
os.execute(("chmod 400 '%s'"):format(key_filename));
show_message("Key written to ".. key_filename);
+ pposix.umask(old_umask);
return nil, key_filename;
end
show_message("There was a problem, see OpenSSL output");