From 88535d593e202a0fb85d59f849d114034561b059 Mon Sep 17 00:00:00 2001 From: Guenter Knauf Date: Tue, 9 Apr 2013 16:59:57 +0200 Subject: [PATCH] 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). --- lib/mk-ca-bundle.pl | 6 +++--- 1 file 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 () { 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 ++;