summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2015-06-26 00:00:25 +0200
committerAttila Molnar <attilamolnar@hush.com>2015-06-26 00:00:25 +0200
commit539abb9e93e9657c136759116379f7182c78ea8c (patch)
treef78ce03a6225ad49c4e11cf9d2fc156c08d631e1
parenteb084fc8b2d3938c42fb39890482f6ac60915507 (diff)
parent4e3d7a6e30eadf714483994681b8b2534229f4a8 (diff)
Merge pull request #1063 from SaberUK/insp20+cert-warning
[2.0] Show a better warning when certtool/openssl are missing.
-rw-r--r--make/gnutlscert.pm13
-rw-r--r--make/opensslcert.pm5
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');