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.

Werner

- <_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.
https://docs.oracle.com/cd/E19146-01/821-1828/gczya/index.html
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wdvse/501879f9-3875-4d7a-ab88-3cecab440034

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 127.0.0.1:8080 --user "user:pass" https://the.host.name/folder/project.git/config
WORKED
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:
https://bugs.launchpad.net/ubuntu/+source/neon27/+bug/1851325


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:
   
   
Comment:
   

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.14-79a4.
    Corresponding source code