X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=prosodyctl;h=4d3c47908e864f60ed7bba4e0456d5cf994f48fb;hb=eccbcb3ea2047f1507510fce0ad8ad032f432fed;hp=f44dc4f8e925fcd53061e0ca4026c68a589e85db;hpb=86381ca387616ad92376c4f312ff30fd6e48b647;p=prosody.git diff --git a/prosodyctl b/prosodyctl index f44dc4f8..4d3c4790 100755 --- a/prosodyctl +++ b/prosodyctl @@ -687,11 +687,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"); @@ -723,7 +725,7 @@ function cert_commands.generate(arg) if #arg >= 1 and arg[1] ~= "--help" then local cert_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".cert"; if ask_overwrite(cert_filename) then - return nil, conf_filename; + return nil, cert_filename; end local _, key_filename = cert_commands.key({arg[1]}); local _, conf_filename = cert_commands.config(arg);