Fix logic to check for indent.pro
[oweals/openssl.git] / tools / c_rehash.in
index 69da98ff2cf2e71e58b5f2b26624696a084c8e43..8b6d3f56472aaf88bea54110545aef9fdcf7d9a3 100644 (file)
@@ -7,6 +7,7 @@
 my $openssl;
 
 my $dir;
+my $prefix;
 
 if(defined $ENV{OPENSSL}) {
        $openssl = $ENV{OPENSSL};
@@ -17,10 +18,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 +101,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 +132,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/^.*=//;