Commit cf366e88 authored by Justin Erenkrantz's avatar Justin Erenkrantz
Browse files

Resolve the mod_dir overaggressive redirection problem seen with non-GET

requests for WebFolders.
Reviewed by:	Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91894 13f79535-47bb-0310-9956-ffa450edef68
parent 92c557a7
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
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:

@@ -63,14 +63,6 @@ RELEASE SHOWSTOPPERS:
      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: <20010227104646.E2297@lyra.org>
        MsgId: <3A9C0097.9C83F07C@Golux.Com>

    * mod_negotiation needs a new option or directive, something like
      ForceLanguagePriority, to fall back to the LanguagePriority
      directive instead of returning a "no acceptable variant" error.
+8 −0
Original line number Diff line number Diff line
@@ -902,6 +902,14 @@ BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
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.
+6 −3
Original line number Diff line number Diff line
@@ -118,8 +118,11 @@ static void *merge_dir_configs(apr_pool_t *p, void *basev, void *addv)

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) {
    /* 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;
    }