You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2001/12/18 16:09:47 UTC
cvs commit: apache-1.3/src/modules/standard mod_negotiation.c
wrowe 01/12/18 07:09:47
Modified: src/modules/standard mod_negotiation.c
Log:
Revert the code causing lost path_info/query_args.
The potentially correct solution is to test the URI with recombined
path_info and args, but I'd rather see this reverted for 1.3 and
corrected in 2.0 with appropriate optimizations and user testing.
Revision Changes Path
1.110 +13 -2 apache-1.3/src/modules/standard/mod_negotiation.c
Index: mod_negotiation.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/modules/standard/mod_negotiation.c,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -r1.109 -r1.110
--- mod_negotiation.c 2001/10/03 22:35:19 1.109
+++ mod_negotiation.c 2001/12/18 15:09:47 1.110
@@ -2710,8 +2710,19 @@
*/
ap_pool_join(r->pool, sub_req->pool);
r->mtime = 0; /* reset etag info for subrequest */
- r->uri = sub_req->uri;
- r->args = sub_req->args;
+ /* XXX: uri/args/path_info are all retained from the original request.
+ * It is entirely possible, but not common, for a handler to choke
+ * on some expectation based on the uri (or more commonly, args) that
+ * the file subrequest was prepared to handle, but a lookup_uri would
+ * have considered an error. This leaves an improbable possibility
+ * that the user might fail a mod_dir request later, and the server
+ * may respond with a mod_autoindex response. However, this has been
+ * the behavior throughout much of the Apache 1.3 era with minimal
+ * side effects, mostly caused by obscure configuration bugs.
+ * r->uri = sub_req->uri;
+ * r->args = sub_req->args;
+ * r->path_info = sub_req->path_info;
+ */
r->filename = sub_req->filename;
r->handler = sub_req->handler;
r->content_type = sub_req->content_type;