Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various improvements, mostly having to do with large files. #22

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

dworkin
Copy link
Contributor

@dworkin dworkin commented Mar 26, 2019

  • Upgrade integrated WebDAV client from Itay Sagui to 1.1.4, to get partial up/download functionality.
  • Include explicit GPLv3 license file.
  • Fix some minor path-handling bugs.
  • Use chunked mode to upload files.
  • Disable 4G limit check to allow up/download of large files.
  • Use streaming upload when FlushMode == FlushAtWrite.
  • Use byte ranges for read requests (don't download and cache the entire file).

The license was previously only mentioned in the About dialog.
Move byte array handling to the wrapper.
And keep adding to the content stream when FlushMode == FlushAtWrite.
And to avoid a crash with WinFsp 2019.1.
Save memory by not buffering the entire file, but only the chunk
currently written.
Change WebDavClient2.DownloadPartial to return a byte array instead of
a stream.
Let DavFS.Read return STATUS_END_OF_FILE when trying to read beyond the
end of a file that is still being uploaded.
And ensure that the hyperlink works in the dialog box when the WinFSP
service cannot be started.
@FrKaram
Copy link
Collaborator

FrKaram commented Apr 1, 2019

Thanks for the huge contribution.
I'll have a look at it ASAP

dworkin added 4 commits April 2, 2019 13:35
To get the fix for reading files >= 4G.
This avoids using a separate PUT to create the file (which causes
davrods to create extra revisions), and ensures that early reads are
intercepted by CFN.PendingUpload (which causes problems with a mod_dav
backend).
Tested with Apache mod_dav and davrods.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants