You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by je...@apache.org on 2001/11/13 06:10:24 UTC
cvs commit: httpd-2.0/modules/mappers mod_dir.c
jerenkrantz 01/11/12 21:10:24
Modified: . STATUS
docs/conf httpd-std.conf
modules/mappers mod_dir.c
Log:
Resolve the mod_dir overaggressive redirection problem seen with non-GET
requests for WebFolders.
Reviewed by: Greg Stein
Revision Changes Path
1.329 +1 -9 httpd-2.0/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/httpd-2.0/STATUS,v
retrieving revision 1.328
retrieving revision 1.329
diff -u -r1.328 -r1.329
--- STATUS 2001/11/13 05:04:24 1.328
+++ STATUS 2001/11/13 05:10:24 1.329
@@ -1,5 +1,5 @@
APACHE 2.0 STATUS: -*-text-*-
-Last modified at [$Date: 2001/11/13 05:04:24 $]
+Last modified at [$Date: 2001/11/13 05:10:24 $]
Release:
@@ -62,14 +62,6 @@
before or after the Add...Filter(s) which are ordered by sequence of
filename extensions. Add...FilterByType will add to this quandry.
Some sort of resolution needs to be proposed,
-
- * mod_dir should normally redirect ALL directory requests which do
- not include a trailing slash on the URI. However, if a "notes"
- flag is set (say, via BrowserMatch), this behavior will be
- disabled for non-GET requests.
- Status: Greg volunteers
- MsgId: <20...@lyra.org>
- MsgId: <3A...@Golux.Com>
* mod_negotiation needs a new option or directive, something like
ForceLanguagePriority, to fall back to the LanguagePriority
1.64 +8 -0 httpd-2.0/docs/conf/httpd-std.conf
Index: httpd-std.conf
===================================================================
RCS file: /home/cvs/httpd-2.0/docs/conf/httpd-std.conf,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- httpd-std.conf 2001/11/08 22:31:28 1.63
+++ httpd-std.conf 2001/11/13 05:10:24 1.64
@@ -903,6 +903,14 @@
BrowserMatch "JDK/1\.0" force-response-1.0
#
+# The following directive disables redirects on non-GET requests for
+# a directory that does not include the trailing slash. This fixes a
+# problem with Microsoft WebFolders which does not appropriately handle
+# redirects for folders with DAV methods.
+#
+#BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
+
+#
# Allow server status reports, with the URL of http://servername/server-status
# Change the ".your_domain.com" to match your domain to enable.
#
1.35 +6 -3 httpd-2.0/modules/mappers/mod_dir.c
Index: mod_dir.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/mappers/mod_dir.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- mod_dir.c 2001/08/23 21:05:42 1.34
+++ mod_dir.c 2001/11/13 05:10:24 1.35
@@ -118,9 +118,12 @@
static int fixup_dir(request_rec *r)
{
- /* only (potentially) redirect for GET requests against directories */
- if (r->method_number != M_GET || r->finfo.filetype != APR_DIR) {
- return DECLINED;
+ /* only redirect for requests against directories or when we have
+ * a note that says that this browser can not handle redirs on
+ * non-GET requests (such as Microsoft's WebFolders). */
+ if (r->finfo.filetype != APR_DIR || (r->method_number != M_GET &&
+ apr_table_get(r->subprocess_env, "redirect-carefully"))) {
+ return DECLINED;
}
if (r->uri[0] == '\0' || r->uri[strlen(r->uri) - 1] != '/') {