You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Richard Goerwitz <Ri...@Brown.EDU> on 1998/02/09 07:29:47 UTC

mod_proxy/1784: ProxyPass doesn't pass on GET /cgi-bin/script?args=this correctly

>Number:         1784
>Category:       mod_proxy
>Synopsis:       ProxyPass doesn't pass on GET /cgi-bin/script?args=this correctly
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sun Feb  8 22:30:00 PST 1998
>Last-Modified:
>Originator:     Richard_Goerwitz@Brown.EDU
>Organization:
apache
>Release:        1.2.5
>Environment:
Linux 2.0.31 + GCC 2.7.2.3 + Apache-1.2.5 (SSL)
>Description:
When one generates a GET /cgi-bin/script?args=this (e.g., via a CGI script) and
I've configured a pass-through Proxy "ProxyPass / http://some.other.server/",
then Apache 1.2.5 fetches /cgi-bin/script from the remote server, leaving off
r->args.
>How-To-Repeat:
Very simple to repeat; just use the following template:

config file: ProxyPass / http://some.other.server/
from browser: GET /cgi-bin/script?args=this
>Fix:
It looks as if the URL is being broken down into r->url and r->args, but
for ProxyPass these two elements are never reassembled.  So when proxy_handler
(mod_proxy.c) calls proxy_http_handler() (http_protocol.c), it passes on a url
argument that lacks r->args.

As far as I can see, ProxyPass circumvents proxy_fixup().
%0
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]