Return-Path: Delivered-To: apmail-httpd-bugs-archive@www.apache.org Received: (qmail 79049 invoked from network); 23 May 2010 11:28:27 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 23 May 2010 11:28:27 -0000 Received: (qmail 34071 invoked by uid 500); 23 May 2010 11:28:27 -0000 Delivered-To: apmail-httpd-bugs-archive@httpd.apache.org Received: (qmail 33940 invoked by uid 500); 23 May 2010 11:28:25 -0000 Mailing-List: contact bugs-help@httpd.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: "Apache HTTPD Bugs Notification List" List-Id: Delivered-To: mailing list bugs@httpd.apache.org Received: (qmail 33931 invoked by uid 99); 23 May 2010 11:28:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 May 2010 11:28:24 +0000 X-ASF-Spam-Status: No, hits=-1430.1 required=10.0 tests=ALL_TRUSTED,AWL X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 May 2010 11:28:23 +0000 Received: from thor.apache.org (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o4NBS3r9029133 for ; Sun, 23 May 2010 11:28:03 GMT Received: (from daemon@localhost) by thor.apache.org (8.13.8+Sun/8.13.8/Submit) id o4NBS2Uh029132; Sun, 23 May 2010 07:28:02 -0400 (EDT) Date: Sun, 23 May 2010 07:28:02 -0400 (EDT) Message-Id: <201005231128.o4NBS2Uh029132@thor.apache.org> From: bugzilla@apache.org To: bugs@httpd.apache.org Subject: DO NOT REPLY [Bug 17629] filter handling issues with subrequests and internal redirects X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Apache httpd-2 X-Bugzilla-Component: Core X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: alex@docauer.net X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: bugs@httpd.apache.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: https://issues.apache.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 https://issues.apache.org/bugzilla/show_bug.cgi?id=17629 --- Comment #38 from Alex Docauer 2010-05-23 07:27:56 EDT --- I don't think Stefan's patch applies to bug 49328, as he is patching internal_internal_redirect and ap_internal_fast_redirect, which is called by mod_cgi(d) and/or mod_fastcgi. In my example, no CGIs are used to repeat the incorrect behavior. mod_include is calling make_sub_request directly, not making internal redirects. However, I think it's quite possible these bugs might be endemic of the same underlying design decision. It seems that there are a number of cases where one would want to operate only on the filters that were pushed during the current subrequest and not any filters that we inherited from a parent request. In bug 49328, only the filters that were added in the subrequest should have had their filter_init_func called, but the filters inherited from the parent are re-initialized along with the new ones. In bug 17629, only the filters that were added to the request that triggered the redirect should be removed, but since all of the filters except the protocol filters are removed, the data generated by the redirect gets passed straight to the protocol filters instead of first passing through its parent filters. That being said, I don't think that Stephan's patch correctly handles all cases of internal redirects, even through it does happen to work for the case listed in this bug. Instead of special-casing the behavior based on whether the current request is a main request or a subrequest, it should simply copy the parent request's filters (which would just consist of the protocol filters if we are the main request) into the subrequest, thus discarding any filters added in the current request. I think implementing the fix in such a way would at least entail creating new fields in the request_rec that represent the lists of input and output filters copied from the parent, establishing new invariants for how these lists should be treated, and then modification of request-handling logic in several files to take these new lists into account. Such a fix may also address bug 43939, which I suspect is being cause by an internal redirect in mod_dir. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org For additional commands, e-mail: bugs-help@httpd.apache.org