projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
always read in RAND_poll() if we can't use select because of a too
[oweals/openssl.git]
/
tools
/
c_rehash.in
diff --git
a/tools/c_rehash.in
b/tools/c_rehash.in
index baec7c14ff4308a3062996597f0c27a1dbef54d0..4497cbd9f178276df4131a710555c7ab1f0aff3f 100644
(file)
--- a/
tools/c_rehash.in
+++ b/
tools/c_rehash.in
@@
-17,10
+17,10
@@
if(defined $ENV{OPENSSL}) {
$ENV{PATH} .= ":$dir/bin";
$ENV{PATH} .= ":$dir/bin";
-if(! -
f
$openssl) {
+if(! -
x
$openssl) {
my $found = 0;
foreach (split /:/, $ENV{PATH}) {
my $found = 0;
foreach (split /:/, $ENV{PATH}) {
- if(-
f
"$_/$openssl") {
+ if(-
x
"$_/$openssl") {
$found = 1;
last;
}
$found = 1;
last;
}
@@
-100,7
+100,8
@@
sub check_file {
sub link_hash_cert {
my $fname = $_[0];
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/^.*=//;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
@@
-117,7
+118,12
@@
sub link_hash_cert {
}
$hash .= ".$suffix";
print "$fname => $hash\n";
}
$hash .= ".$suffix";
print "$fname => $hash\n";
- symlink $fname, $hash;
+ $symlink_exists=eval {symlink("",""); 1};
+ if ($symlink_exists) {
+ symlink $fname, $hash;
+ } else {
+ system ("cp", $fname, $hash);
+ }
$hashlist{$hash} = $fprint;
}
$hashlist{$hash} = $fprint;
}
@@
-125,7
+131,8
@@
sub link_hash_cert {
sub link_hash_crl {
my $fname = $_[0];
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/^.*=//;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
@@
-142,7
+149,12
@@
sub link_hash_crl {
}
$hash .= ".r$suffix";
print "$fname => $hash\n";
}
$hash .= ".r$suffix";
print "$fname => $hash\n";
- symlink $fname, $hash;
+ $symlink_exists=eval {symlink("",""); 1};
+ if ($symlink_exists) {
+ symlink $fname, $hash;
+ } else {
+ system ("cp", $fname, $hash);
+ }
$hashlist{$hash} = $fprint;
}
$hashlist{$hash} = $fprint;
}