Software / code / prosody
Comparison
prosodyctl @ 5151:dfe6a70efaa2
prosodyctl: Set stricter umask while generating key (thanks darkrain)
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 19 Sep 2012 23:26:38 +0200 |
| parent | 5150:81b49bb0ecc7 |
| child | 5152:fee5f8d4ec74 |
comparison
equal
deleted
inserted
replaced
| 5150:81b49bb0ecc7 | 5151:dfe6a70efaa2 |
|---|---|
| 685 if #arg >= 1 and arg[1] ~= "--help" then | 685 if #arg >= 1 and arg[1] ~= "--help" then |
| 686 local key_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".key"; | 686 local key_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".key"; |
| 687 if ask_overwrite(key_filename) then | 687 if ask_overwrite(key_filename) then |
| 688 return nil, key_filename; | 688 return nil, key_filename; |
| 689 end | 689 end |
| 690 os.remove(key_filename); -- We chmod this file to not have write permissions | 690 os.remove(key_filename); -- This file, if it exists is unlikely to have write permissions |
| 691 local key_size = tonumber(arg[2] or show_prompt("Choose key size (2048):") or 2048); | 691 local key_size = tonumber(arg[2] or show_prompt("Choose key size (2048):") or 2048); |
| 692 local old_umask = pposix.umask("0377"); | |
| 692 if openssl.genrsa{out=key_filename, key_size} then | 693 if openssl.genrsa{out=key_filename, key_size} then |
| 693 os.execute(("chmod 400 '%s'"):format(key_filename)); | 694 os.execute(("chmod 400 '%s'"):format(key_filename)); |
| 694 show_message("Key written to ".. key_filename); | 695 show_message("Key written to ".. key_filename); |
| 696 pposix.umask(old_umask); | |
| 695 return nil, key_filename; | 697 return nil, key_filename; |
| 696 end | 698 end |
| 697 show_message("There was a problem, see OpenSSL output"); | 699 show_message("There was a problem, see OpenSSL output"); |
| 698 else | 700 else |
| 699 show_usage("cert key HOSTNAME <bits>", "Generates a RSA key named HOSTNAME.key\n " | 701 show_usage("cert key HOSTNAME <bits>", "Generates a RSA key named HOSTNAME.key\n " |