Don't use expired certificates if possible.
[openssl.git] / tools / c_rehash.in
index ca3021ae8a4ff2ccf1a2f121a60f8ba6e20c9aef..bfc4a69ed4bcd8cb384a9bdc1d445bfcdd9b367c 100644 (file)
@@ -7,6 +7,7 @@
 my $openssl;
 
 my $dir;
+my $prefix;
 
 if(defined $ENV{OPENSSL}) {
        $openssl = $ENV{OPENSSL};
@@ -15,16 +16,23 @@ if(defined $ENV{OPENSSL}) {
        $ENV{OPENSSL} = $openssl;
 }
 
-my $pwd = `pwd`; chomp $pwd;
+my $pwd;
+eval "require Cwd";
+if (defined(&Cwd::getcwd)) {
+       $pwd=Cwd::getcwd();
+} else {
+       $pwd=`pwd`; chomp($pwd);
+}
 my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':'; # DOS/Win32 or Unix delimiter?
 
-$ENV{PATH} .= "$path_delim$dir/bin";
+$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : ""); # prefix our path
 
 if(! -x $openssl) {
        my $found = 0;
        foreach (split /$path_delim/, $ENV{PATH}) {
                if(-x "$_/$openssl") {
                        $found = 1;
+                       $openssl = "$_/$openssl";
                        last;
                }       
        }