summaryrefslogtreecommitdiff
path: root/lib/mk-ca-bundle.pl
diff options
context:
space:
mode:
authorGuenter Knauf <lists@gknw.net>2013-04-09 16:59:57 +0200
committerGuenter Knauf <lists@gknw.net>2013-04-09 16:59:57 +0200
commit88535d593e202a0fb85d59f849d114034561b059 (patch)
tree3ee9ea2dcdc15c400c80691d14a72d2ed21ed289 /lib/mk-ca-bundle.pl
parent11dee0bfae702c07b510dce05a55d1b8144fbbcb (diff)
downloadcurl-88535d593e202a0fb85d59f849d114034561b059.tar.gz
Fixed lost OpenSSL output with "-t".
The OpenSSL pipe wrote to the final CA bundle file, but the encoded PEM output wrote to a temporary file. Consequently, the OpenSSL output was lost when the temp file was renamed to the final file at script finish (overwriting the final file written earlier by openssl). Patch posted to the list by Richard Michael (rmichael edgeofthenet org).
Diffstat (limited to 'lib/mk-ca-bundle.pl')
-rwxr-xr-xlib/mk-ca-bundle.pl6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/mk-ca-bundle.pl b/lib/mk-ca-bundle.pl
index 2eeefff0b..188c939cb 100755
--- a/lib/mk-ca-bundle.pl
+++ b/lib/mk-ca-bundle.pl
@@ -203,9 +203,9 @@ while (<TXT>) {
print CRT $pem;
}
if ($opt_t) {
- open(TMP, "|$openssl x509 -md5 -fingerprint -text -inform PEM >> $crt") or die "Couldn't open openssl pipe: $!\n";
- print TMP $pem;
- close(TMP) or die "Couldn't close openssl pipe: $!\n";
+ my $openssl_output = `echo '$pem' | $openssl x509 -md5 -fingerprint -text -inform PEM` or
+ die "Couldn't run openssl : $?\n";
+ print CRT $openssl_output;
}
print STDERR "Parsing: $caname\n" if ($opt_v);
$certnum ++;