--- OpenSSL.pm.orig 2005-02-22 14:52:24 +0300 +++ OpenSSL.pm.orig 2005-06-05 00:50:10 +0400 @@ -43,8 +43,10 @@ sub new { if($v =~ /0.9.6/) { $self->{'version'} = "0.9.6"; - } elsif ($v =~ /0.9.7/) { - $self->{'version'} = "0.9.7"; + } elsif ($v =~ /0.9.7[abcd]/) { + $self->{'version'} = "0.9.7old"; + } elsif ($v =~ /0.9.7[^abcd]/) { + $self->{'version'} = "0.9.7"; } elsif ($v =~ /0.9.8/) { $self->{'version'} = "0.9.8"; } @@ -821,20 +823,29 @@ sub convdata { print $wtfh "$opts->{'data'}\n"; while(<$rdfh>){ $ext .= $_; - # print STDERR "DEBUG: cmd ret: $_"; + # print STDERR "DEBUG: cmd ret: $_"; }; waitpid($pid, 0); $ret = $?>>8; - if(($ret != 0 && $opts->{'cmd'} ne 'crl') || - ($ret != 0 && $opts->{'outform'} ne 'TEXT' && $opts->{'cmd'} eq 'crl') || - ($ret != 1 && $opts->{'outform'} eq 'TEXT' && $opts->{'cmd'} eq 'crl')) { - unlink($file); - return($ret, undef, $ext); + if( $self->{'version'} =~ '(0.9.7old|0.9.6)' ) { + if(($ret != 0 && $opts->{'cmd'} ne 'crl') || + ($ret != 0 && $opts->{'outform'} ne 'TEXT' && $opts->{'cmd'} eq 'crl') || + ($ret != 1 && $opts->{'outform'} eq 'TEXT' && $opts->{'cmd'} eq 'crl')) { + unlink($file); + return($ret, undef, $ext); + } else { + $ret = 0; + } } else { - $ret = 0; + if($ret != 0) { + unlink($file); + return($ret, undef, $ext); + } else { + $ret = 0; + } } - + open(IN, $file) || do { my $t = sprintf(gettext("Can't open file %s: %s"), $file, $!); GUI::HELPERS::print_warning($t);