Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1576842
 поиск   регистрация   авторизация 
 
Группа :: Безопасность/Сети
Пакет: tinyca

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: tinyca-0.6.8-alt-openssl_crl_fix.patch


--- tinyca-0.6.8/lib/OpenSSL.pm.orig	2005-06-05 15:43:46 +0400
+++ tinyca-0.6.8/lib/OpenSSL.pm	2005-06-05 15:49:01 +0400
@@ -41,12 +41,17 @@
    my $v = <TEST>;
    close(TEST);
 
+   $self->{'crl_bug'} = 1; # Flag for OpenSSL with bug #917  
    if($v =~ /0.9.6/) {
       $self->{'version'} = "0.9.6";
+   } elsif ($v =~ /0.9.7(\w)/) {
+      $self->{'version'} = "0.9.7";
+      $self->{'crl_bug'} = 0 if ("$1" gt "e"); # OpenSSL > 0.9.7e 
    } elsif ($v =~ /0.9.7/) {
       $self->{'version'} = "0.9.7";
    } elsif ($v =~ /0.9.8/) {
       $self->{'version'} = "0.9.8";
+      $self->{'crl_bug'} = 0;
    }
 
    bless($self, $class);
@@ -827,8 +832,9 @@
    $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')) { 
+      (($opts->{'cmd'} eq 'crl') && $self->{'crl_bug'} && (
+        ($ret != 0 && $opts->{'outform'} ne 'TEXT' ) ||
+        ($ret != 1 && $opts->{'outform'} eq 'TEXT' ))) ) {
       unlink($file);
       return($ret, undef, $ext);
    } else {
 
design & coding: Vladimir Lettiev aka crux © 2004-2005