yar229 / WebDavMailRuCloud

WebDAV cloud.mail.ru ...& Yandex.Disk | WebDAV Облако Mail.Ru Сетевой Диск
MIT License
485 stars 58 forks source link

Linux cp command fails. #221

Closed ykne closed 2 years ago

ykne commented 3 years ago
  1. Download latest DotNet48 release and extract it in a folder.
  2. Run mono /path/to/wdmrc.exe -p 8000
  3. Open Nautilus file manager and connect to dav://127.0.0.1:8000, enter your mail.ru credentials, observe disk contents open.
  4. Select any reasonably large file, tested about 100kB one, copy it to another folder using Nautilus, observe copy matches original.
  5. Select the same file, drag it to a terminal window to reveal gvfs path.
  6. Use cp from gvfs path to any location, for example /tmp, result is zero length.

However the same scenario produces correct copy when nautilus connected directly to Yandex Disk and some other WedDav server.

Does anyone have any ideas why cp process is different from Nautilus UI copy process?

yar229 commented 3 years ago

Update to 1.13.4.3 (I recommend to use .Net 5.0 and WebDAVCloudMailRu-1.13.4.3-dotNet5.zip)

Ubuntu 20.04.3 LTS 64-bit
Mono complete 6.12.0.122
WebDAVCloudMailRu 1.13.4.3 dotNet48
Files 3.36.3-stable
GNOME Terminal 3.36.2

yar@ubuntu:~$ cp '/run/user/1000/gvfs/dav:host=127.0.0.1,port=8000,ssl=false/Pics/ATRobots/eCo2TjVEg6g.jpg' /home/yar/Downloads

It's ok...

Need more info if still broken

ykne commented 3 years ago

5.0 version gives an error File does not contain a valid CIL image.

ykne commented 3 years ago

dotNet48 no changes, still zero length file upon initial cp attempt. However after view the file cp works as expected.

$ mono --version
Mono JIT compiler version 6.12.0.122 (tarball Sat Feb 27 17:35:45 UTC 2021)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    Interpreter:   yes
    LLVM:          supported, not enabled.
    Suspend:       hybrid
    GC:            sgen (concurrent by default)
yar229 commented 3 years ago

5.0 version gives an error File does not contain a valid CIL image.

Sorry for this Did you install .net 5.0 and run dotnet wdmrc.dll... ?

ykne commented 3 years ago

My mistake. Start via dotnet wdmrc.dll allows cp command to work properly. Should the .net 48 wdmrc usage be officially discouraged or it can be fixed?

yar229 commented 3 years ago

Will do my best but not soon

Anyway using .net5 is preferrable