>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: [EMAIL PROTECTED] >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 <[EMAIL PROTECTED]> in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]
