maindavfs2 - Support: sr #110254, davfs2 has problems with MS IIS...


sr #110254: davfs2 has problems with MS IIS 7.5 WebDAV server

Submitter:  Paul <edice>
Submitted:  Wed 01 Jul 2020 06:43:32 AM UTC
Category:  None Priority:  5 - Normal
Severity:  3 - Normal Status:  Wont Do
Privacy:  Public Assigned to:  _71007
Open/Closed:  Open Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup

Wed 01 Jul 2020 08:05:29 AM UTC, comment #1: 

davfs2 already has option add_header to add this header if required. It might be a good idea to read the documentation before writing patches: "man mount.davfs", "man davfs2.conf", "man umount.davfs".

davfs2 will not by default send vendor-specific non-standard headers. You have to configure them if needed.

Hint concerning file extensions:
When I tested with IIS many years ago IIS would only deliver files with extensions that were registerd as known extensions with the windows operationg system. So I could upload (with PUT) a file with extension .odt and the file was stored on the server. But when I tried to retrieve the file with GET I got 404 NOT FOUND. You might have to change the server configuration to solve problems with file extensions.


- <_71007>
Wed 01 Jul 2020 06:43:32 AM UTC, original submission:  

davfs2 doesn't work with Microsoft's IIS 7.5 WebDAV implementation,
because davfs2 requires the  extra translate:f header to be added.

This is not just for MS's implementation, other WebDAV servers apparently added it too.

The docs say that IF the client doesn't send the header, the server should send back a URI to the resource, like a redirect, at least I think so.
But, MS's implementation doesn't.  Instead it just returns a "server error 500".

This happens to me ONLY with files that have no extension.
Example: I can get "readme.txt",but I can't get a file called "config" (eg the config file in a .git folder).

It worked on Windows 10, so I used Burp Suite to inspect the HTTPS comms
with the server and discovered the translate header. I tested with curl
and sure enough it worked with the header.

curl -H "translate: f" --insecure --proxy --user "user:pass"
Without the -H "translate: f", the curl call did not work.

The translate header seems to be added to just about every call to the
WebDAV server, except HEAD.

I also made an additional patch for libneon as it has its own functions for building the requests.  I don't think this affects davfs2, however for reference, the bug report is here:

Attached is a patch that fixes up davfs2.

Paul <edice>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #49402:  davfs2-translate-f.patch added by edice (2KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by _71007 (Posted a comment)
  • -email is unavailable- added by edice (Submitted the item)
  • -email is unavailable- added by edice

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-07-01 _71007 Severity4 - Important 3 - Normal
        StatusNone Wont Do
        Assigned toNone _71007
    2020-07-01 edice Attached File- Added davfs2-translate-f.patch, #49402
        Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code