Share via


WebDAV broken in update 1903

Question

Sunday, August 11, 2019 12:39 PM | 1 vote

Hi,

it appears that after update 1903, something got broken in WebDAV support. Previously, I could run WebDAV server on a Linux host like this:

    sudo docker run --restart always -e AUTH_TYPE=Digest -e USERNAME=ghost -e PASSWORD=secret1234 --publish 7777:80 -d bytemark/webdav

And then I could connect to port 7777 on that server from Windows 10 and put files there with no issues. Now, any attempt to put file there

results in "Can't read from source file or disk". Logs on the server side report this:

192.168.173.26 - - [11/Aug/2019:09:00:14 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:14 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:14 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:14 +0000] "OPTIONS /desktop.ini HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:15 +0000] "OPTIONS /desktop.ini HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:15 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:15 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:15 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:25 +0000] "OPTIONS / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:25 +0000] "OPTIONS / HTTP/1.1" 200 - "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 207 831 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 207 831 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:25 +0000] "PROPFIND / HTTP/1.1" 207 2021 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:42 +0000] "PROPFIND /desktop.ini HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:42 +0000] "PROPFIND /desktop.ini HTTP/1.1" 404 209 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:42 +0000] "PROPFIND / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:42 +0000] "PROPFIND / HTTP/1.1" 207 2021 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:44 +0000] "PROPFIND /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:45 +0000] "PROPFIND /test.png HTTP/1.1" 404 206 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:45 +0000] "PROPFIND / HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:45 +0000] "PROPFIND / HTTP/1.1" 207 831 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:45 +0000] "PUT /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:46 +0000] "PUT /test.png HTTP/1.1" 201 181 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:46 +0000] "LOCK /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:46 +0000] "LOCK /test.png HTTP/1.1" 200 447 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:46 +0000] "PROPPATCH /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:46 +0000] "PROPPATCH /test.png HTTP/1.1" 207 392 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:46 +0000] "HEAD /test.png HTTP/1.1" 401 - "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - ghost [11/Aug/2019:09:00:46 +0000] "HEAD /test.png HTTP/1.1" 200 - "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:46 +0000] "PUT /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

192.168.173.26 - - [11/Aug/2019:09:00:47 +0000] "DELETE /test.png HTTP/1.1" 401 381 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

[Sun Aug 11 09:00:47.973048 2019] [dav:error] [pid 14:tid 140601082137320] [client 192.168.173.26:53610] Could not DELETE /test.png due to a failed precondition (e.g. locks).  [424, #0]

[Sun Aug 11 09:00:47.973075 2019] [dav:error] [pid 14:tid 140601082137320] [client 192.168.173.26:53610] An error occurred on another resource, preventing the requested operation on this resource.  [424, #0]

192.168.173.26 - ghost [11/Aug/2019:09:00:47 +0000] "DELETE /test.png HTTP/1.1" 424 568 "-" "Microsoft-WebDAV-MiniRedir/10.0.18362"

First, the file is uploaded with no issues, then Windows issues a HEAD request, and tries to do PUT again, gets 401 and instead of trying with authorization, tries to delete the file (which fails, because the file still locked). Looking at at HEAD request with network sniffer does not show anything suspicious.

Does anybody know how to solve this problem?

All replies (7)

Monday, August 12, 2019 2:44 AM

Hello,

Have you checked if the WebClient service on Windows 10 is still running?

Best Regards,

Leon

Please remember to mark the replies as answers if they help and unmark them if they provide no help.
If you have feedback for TechNet Subscriber Support, contact [email protected].


Monday, August 12, 2019 5:59 AM

Leon,

yes, it is definitely still running (and it it were not running, I would not get any of these requests). Restarting it does not change a thing.

Also, disabling locking in WebClient registry settings removes the LOCK request, but does not fix the actual error.

Thanks,


Tuesday, August 13, 2019 7:16 AM

Hello,

In general, I would recommend posting in the IIS forum because WebDAV is configured on IIS. But you run the WebDAV server on a Linux host.

You have tried to disable locking, which does not solve the problem. And the network sniffer did not show obvious error messages.

According to my research, this may also be related to the file system, so I suggest you post to other forums for more help.

Best Regards,

Leon

Please remember to mark the replies as answers if they help and unmark them if they provide no help.
If you have feedback for TechNet Subscriber Support, contact [email protected].


Friday, August 23, 2019 2:51 AM | 1 vote

Hey 

Have you resolved this issue yet?

We just ran into a similar problem and only a few of our customers have updated to 1903  but it will be a real mess when they do.


Friday, August 23, 2019 2:55 AM

We think we may have found a work around with raidrive but this is going to be a nightmare for us. 

 


Friday, August 23, 2019 11:01 PM

raiDrive does not work with Task Scheduler jobs :/ not going to be a solution for us. 

We tried curl and it works great in 1803 but cannot upload in 1903.

This has got to be a major headache for many applications is there no word regarding a patch or workaround yet?  


Thursday, September 12, 2019 6:23 AM

There is a workaround, which i have tested to work, but you use with your own risk because there is no confirmation for this solution from Microsoft.

It is to replace winhttp.dll and winhttpcom.dll from the previous windows version c:\windows.old\system32\ folder to c:\windows\system32\ Just backup those files first from the c:\windows\system32\ 

You need to take ownership of the files and then set full permission on the files for the user you are gonna replace them with in order for you to be able do anything for them.

After you've replaced the files, restart Webclient service and WebDav client should work!

PS. At first i also replaced davcint.dll and WebClnt.dll, but i then replaced them with the current version dlls and it's still working so i think there is no need to replace them, but if the solution won't work for you, then you can test replacing them also.