WebDAV plugin bugs/missing functionality

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

wossName
Junior Member
Junior Member
Posts: 8
Joined: 2005-08-05, 10:28 UTC
Location: Earth

WebDAV plugin bugs/missing functionality

Post by *wossName »

Hello,

first of all, thanks for the WebDAV plugin, I think it kicks some major ass !

I ran into a couple of issues, though:

- I can't move files to the WebDAV side: it looks like F6 behaves in the same way as F5 in this context.

- I can't delete directories: it tries to delete it, but nothing happens.

- I can't rename directories: the error message "Cannot write xyz! Please remove the write protection!" appears.

For the last two issues, I tested this with the Windows Web Folders feature to rule out misconfiguration, and both worked. My server is Apache 2 + mod_dav. In the Apache logs the TC's MOVE and DELETE requests are answered with a 301 status, maybe this is helpful.
kyle01
New Member
New Member
Posts: 1
Joined: 2005-08-06, 12:13 UTC

Post by *kyle01 »

I am using tcmd6.53 and have just installed webdav plugin 1.0
I tested it with a gmx account (using the "gmx secure server" defaults) and noticed another problem: I can't abort file upload (of a single file).
This is a bit annoying when uploading bigger files. The rest, however worked great. Unlike wossname, I was able to:
-delete directories (with files and subdirs)
-rename files/directories
I also found that "copy" and "move" have the same effect here (copy), but I don't mind as I usually don't move things to webdav.
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: WebDAV plugin bugs/missing functionality

Post by *white »

wossName wrote:- I can't move files to the WebDAV side: it looks like F6 behaves in the same way as F5 in this context.

- I can't delete directories: it tries to delete it, but nothing happens.

- I can't rename directories: the error message "Cannot write xyz! Please remove the write protection!" appears.
Same here.
Server: https://webdisk.xs4all.nl/<login> (is in experimental stage!)
Secure server checked
Use multi-step upload method checked

- I can't delete directories: it tries to delete it, but nothing happens.
- I can't rename directories: the error message "Cannot write xyz! Please remove the write protection!" appears.
- When I ren/move a directory with contents, the old directory name is not deleted (files are!)
- When moving a file, the dialog reads the same as the Copy dialog "Copy to dir/new name". But the file is moved and not copied.
- When moving a file to a sub dir in the current dir, then moving it back to the parent dir, then trying to move it again to the same dir as before: the Overwrite dialog is displayed saying the file does already exist in the target dir containing -1 bytes (less than zero bytes)?? Nothing is visible in the target dir. After restarting TC the file still cannot be moved (nor copied) to the target dir. This does not happen when the file is moved back and forth from dirs that are not parent and child of each other. Unloading plugins does not help. Disabling the option "Use multi-step upload method" does not help.
TC logfile (showing connect and failure to delete directory zz in somedir) wrote: CONNECT \Webdisk xs4all
=================
Get dir: /somedir
PROPFIND /somedir/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: webdisk.xs4all.nl
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Wed, 02 Aug 2006 21:28:26 GMT
Server: Apache/2.0.55
Content-Length: 6100
Keep-Alive: timeout=30, max=512
Connection: Keep-Alive
Content-Type: application/xml; charset="utf-8"
207 Multi-Status
=================
Get dir: /somedir\zz
PROPFIND /somedir/zz/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: webdisk.xs4all.nl
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Wed, 02 Aug 2006 21:29:33 GMT
Server: Apache/2.0.55
Content-Length: 1045
Keep-Alive: timeout=30, max=512
Connection: Keep-Alive
Content-Type: application/xml; charset="utf-8"
207 Multi-Status
=================
Get dir: /somedir\zz
PROPFIND /somedir/zz/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: webdisk.xs4all.nl
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Wed, 02 Aug 2006 21:29:33 GMT
Server: Apache/2.0.55
Content-Length: 1045
Keep-Alive: timeout=30, max=511
Connection: Keep-Alive
Content-Type: application/xml; charset="utf-8"
207 Multi-Status
=================
File delete: /somedir\zz
=================
Get dir: /somedir
PROPFIND /somedir/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: webdisk.xs4all.nl
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Wed, 02 Aug 2006 21:29:34 GMT
Server: Apache/2.0.55
Content-Length: 6100
Keep-Alive: timeout=30, max=509
Connection: Keep-Alive
Content-Type: application/xml; charset="utf-8"
207 Multi-Status
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: WebDAV plugin bugs/missing functionality

