OpenSSL CVS Repository
http://cvs.openssl.org/
____________________________________________________________
________________
Server: cvs.openssl.org Name: Andy
Polyakov
Root: /v/openssl/cvs Email: appro openssl.org
Module: openssl Date:
21-Oct-2006 18:28:03
Branch: HEAD Handle:
2006102117280300
Modified files:
openssl Makefile.org
openssl/tools c_rehash.in
Log:
Make c_rehash more platform neutral and make it work in
mixed environment,
such as MSYS with "native" Win32 perl.
Summary:
Revision Changes Path
1.278 +1 -0 openssl/Makefile.org
1.10 +17 -5 openssl/tools/c_rehash.in
____________________________________________________________
________________
patch -p0 <<' .'
Index: openssl/Makefile.org
============================================================
================
$ cvs diff -u -r1.277 -r1.278 Makefile.org
--- openssl/Makefile.org 21 Oct 2006 13:38:15 -0000 1.277
+++ openssl/Makefile.org 21 Oct 2006 16:28:03 -0000 1.278
 -388,6 +388,7 
rehash.time: certs apps
if [ -z "$(CROSS_COMPILE_PREFIX)" ]; then
(OPENSSL="`pwd`/util/opensslwrap.sh";
+ [ -x "apps/openssl.exe" ] &&
OPENSSL="apps/openssl.exe";
OPENSSL_DEBUG_MEMORY=on;
export OPENSSL OPENSSL_DEBUG_MEMORY;
$(PERL) tools/c_rehash certs) &&
 .
patch -p0 <<' .'
Index: openssl/tools/c_rehash.in
============================================================
================
$ cvs diff -u -r1.9 -r1.10 c_rehash.in
--- openssl/tools/c_rehash.in 11 Oct 2002 20:31:27
-0000 1.9
+++ openssl/tools/c_rehash.in 21 Oct 2006 16:28:03
-0000 1.10
 -15,11 +15,14 
$ENV = $openssl;
}
-$ENV .= ":$dir/bin";
+my $pwd = `pwd`; chomp $pwd;
+my $path_delim = ($pwd =~ /^[a-z]:/i) ? ';' : ':'; #
DOS/Win32 or Unix delimiter?
+
+$ENV .= "$path_delim$dir/bin";
if(! -x $openssl) {
my $found = 0;
- foreach (split /:/, $ENV) {
+ foreach (split /$path_delim/, $ENV) {
if(-x "$_/$openssl") {
$found = 1;
last;
 -34,11 +37,16 
if( ARGV) {
dirlist = ARGV;
} elsif($ENV) {
- dirlist = split /:/, $ENV;
+ dirlist = split /$path_delim/, $ENV;
} else {
$dirlist[0] = "$dir/certs";
}
+if (-d $dirlist[0]) {
+ chdir $dirlist[0];
+ $openssl="$pwd/$openssl" if (!-x $openssl);
+ chdir $pwd;
+}
foreach ( dirlist) {
if(-d $_ and -w $_) {
 -101,7 +109,7 
sub link_hash_cert {
my $fname = $_[0];
$fname =~ s/'/'\''/g;
- my ($hash, $fprint) = `"$openssl" x509 -hash
-fingerprint -noout -in '$fname'`;
+ my ($hash, $fprint) = `"$openssl" x509 -hash
-fingerprint -noout -in "$fname"`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
 -122,7 +130,11 
if ($symlink_exists) {
symlink $fname, $hash;
} else {
- system ("cp", $fname, $hash);
+ open IN,"<$fname" or die "can't open
$fname for read";
+ open OUT,">$hash" or die "can't open
$hash for write";
+ print OUT <IN>; # does the job for small text
files
+ close OUT;
+ close IN;
}
$hashlist{$hash} = $fprint;
}
 .
____________________________________________________________
__________
OpenSSL Project http://www.openssl.org
CVS Repository Commit List
openssl-cvs openssl.org
Automated List Manager
majordomo openssl.org
|