diff options
author | Peter Powell <petpow@saberuk.com> | 2015-05-22 04:22:52 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2015-06-15 21:30:27 +0100 |
commit | 4e3d7a6e30eadf714483994681b8b2534229f4a8 (patch) | |
tree | f33bee73a1b379269da38425fd69fbfed86b8bb0 | |
parent | 77b5bd0dbc10defcbc6bbc49df9da12d6a61dd8c (diff) |
Show a better warning when certtool/openssl are missing.
-rw-r--r-- | make/gnutlscert.pm | 13 | ||||
-rw-r--r-- | make/opensslcert.pm | 5 |
2 files changed, 12 insertions, 6 deletions
diff --git a/make/gnutlscert.pm b/make/gnutlscert.pm index 1204369a9..2c46e0e63 100644 --- a/make/gnutlscert.pm +++ b/make/gnutlscert.pm @@ -29,9 +29,16 @@ use Exporter 'import'; use make::configure; our @EXPORT = qw(make_gnutls_cert); +# On OS X the GnuTLS certtool is prefixed to avoid collision with the system certtool. +my $certtool = $^O eq 'darwin' ? 'gnutls-certtool' : 'certtool'; sub make_gnutls_cert() { + if (system "$certtool --version >/dev/null 2>&1") + { + print "\e[1;31mError:\e[0m unable to find '$certtool' in the PATH!\n"; + return 1; + } open (FH, ">certtool.template"); my $timestr = time(); my $commonname = promptstring_s('What is the hostname of your server?', 'irc.example.com'); @@ -133,12 +140,6 @@ ocsp_signing_key time_stamping_key __END__ close(FH); -my $certtool = "certtool"; -if (`uname -s` eq "Darwin\n") { - # On OS X the certtool binary name is different to prevent - # collisions with the system certtool from NSS. - $certtool = "gnutls-certtool"; -} if ( (my $status = system("$certtool --generate-privkey --outfile key.pem")) ne 0) { return 1; } if ( (my $status = system("$certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem --template certtool.template")) ne 0) { return 1; } unlink("certtool.template"); diff --git a/make/opensslcert.pm b/make/opensslcert.pm index b8c9d164f..1bf27df15 100644 --- a/make/opensslcert.pm +++ b/make/opensslcert.pm @@ -32,6 +32,11 @@ our @EXPORT = qw(make_openssl_cert); sub make_openssl_cert() { + if (system 'openssl version >/dev/null 2>&1') + { + print "\e[1;31mCertificate generation failed:\e[0m unable to find 'openssl' in the PATH!\n"; + return; + } open (FH, ">openssl.template"); my $commonname = promptstring_s('What is the hostname of your server?', 'irc.example.com'); my $email = promptstring_s('What email address can you be contacted at?', 'example@example.com'); |