Software /
code /
prosody
Comparison
prosodyctl @ 4872:b2059452fb55
prosodyctl: Improve help messages for cert commands
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 13 May 2012 15:02:38 +0200 |
parent | 4827:fefbfd76d2d3 |
child | 4878:80ab7c50608d |
comparison
equal
deleted
inserted
replaced
4871:b2d177f2febc | 4872:b2059452fb55 |
---|---|
647 conf_file:close(); | 647 conf_file:close(); |
648 print(""); | 648 print(""); |
649 show_message("Config written to " .. conf_filename); | 649 show_message("Config written to " .. conf_filename); |
650 return nil, conf_filename; | 650 return nil, conf_filename; |
651 else | 651 else |
652 show_usage("cert config HOSTNAME", "builds a config for OpenSSL") | 652 show_usage("cert config HOSTNAME [HOSTNAME+]", "Builds a certificate config file covering the supplied hostname(s)") |
653 end | 653 end |
654 end | 654 end |
655 | 655 |
656 function cert_commands.key(arg) | 656 function cert_commands.key(arg) |
657 if #arg >= 1 and arg[1] ~= "--help" then | 657 if #arg >= 1 and arg[1] ~= "--help" then |
666 show_message("Key written to ".. key_filename); | 666 show_message("Key written to ".. key_filename); |
667 return nil, key_filename; | 667 return nil, key_filename; |
668 end | 668 end |
669 show_message("There was a problem, see OpenSSL output"); | 669 show_message("There was a problem, see OpenSSL output"); |
670 else | 670 else |
671 show_usage("cert key HOSTNAME <bits>", "Generates a RSA key") | 671 show_usage("cert key HOSTNAME <bits>", "Generates a RSA key named HOSTNAME.key\n " |
672 .."Promps for a key size if none given") | |
672 end | 673 end |
673 end | 674 end |
674 | 675 |
675 function cert_commands.request(arg) | 676 function cert_commands.request(arg) |
676 if #arg >= 1 and arg[1] ~= "--help" then | 677 if #arg >= 1 and arg[1] ~= "--help" then |
677 local req_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".req"; | 678 local req_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".req"; |
678 if ask_overwrite(req_filename) then | 679 if ask_overwrite(req_filename) then |
679 return nil, req_filename; | 680 return nil, req_filename; |
680 end | 681 end |
681 local _, key_filename = cert_commands.key({arg[1]}); | 682 local _, key_filename = cert_commands.key({arg[1]}); |
682 local _, conf_filename = cert_commands.config({arg[1]}); | 683 local _, conf_filename = cert_commands.config(arg); |
683 if openssl.req{new=true, key=key_filename, utf8=true, config=conf_filename, out=req_filename} then | 684 if openssl.req{new=true, key=key_filename, utf8=true, config=conf_filename, out=req_filename} then |
684 show_message("Certificate request written to ".. req_filename); | 685 show_message("Certificate request written to ".. req_filename); |
685 else | 686 else |
686 show_message("There was a problem, see OpenSSL output"); | 687 show_message("There was a problem, see OpenSSL output"); |
687 end | 688 end |
688 else | 689 else |
689 show_usage("cert request HOSTNAME", "Generates a certificate request") | 690 show_usage("cert request HOSTNAME [HOSTNAME+]", "Generates a certificate request for the supplied hostname(s)") |
690 end | 691 end |
691 end | 692 end |
692 | 693 |
693 function cert_commands.generate(arg) | 694 function cert_commands.generate(arg) |
694 if #arg >= 1 and arg[1] ~= "--help" then | 695 if #arg >= 1 and arg[1] ~= "--help" then |
695 local cert_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".cert"; | 696 local cert_filename = (CFG_DATADIR or ".") .. "/" .. arg[1] .. ".cert"; |
696 if ask_overwrite(cert_filename) then | 697 if ask_overwrite(cert_filename) then |
697 return nil, conf_filename; | 698 return nil, conf_filename; |
698 end | 699 end |
699 local _, key_filename = cert_commands.key({arg[1]}); | 700 local _, key_filename = cert_commands.key({arg[1]}); |
700 local _, conf_filename = cert_commands.config({arg[1]}); | 701 local _, conf_filename = cert_commands.config(arg); |
701 local ret; | 702 local ret; |
702 if key_filename and conf_filename and cert_filename | 703 if key_filename and conf_filename and cert_filename |
703 and openssl.req{new=true, x509=true, nodes=true, key=key_filename, | 704 and openssl.req{new=true, x509=true, nodes=true, key=key_filename, |
704 days=365, sha1=true, utf8=true, config=conf_filename, out=cert_filename} then | 705 days=365, sha1=true, utf8=true, config=conf_filename, out=cert_filename} then |
705 show_message("Certificate written to ".. cert_filename); | 706 show_message("Certificate written to ".. cert_filename); |
706 else | 707 else |
707 show_message("There was a problem, see OpenSSL output"); | 708 show_message("There was a problem, see OpenSSL output"); |
708 end | 709 end |
709 else | 710 else |
710 show_usage("cert generate HOSTNAME", "Generates a self-signed certificate") | 711 show_usage("cert generate HOSTNAME [HOSTNAME+]", "Generates a self-signed certificate for the current hostname(s)") |
711 end | 712 end |
712 end | 713 end |
713 | 714 |
714 function commands.cert(arg) | 715 function commands.cert(arg) |
715 if #arg >= 1 and arg[1] ~= "--help" then | 716 if #arg >= 1 and arg[1] ~= "--help" then |
716 local subcmd = table.remove(arg, 1); | 717 local subcmd = table.remove(arg, 1); |
717 if type(cert_commands[subcmd]) == "function" then | 718 if type(cert_commands[subcmd]) == "function" then |
718 if not hosts[arg[1]] then | 719 if not arg[1] then |
720 show_message"You need to supply at least one hostname" | |
721 arg = { "--help" }; | |
722 end | |
723 if arg[1] ~= "--help" and not hosts[arg[1]] then | |
719 show_message(error_messages["no-such-host"]); | 724 show_message(error_messages["no-such-host"]); |
720 return | 725 return |
721 end | 726 end |
722 return cert_commands[subcmd](arg); | 727 return cert_commands[subcmd](arg); |
723 end | 728 end |
724 end | 729 end |
725 show_usage("cert config|request|generate|key", "Helpers for X.509 certificates.") | 730 show_usage("cert config|request|generate|key", "Helpers for generating X.509 certificates and keys.") |
726 end | 731 end |
727 | 732 |
728 --------------------- | 733 --------------------- |
729 | 734 |
730 if command and command:match("^mod_") then -- Is a command in a module | 735 if command and command:match("^mod_") then -- Is a command in a module |