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=43550>. 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=43550 Summary: mod_negotiation is not passing query strings when using typemaps Product: Apache httpd-2 Version: 2.2.6 Platform: All OS/Version: Linux Status: NEW Severity: regression Priority: P2 Component: mod_negotiation AssignedTo: [email protected] ReportedBy: [EMAIL PROTECTED] Query strings are not being passed along when mod_negotiation combines multiviews with typemap processing. This is a regression compared to the behavior we had on Apache 1.3.x. It is complementary to PR 33112, which fixed a similar problem, but in a different part of the same module. The guilty party is the call to ap_internal_fast_redirect(sub_req, r) in mod_negotiation.c:handle_multi() which discards the previously parsed args and path_info. That info is not regenerated again. I'm including a very naive patch against 2.2.6 and trunk that fixes this. I'm sure there is a better way to fix it, but need more guidance to achieve it in an optimal way. I'm also submitting a new test for the perl-framework test procedure that tests this behavior, to avoid having this regression in next versions. == Reproducing the bug == You can use either use the new test I'm submitting or use the following scenario. Please adjust accordingly to your server setup. I assume the use of php for printing out the query parameters; you could use perl (like my test procedure contribution does) or a shell script too): 1. In a directory, put the three files that I've attached: test.html, test.php, test.var 2. query the server for test.php?q=3 http://localhost/test.php?q=3 ==> you'll see that the query parameters are correctly passed to the script. 3. query the server for test?q=3 http://localhost/test?q=3 ==> in this case, the query parameters have been discarded by mod_negotiation's call to ap_internal_fast_redirect inside handle_multi(). You'll see that my naive solution is to make a backup copy of args and path_info, if they existed, before the call to ap_internal_fast_redirect(), and then restoring them. This effectively solves the bug. I don't know if there's a better way to do this. -- 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
