diff options
Diffstat (limited to 'crypto/openssl/tools/c_rehash.in')
-rw-r--r-- | crypto/openssl/tools/c_rehash.in | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crypto/openssl/tools/c_rehash.in b/crypto/openssl/tools/c_rehash.in index 26db899..4497cbd 100644 --- a/crypto/openssl/tools/c_rehash.in +++ b/crypto/openssl/tools/c_rehash.in @@ -17,10 +17,10 @@ if(defined $ENV{OPENSSL}) { $ENV{PATH} .= ":$dir/bin"; -if(! -f $openssl) { +if(! -x $openssl) { my $found = 0; foreach (split /:/, $ENV{PATH}) { - if(-f "$_/$openssl") { + if(-x "$_/$openssl") { $found = 1; last; } @@ -100,7 +100,8 @@ sub check_file { sub link_hash_cert { my $fname = $_[0]; - my ($hash, $fprint) = `$openssl x509 -hash -fingerprint -noout -in $fname`; + $fname =~ s/'/'\\''/g; + my ($hash, $fprint) = `"$openssl" x509 -hash -fingerprint -noout -in '$fname'`; chomp $hash; chomp $fprint; $fprint =~ s/^.*=//; @@ -130,7 +131,8 @@ sub link_hash_cert { sub link_hash_crl { my $fname = $_[0]; - my ($hash, $fprint) = `$openssl crl -hash -fingerprint -noout -in $fname`; + $fname =~ s/'/'\\''/g; + my ($hash, $fprint) = `"$openssl" crl -hash -fingerprint -noout -in '$fname'`; chomp $hash; chomp $fprint; $fprint =~ s/^.*=//; |