You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2005/01/15 13:56:53 UTC

DO NOT REPLY [Bug 33112] New: - Query_string not preserved after content negotiation

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=33112>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33112

           Summary: Query_string not preserved after content negotiation
           Product: Apache httpd-2.0
           Version: 2.0.52
          Platform: All
        OS/Version: Linux
            Status: NEW
          Keywords: PatchAvailable
          Severity: normal
          Priority: P2
         Component: mod_negotiation
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: apache@jth.net


The query string is not preserved when returning the negotiated file causing CGI 
scripts to miss all request variables. Here is a fix:

--- httpd-2.0.52/modules/mappers/mod_negotiation.c      2004-02-09 21:53:18.
000000000 +0100
+++ httpd-2.0.52j/modules/mappers/mod_negotiation.c     2005-01-15 13:47:20.
095964578 +0100
@@ -2938,7 +2938,7 @@
     udir = ap_make_dirstr_parent(r->pool, r->uri);
     udir = ap_escape_uri(r->pool, udir);
     ap_internal_redirect(apr_pstrcat(r->pool, udir, best->file_name,
-                                     r->path_info, NULL), r);
+                                     r->path_info, "?", r->args, NULL), r);
     return OK;
 }

@@ -2991,6 +2991,7 @@
             goto return_from_multi;
         }
     }
+    if ((r->args != NULL) && ( sub_req->args == NULL)) sub_req->args = 
apr_pstrdup(r->pool, r->args);    /* keep query_string */

     /* now do a "fast redirect" ... promotes the sub_req into the main req */
     ap_internal_fast_redirect(sub_req, r);

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org