diff options
author | J0WI <J0WI@users.noreply.github.com> | 2020-02-01 18:14:40 +0100 |
---|---|---|
committer | Leo <thinkabit.ukim@gmail.com> | 2020-02-01 18:48:45 +0100 |
commit | 50f3387b6d1b4549d14528a96c3bd6c8117f5e24 (patch) | |
tree | 47eae592c9c286b553a19630029e1986b0666702 /testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch | |
parent | df1ea51be31dc7aff68df38007d544565babf78f (diff) | |
download | aports-50f3387b6d1b4549d14528a96c3bd6c8117f5e24.tar.bz2 aports-50f3387b6d1b4549d14528a96c3bd6c8117f5e24.tar.xz |
testing/apache2-mod-perl: upgrade to 2.0.11
Diffstat (limited to 'testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch')
-rw-r--r-- | testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch b/testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch deleted file mode 100644 index d274ff7341..0000000000 --- a/testing/apache2-mod-perl/mod_perl-2.0.7-fix_pipelines_reponse_deadlock_in_tests.patch +++ /dev/null @@ -1,108 +0,0 @@ -Fix pipelined response deadlock in tests - -There's a race condition that can cause mod_perl's test suite to hang -in t/filter/in_str_declined.t. The problem is that the response handler -starts generating response body, and so triggers header output, before -it reads the request body. If LWP::Protocol::http, which is the client -for this test, receives a complete set of response headers, it will stop -sending the request body. (However, if the request body is no more than -8192 octets then it will send the whole body before it starts looking -for a response. The failure only shows up with an appreciably large -request body.) - -RFC 2616 doesn't explicitly address this sort of pipelining, but the -start of section 6 does say "After receiving and interpreting a request -message, a server responds with an HTTP response message.", which can be -read as prohibiting sending any part of the response before the entire -request has been received. - -The attached patch fixes this issue by making all the POST handlers in -the test suite read the body before doing anything that generates output -(specifically plan()). - --zefram - -CPAN RT#82409 -Debian bug #676754 - ---- a/t/filter/TestFilter/in_str_declined.pm 2011-02-08 02:00:11.000000000 +0000 -+++ b/t/filter/TestFilter/in_str_declined.pm 2013-01-04 16:08:14.000000000 +0000 -@@ -35,13 +35,17 @@ - sub response { - my $r = shift; - -+ my $data; -+ if ($r->method_number == Apache2::Const::M_POST) { -+ # consume the data so the input filter is invoked -+ $data = TestCommon::Utils::read_post($r); -+ } -+ - plan $r, tests => 2; - - $r->content_type('text/plain'); - - if ($r->method_number == Apache2::Const::M_POST) { -- # consume the data so the input filter is invoked -- my $data = TestCommon::Utils::read_post($r); - ok t_cmp(length $data, 20000, "the request body received ok"); - } - ---- a/t/filter/TestFilter/in_str_declined_read.pm 2011-02-08 02:00:11.000000000 +0000 -+++ b/t/filter/TestFilter/in_str_declined_read.pm 2013-01-04 16:06:28.000000000 +0000 -@@ -31,14 +31,19 @@ - sub response { - my $r = shift; - -+ my $err; -+ if ($r->method_number == Apache2::Const::M_POST) { -+ # this should fail, because of the failing filter -+ eval { TestCommon::Utils::read_post($r) }; -+ $err = $@; -+ } -+ - plan $r, tests => 1; - - $r->content_type('text/plain'); - - if ($r->method_number == Apache2::Const::M_POST) { -- # this should fail, because of the failing filter -- eval { TestCommon::Utils::read_post($r) }; -- ok $@; -+ ok $err; - } - - Apache2::Const::OK; ---- a/t/filter/TestFilter/in_str_msg.pm 2011-02-08 02:00:11.000000000 +0000 -+++ b/t/filter/TestFilter/in_str_msg.pm 2013-01-04 16:08:27.000000000 +0000 -@@ -76,10 +76,10 @@ - sub response { - my $r = shift; - -- plan $r, tests => 1; -- - my $received = TestCommon::Utils::read_post($r); - -+ plan $r, tests => 1; -+ - ok t_cmp($received, $expected, - "request filter must have upcased the data"); - ---- a/t/response/TestModperl/post_utf8.pm 2011-02-08 02:00:12.000000000 +0000 -+++ b/t/response/TestModperl/post_utf8.pm 2013-01-04 16:04:39.000000000 +0000 -@@ -29,14 +29,14 @@ - # $r->content_type("text/plain; charset=utf-8"); - # $r->print("expected: $expected_utf8\n"); - -+ my $received = TestCommon::Utils::read_post($r) || ""; -+ - # utf encode/decode was added only in 5.8.0 - # XXX: currently binmode is only available with perlio (used on the - # server side on the tied/perlio STDOUT) - plan $r, tests => 2, - need need_min_perl_version(5.008), need_perl('perlio'); - -- my $received = TestCommon::Utils::read_post($r) || ""; -- - # workaround for perl-5.8.0, which doesn't decode correctly a - # tainted variable - require ModPerl::Util; |