]> mj.ucw.cz Git - eval.git/blob - submit/perl-ssleay.diff
Added a bug fix for Net::SSLeay.
[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 +       warn "  written so far $wrote:$written bytes (VM=$vm) brum\n" if $trace>2;
15         
16         $errs .= print_errs('SSL_write');
17 +       $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs;
18         return (wantarray ? (undef, $errs) : undef) if $errs;
19      }
20      return wantarray ? ($written, $errs) : $written;
21 @@ -1690,7 +1691,6 @@
22         }
23         $vm = $trace>2 && $linux_debug ?
24             (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
25 -       warn "  written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2;
26      }
27      return wantarray ? ($written, '') : $written;
28  }
29 --- /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al.mj  2007-06-29 22:17:19.000000000 +0200
30 +++ /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al     2007-06-29 22:17:35.000000000 +0200
31 @@ -26,9 +26,10 @@
32         }
33         $vm = $trace>2 && $linux_debug ?
34             (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
35 -       warn "  written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2;
36 +       warn "  written so far $wrote:$written bytes (VM=$vm) brum\n" if $trace>2;
37         
38         $errs .= print_errs('SSL_write');
39 +       $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs;
40         return (wantarray ? (undef, $errs) : undef) if $errs;
41      }
42      return wantarray ? ($written, $errs) : $written;