+#
+# InspIRCd -- Internet Relay Chat Daemon
+#
+# Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+# Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
+#
+# This file is part of InspIRCd. InspIRCd is free software: you can
+# redistribute it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation, version 2.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
package make::gnutlscert;
+require 5.8.0;
+
+use strict;
+use warnings FATAL => qw(all);
+
use Exporter 'import';
use make::configure;
-@EXPORT = qw(make_gnutls_cert);
+our @EXPORT = qw(make_gnutls_cert);
sub make_gnutls_cert()
my $timestr = time();
my $org = promptstring_s("Please enter the organization name", "My IRC Network");
my $unit = promptstring_s("Please enter the unit Name", "Server Admins");
- my $state = promptstring_s("Pleae enter your state (two letter code)", "CA");
+ my $state = promptstring_s("Please enter your state (two letter code)", "CA");
my $country = promptstring_s("Please enter your country", "Oompa Loompa Land");
my $commonname = promptstring_s("Please enter the certificate common name (hostname)", "irc.mynetwork.com");
my $email = promptstring_s("Please enter a contact email address", "oompa\@loompa.com");
time_stamping_key
__END__
close(FH);
-system("certtool --generate-privkey --outfile key.pem") or return 1;
-system("certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem --template certtool.template") or return 1;
+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");
+return 0;
}
1;