Bug 49643 - WebDav plus mod Negotiation causes directory creation errors
Summary: WebDav plus mod Negotiation causes directory creation errors
Status: NEW
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_dav (show other bugs)
Version: 2.5-HEAD
Hardware: Other Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
Depends on:
Reported: 2010-07-23 18:49 UTC by Lou Montulli
Modified: 2012-11-27 14:16 UTC (History)
1 user (show)


Note You need to log in before you can comment on or make changes to this bug.
Description Lou Montulli 2010-07-23 18:49:38 UTC
This looks related in some way to bug 48576.

Mod Negotiation is loaded, but Multiviews has been turned off.
I tried -MultiViews as well as removing all MultiViews options from the configuration.

The problem goes away if mod Negotiation is not loaded.

Create a file via Webdav with an extenstion.  "foo.zip".   Now try and create a directory with the root name of the file: "foo".   The directory creation will fail with a "400 Bad Request"   Internal to the WebDav code it thinks that "foo" already exists as an object during the "mkcol" command.
Comment 1 Stefan Fritsch 2010-10-24 17:26:25 UTC
I can't reproduce that.

Is there anything relevant in the errorlog if you set loglevel to debug?
Can you post a simple example config with which this bug is reproducible?
Comment 2 zaven navoyan 2012-11-27 14:16:29 UTC
I also faced such problem. The following error log is written in the error log file:
Could not fetch resource information.  [400, #0]
The URL contains extraneous path components. The resource could not be identified.  [400, #0]

The configuration that reproduce problem:
Alias /user13 "/home/davusers/user13"
<Directory "/home/davusers/user13">
    DAV On
    ForceType text/plain
    DAVSATMaxAreaSize 8192000 // This directive comes when installing 3-rd party patch for quota management
    Options Indexes MultiViews
    AuthType Basic
    AuthName "Test Account for Basic autentication"
    AuthUserFile /etc/apache2/sites-enabled/.password
    Require valid-user
    AllowOverride None
    Order allow,deny
    allow from all
    DirectorySlash ON

To reproduce problem firstly create aaa.txt file then try to create aaa directory using
MKCOL /user13/aaa/ HTTP/1.1

Apache server version:
Server Version: Apache/2.2.16 (Debian) DAV/2 PHP/5.3.3-7+squeeze13 with
          Suhosin-Patch mod_ssl/2.2.16 OpenSSL/0.9.8o

System: Debian 6.0.5 x86_64

When I remove mod negotiation as described below, the problem solves.