From 5db97f02c08e1252f4fca496831511928ce22b0a Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Fri, 29 Jun 2007 22:24:25 +0200 Subject: [PATCH] Added a bug fix for Net::SSLeay. --- submit/perl-ssleay.diff | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 submit/perl-ssleay.diff diff --git a/submit/perl-ssleay.diff b/submit/perl-ssleay.diff new file mode 100644 index 0000000..1cd1277 --- /dev/null +++ b/submit/perl-ssleay.diff @@ -0,0 +1,42 @@ +This is a fix for a longstanding bug in Net::SSLeay, which caused writes +to broken connections to loop forever if SIGPIPE was blocked. + + Martin Mares, June 2007 + + +--- /usr/lib/perl5/Net/SSLeay.pm.mj 2007-06-29 22:12:18.000000000 +0200 ++++ /usr/lib/perl5/Net/SSLeay.pm 2007-06-29 22:17:37.000000000 +0200 +@@ -1659,9 +1659,10 @@ + } + $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; +- warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; ++ warn " written so far $wrote:$written bytes (VM=$vm) brum\n" if $trace>2; + + $errs .= print_errs('SSL_write'); ++ $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs; + return (wantarray ? (undef, $errs) : undef) if $errs; + } + return wantarray ? ($written, $errs) : $written; +@@ -1690,7 +1691,6 @@ + } + $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; +- warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; + } + return wantarray ? ($written, '') : $written; + } +--- /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al.mj 2007-06-29 22:17:19.000000000 +0200 ++++ /usr/lib/perl5/auto/Net/SSLeay/ssl_write_all.al 2007-06-29 22:17:35.000000000 +0200 +@@ -26,9 +26,10 @@ + } + $vm = $trace>2 && $linux_debug ? + (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown'; +- warn " written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2; ++ warn " written so far $wrote:$written bytes (VM=$vm) brum\n" if $trace>2; + + $errs .= print_errs('SSL_write'); ++ $errs .= "SSL_write $$: 1 - $!\n" if $wrote < 0 && !$errs; + return (wantarray ? (undef, $errs) : undef) if $errs; + } + return wantarray ? ($written, $errs) : $written; -- 2.39.2