Post by *white »

wossName wrote: - I can't delete directories: it tries to delete it, but nothing happens.

- I can't rename directories: the error message "Cannot write xyz! Please remove the write protection!" appears.
This is the case for all servers running Apache 2 + mod_dav. See also the german forum here.
You can test this behavior at the WebDAV Testing Server (click the link for more information), which is running Apache 2 + mod_dav.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50479
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I have now created a beta version 1.4 of the plugin which should be able to rename and delete directories on such servers. It should follow the redirect messages automatically. If it still fails, you can check a new option "Use \ was ending char for directories" in the server configuration, but this shouldn't really be necessary. It will make deletings a bit faster, though.

Aborting uploads _should_ work now too, please try it.

https://plugins.ghisler.com/beta/davplug_14beta.zip
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Post by *white »

ghisler(Author) wrote:I have now created a beta version 1.4 of the plugin which should be able to rename and delete directories on such servers. It should follow the redirect messages automatically. If it still fails, you can check a new option "Use \ was ending char for directories" in the server configuration, but this shouldn't really be necessary. It will make deletings a bit faster, though.

Aborting uploads _should_ work now too, please try it.
Renaming and deleting directories seems to work okay. With and without the new option. Only thing: when redirection takes place the logfile shows "HTTP error: " followed by some garbage!

Aborting uploads seems to work okay, but aborting in between uploads (when uploading a number of small files) seems to respond slower.

By the way: THANKS :D
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50479
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

when redirection takes place the logfile shows "HTTP error: " followed by some garbage!
Yes, this is the error which caused the function to fail. It seems to be an error which is unknown to the Microsoft HTTP handler. I'm now handling this error manually and resubmit the command with an appended backslash.
aborting in between uploads (when uploading a number of small files) seems to respond slower.
I will try to reproduce what you describe. Can you abort the uploads in the end, or not? Do you have to press Cancel multiple times?
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Post by *white »

ghisler(Author) wrote:
aborting in between uploads (when uploading a number of small files) seems to respond slower.
I will try to reproduce what you describe. Can you abort the uploads in the end, or not? Do you have to press Cancel multiple times?
I can always abort the uploads and only have to press Cancel once.

It looks like it takes servers longer to send the dir listing after aborting an upload of a file than after aborting in between uploads. Resulting in a more smooth operation when uploading a number of small files with the old version of the WebDAV plugin.

Other things:

