From dev-return-69237-apmail-httpd-dev-archive=httpd.apache.org@httpd.apache.org Tue Aug 17 16:02:14 2010 Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 40505 invoked from network); 17 Aug 2010 16:02:14 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 17 Aug 2010 16:02:14 -0000 Received: (qmail 54142 invoked by uid 500); 17 Aug 2010 16:02:13 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 53953 invoked by uid 500); 17 Aug 2010 16:02:12 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 53945 invoked by uid 99); 17 Aug 2010 16:02:12 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Aug 2010 16:02:12 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [195.232.224.70] (HELO mailout01.vodafone.com) (195.232.224.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Aug 2010 16:01:47 +0000 Received: from mailint01 (localhost [127.0.0.1]) by mailout01 (Postfix) with ESMTP id E34D64682 for ; Tue, 17 Aug 2010 18:01:26 +0200 (CEST) Received: from avoexs04.internal.vodafone.com (avoexs04.dc-ratingen.de [145.230.4.198]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by mailint01 (Postfix) with ESMTPS id D49CD466B for ; Tue, 17 Aug 2010 18:01:26 +0200 (CEST) Received: from VF-MBX11.internal.vodafone.com ([145.230.5.23]) by avoexs04.internal.vodafone.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 17 Aug 2010 18:01:28 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: svn commit: r986333 - /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Date: Tue, 17 Aug 2010 18:00:58 +0200 Message-ID: <99EA83DCDE961346AFA9B5EC33FEC08B04758C49@VF-MBX11.internal.vodafone.com> In-Reply-To: <41AE0A73-B41A-45E2-AE51-2C14CC714BBA@jaguNET.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: svn commit: r986333 - /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Thread-Index: Acs+IAuIuJxcVLNfS4600H8cE/l+0QAA9kRA References: <20100817144346.08E5723888EA@eris.apache.org> <4C6AA2FB.9080605@kippdata.de> <41AE0A73-B41A-45E2-AE51-2C14CC714BBA@jaguNET.com> From: =?iso-8859-1?Q?=22Pl=FCm=2C_R=FCdiger=2C_VF-Group=22?= To: X-OriginalArrivalTime: 17 Aug 2010 16:01:28.0019 (UTC) FILETIME=[735A2230:01CB3E25] X-Virus-Checked: Checked by ClamAV on apache.org =20 > -----Original Message----- > From: Jim Jagielski > Sent: Dienstag, 17. August 2010 17:22 > To: dev@httpd.apache.org > Subject: Re: svn commit: r986333 -=20 > /httpd/httpd/trunk/modules/proxy/mod_proxy_http.c >=20 >=20 > On Aug 17, 2010, at 10:55 AM, Rainer Jung wrote: >=20 > > On 17.08.2010 16:43, jim@apache.org wrote: > >> Author: jim > >> Date: Tue Aug 17 14:43:45 2010 > >> New Revision: 986333 > >>=20 > >> URL: http://svn.apache.org/viewvc?rev=3D986333&view=3Drev > >> Log: > >> Further checks for non-body requests... > >>=20 > >> Modified: > >> httpd/httpd/trunk/modules/proxy/mod_proxy_http.c > >>=20 > >> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_http.c > >> URL:=20 > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/m > od_proxy_http.c?rev=3D986333&r1=3D986332&r2=3D986333&view=3Ddiff > >>=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >> --- httpd/httpd/trunk/modules/proxy/mod_proxy_http.c (original) > >> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_http.c Tue=20 > Aug 17 14:43:45 2010 > >> @@ -704,8 +704,15 @@ int ap_proxy_http_request(apr_pool_t *p, > >> * Send the HTTP/1.1 request to the remote server > >> */ > >>=20 > >> + /* > >> + * To be compliant, we only use 100-Continue for=20 > requests with no bodies. > >> + * We also make sure we won't be talking HTTP/1.0 as well. > >> + */ > >> do_100_continue =3D (worker->ping_timeout_set > >> && !r->header_only > >> +&& !r->kept_body Why does r->kept_body matter here? If we have a request body either Content-Length or Transfer-Encoding is set. > >> +&& !(apr_table_get(r->headers_in, "Content-Length")) > >> +&& !(apr_table_get(r->headers_in, "Transfer-Encoding")) > >=20 > > Did you mean: > >=20 > > && (!apr_table_get(r->headers_in, "Content-Length") || > > !apr_table_get(r->headers_in, "Transfer-Encoding") > >=20 >=20 > I think you meant: >=20 > && (!(apr_table_get(r->headers_in, "Content-Length") ||=20 > apr_table_get(r->headers_in, "Transfer-Encoding"))) I think you should use && ((apr_table_get(r->headers_in, "Content-Length") ||=20 apr_table_get(r->headers_in, "Transfer-Encoding"))) as we only want do_100_continue to be true *if* we have a request body, which means that either Content-Length or Transfer-Encoding is set in the request. *If* both are unset then we have no request body and hence do_100_continue should be false. Regards R=FCdiger