]> mj.ucw.cz Git - eval.git/blob - submit/perl-ssleay.diff
Antoher fix to the patch.
[eval.git] / submit / perl-ssleay.diff
1 This is a fix for a longstanding bug in Net::SSLeay, which caused writes
2 to broken connections to loop forever if SIGPIPE was blocked.
3
4                                         Martin Mares, June 2007
5
6
7 --- /usr/lib/perl5/Net/SSLeay.pm.mj     2007-06-29 22:12:18.000000000 +0200
8 +++ /usr/lib/perl5/Net/SSLeay.pm        2007-06-29 22:17:37.000000000 +0200
9 @@ -1659,9 +1659,10 @@
10         }
11         $vm = $trace>2 && $linux_debug ?
12             (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
13         warn "  written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2;
14         
15         $errs .= print_errs('SSL_write');
16 +       $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs;
17         return (wantarray ? (undef, $errs) : undef) if $errs;
18      }
19      return wantarray ? ($written, $errs) : $written;
20 --- /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al.mj  2007-06-29 22:17:19.000000000 +0200
21 +++ /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al     2007-06-29 22:17:35.000000000 +0200
22 @@ -26,9 +26,10 @@
23         }
24         $vm = $trace>2 && $linux_debug ?
25             (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
26         warn "  written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2;
27         
28         $errs .= print_errs('SSL_write');
29 +       $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs;
30         return (wantarray ? (undef, $errs) : undef) if $errs;
31      }
32      return wantarray ? ($written, $errs) : $written;