When the user aborts there is no mention in the log file.
When an abort takes place in between uploads, the logging of the last uploaded file is not finished (already wrong in previous version).
Aborting an upload will leave a partially uploaded file on one server (http://test.webdav.org/dav/) and no uploaded file on another server (secure server https://webdisk.xs4all.nl/<login>).
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Post by *white »

Test results (same results for WebDAV v1.3 and WebDAV v1.4 beta):

On secure server https://webdisk.xs4all.nl/<login> all directory entries a shown with a file size of 4096 bytes (so no "<DIR>"). Other than that the directories look (icon) and behave like directories (i.e. right click menu).

When you have a WebDAV dir shown in both panels (left and right), the copy dialog and move dialog are visually the same but have different meaning. The text "Copy" should be changed into "Move" for the move dialog.

When you have a WebDAV dir shown in both panels, the copy dialog and move dialog show the target dir in the title bar. I find this very user unfriendly and inconsistent. People normally do not read the title bar, because they do not expect important information there.
Same is done when installing a plugin and a plugin with this name has been installed already. TC shows the message "A plugin with this name is already installed in the following directory..." The name of the plugin concerned is shown in the title bar. This is bad. All information should be displayed inside the window and not in the title bar. People should not have to read the title bar!

When you have a WebDAV dir shown in both panels, and left and right panel are connected to the same server, it is very easy to copy or move a dir into a subdir of itself. This will result in a loop. Aborting the operation to get out of this loop will, in case of a move operation, lead to deletion of the directory and all contents!

A reread is done after clicking Cancel in the copy or move dialog. Why? (I do not mean aborting when the operation is already started.)

Several times I was able to crash TC doing nothing special. I cannot reproduce though, so I cannot be more specific.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50479
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks for your comments, I will try to reproduce what you describe.
When you have a WebDAV dir shown in both panels, and left and right panel are connected to the same server, it is very easy to copy or move a dir into a subdir of itself. This will result in a loop. Aborting the operation to get out of this loop will, in case of a move operation, lead to deletion of the directory and all contents!
My plugin does not delete anything when you abort an operation, so this must be a bug of the server. I will try to catch the situation of copying into a subdir of a directory, though, and disallow it.
Several times I was able to crash TC doing nothing special.
Please try to reproduce what you did, otherwise I cannot help you with these problems.
Author of Total Commander
https://www.ghisler.com
User avatar
white
Power Member
Power Member
Posts: 5789
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Post by *white »

ghisler(Author) wrote:
When you have a WebDAV dir shown in both panels, and left and right panel are connected to the same server, it is very easy to copy or move a dir into a subdir of itself. This will result in a loop. Aborting the operation to get out of this loop will, in case of a move operation, lead to deletion of the directory and all contents!
My plugin does not delete anything when you abort an operation, so this must be a bug of the server..
Actually according to TC's log file your plugin IS deleting the directory after aborting!


I created a dir 'testdir1' containing two files 'testfile1.txt' and 'testfile2.txt'. Then I moved testdir1 into itself. Tested at http://test.webdav.org/dav/ and at https://webdisk.xs4all.nl/<login>/

When I abort immediately it works okay:
logfile wrote: Get dir: /dav\testdir1
PROPFIND /dav/testdir1/ HTTP/1.1
207 Multi-Status
=================
Create dir: /dav\testdir1\testdir1
MKCOL /dav/testdir1/testdir1 HTTP/1.1
201 Created
=================
Get dir: /dav\testdir1
PROPFIND /dav/testdir1/ HTTP/1.1
207 Multi-Status
=================
Get dir: /dav
PROPFIND /dav/ HTTP/1.1
207 Multi-Status
When I wait a little longer the directory 'testdir1' and all contents is deleted.
logfile (showing directory 'testdir1' is deleted) wrote: Get dir: /dav\testdir1
PROPFIND /dav/testdir1/ HTTP/1.1
207 Multi-Status
=================
Get dir: /dav\testdir1\
PROPFIND /dav/testdir1/ HTTP/1.1
207 Multi-Status
=================
Create dir: /dav\testdir1\testdir1
MKCOL /dav/testdir1/testdir1 HTTP/1.1
201 Created
=================
Get dir: /dav\testdir1\testdir1
PROPFIND /dav/testdir1/testdir1/ HTTP/1.1
207 Multi-Status
=================
Get dir: /dav\testdir1
PROPFIND /dav/testdir1/ HTTP/1.1
207 Multi-Status
=================
MOVE: /dav\testdir1\testfile1.txt->/dav\testdir1\testdir1\testfile1.txt
MOVE /dav/testdir1/testfile1.txt HTTP/1.1
201 Created
=================
MOVE: /dav\testdir1\testfile2.txt->/dav\testdir1\testdir1\testfile2.txt
MOVE /dav/testdir1/testfile2.txt HTTP/1.1
201 Created
=================
Create dir: /dav\testdir1\testdir1\testdir1
MKCOL /dav/testdir1/testdir1/testdir1 HTTP/1.1
201 Created
=================
Get dir: /dav\testdir1\testdir1\testdir1
PROPFIND /dav/testdir1/testdir1/testdir1/ HTTP/1.1
207 Multi-Status
=================
Get dir: /dav\testdir1\testdir1
PROPFIND /dav/testdir1/testdir1/ HTTP/1.1
207 Multi-Status
=================
MOVE: /dav\testdir1\testdir1\testfile1.txt->/dav\testdir1\testdir1\testdir1\testfile1.txt
MOVE /dav/testdir1/testdir1/testfile1.txt HTTP/1.1
201 Created
=================
MOVE: /dav\testdir1\testdir1\testfile2.txt->/dav\testdir1\testdir1\testdir1\testfile2.txt
MOVE /dav/testdir1/testdir1/testfile2.txt HTTP/1.1
201 Created
=================
Create dir: /dav\testdir1\testdir1\testdir1\testdir1
MKCOL /dav/testdir1/testdir1/testdir1/testdir1 HTTP/1.1
201 Created
=================
Get dir: /dav\testdir1\testdir1\testdir1\testdir1
PROPFIND /dav/testdir1/testdir1/testdir1/testdir1/ HTTP/1.1
207 Multi-Status
=================
File delete: /dav\testdir1\testdir1
DELETE /dav/testdir1/testdir1/ HTTP/1.1
204 No Content
=================
File delete: /dav\testdir1
DELETE /dav/testdir1/ HTTP/1.1
204 No Content
=================
Get dir: /dav\testdir1
PROPFIND /dav/testdir1/ HTTP/1.1
Error: 404 Not Found
=================
Get dir: /dav
PROPFIND /dav/ HTTP/1.1
207 Multi-Status
ghisler(Author) wrote: ..I will try to catch the situation of copying into a subdir of a directory, though, and disallow it.
Then maybe you should have a look at FTP too. Using FTP I was also able to copy (not move!) a dir into itself and get into a loop.

ghisler(Author) wrote:
Several times I was able to crash TC doing nothing special.
Please try to reproduce what you did, otherwise I cannot help you with these problems.
I know. As I said I was not able to reproduce. I wanted to note it though.
It's probably best to ignore it until it happens again or anyone else complains. I have three Inspector IIXII crash logs though if you are interested. (More about Inspector IIXII here).
wossName
Junior Member
Junior Member
Posts: 8
Joined: 2005-08-05, 10:28 UTC
Location: Earth

Post by *wossName »

Sorry for the late answer, I was watching the topic but didn't receive an e-mail:

Deleting and renaming folders now works for me, awesome ! Moving files to/from WebDAV still doesn't work, but that's a pretty minor issue.

Thanks !
ajoe04
Junior Member
Junior Member
Posts: 13
Joined: 2006-08-29, 15:57 UTC

empty password

Post by *ajoe04 »

Hallo,
I have the same problem with moving fieles.

Another thing: it would be nice to have the ability to store an empty password with alt-gr Enter (version beta 1.4). What works is to insert one blank " " and than store the password.

Thanks
ajoe

PS: the webdav plugin is the only reason way i use/discoverd TC. But until now i have to say it is a nice tool.
wossName
Junior Member
Junior Member
Posts: 8
Joined: 2005-08-05, 10:28 UTC
Location: Earth

Post by *wossName »

Hmm, looks like I celebrated too early. With this version, I sometimes can't login to a WebDAV folder or it stops working after uploading something. The last thing that appears in the log is "207 Multi-Status", followed by "Disconnected" or nothing at all. Unfortunately it's not reproducible.
wossName
Junior Member
Junior Member
Posts: 8
Joined: 2005-08-05, 10:28 UTC
Location: Earth

Post by *wossName »

Here's another thing that might be helpful: when I can't log in to the WebDAV folder, it works on the third or so time if I keep trying. The same when I can log in, but can't enter a subfolder.
Post Reply