Kenneth Skovhede and GitHub
9464caf622
Feature/update license 2025 ( #5851 )
...
* Fixed some minor whitespace issues
* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede and GitHub
ba645ddb5f
Clean up options for file backend ( #5820 )
...
This removes unsupported arguments from non-windows clients, so the reported options fit what is supported.
2024-12-31 16:37:07 +01:00
Kenneth Skovhede
356498414c
Fixed issue with quota info.
...
This fixes #5733
2024-12-03 22:12:38 +01:00
Kenneth Skovhede
61ea36091a
Added DNSNames as async
2024-10-02 09:37:52 +02:00
Kenneth Skovhede
586c08522e
Implemented async method for Test, CreateFolder and Quota in all backends.
...
Still missing the List and DNSHostnames.
The AsyncRequest class is also preventing many backends from fully upgrading.
2024-10-01 09:30:02 +02:00
Kenneth Skovhede
8bdb85e261
Implemented RenameAsync on all backends supporting rename
2024-09-29 23:21:50 +02:00
Kenneth Skovhede
ecf2e8b551
Implemented DeleteAsync on all backends
2024-09-29 23:04:54 +02:00
Kenneth Skovhede
e3e3d1305f
Implemented async version of Get for all backends.
2024-09-29 22:00:57 +02:00
Suguru Hirahara
a534add682
Specify correct string to OPTION_DISABLE_LENGTH_VERIFICATION
2024-07-19 04:12:50 -04:00
Jojo-1000
917e2cd0c4
Remove obsolete custom platform detection.
2024-05-30 02:14:05 +02:00
Jojo-1000
50808c866b
Merge branch 'master' into quota-disable
2024-05-11 23:46:19 +02:00
Kenneth Skovhede and GitHub
550b7d985d
Merge pull request #5062 from Jojo-1000/improve-list-speed
...
Improve file backend list speed
2024-03-04 13:39:38 +01:00
Kenneth Skovhede
40dd3c6816
Updated all license mentions to MIT
2024-02-28 15:45:30 +01:00
Jojo-1000
f7e435b1dd
Improve file backend list speed.
...
Directly list FileInfo instead of lookups by filename. This greatly speeds up backup verify on exFAT.
Closes #5061
2023-11-19 20:04:37 +01:00
Jojo-1000
0754a5cd72
Ignore File backend quota if total size is zero.
...
Mono sometimes reports the total size of unknown file systems as zero. Because it should be obvious when the size is actually zero, ignore the quota in this case.
2023-07-16 19:24:37 +02:00
Kenneth Skovhede
b4eeb4542b
Added checks to re-enable --use-move-for-put.
...
This fixes #4745
2022-06-14 22:44:15 +02:00
Doug Krahmer
1cbe2643b1
Add file size verification to FileBackend PutAsync()
2022-03-18 11:13:19 -07:00
Kenneth Hsu
c14ace0d68
Make File backend truncate existing files when overwriting.
...
The implementations of ISystemIO.FileOpenWrite call File.OpenWrite,
which does not truncate the existing file. As such, if we overwrite a
larger file with a smaller one, tail remnants of the existing file will
remain.
Since most of the put operations involve unique filenames, this is only
a problem when overwriting existing files (e.g.,
duplicati-verification.json).
This fixes a regression introduced in revision 71c6aca8a7 ("Fixed IO
calls in Filebackend") from pull request #3456 . The previous
implementation called File.Open with FileMode.Create, which truncates
existing files.
This fixes #4486 .
2021-04-20 16:16:00 -07:00
Kenneth Hsu
2aa76881a5
Mark fields that don't need to be reassigned as readonly.
...
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2019-10-19 13:59:22 -07:00
Kenneth Hsu
ec6915b8cd
Remove unused method.
2019-05-26 19:32:55 -07:00
Kenneth Hsu
044122a74d
Remove unused property.
2019-05-26 19:30:20 -07:00
Kenneth Hsu
d246c29221
Disable warning about unused class.
2019-05-26 19:30:02 -07:00
Kenneth Hsu
457254d9e1
Remove unused local variables.
2019-04-17 20:10:53 -07:00
Sean Templeton
b02b19e683
Change Put method name to PutAsync
2019-03-17 18:28:45 -05:00
Sean Templeton
4ca067a8f2
Update Dropbox and File backends for async Put
2019-03-05 21:08:25 -06:00
Sean Templeton
0c122ff550
Change IBackend and IStreamingBackend to return Task for Put()
2019-03-03 21:43:10 -06:00
verhoek
7128544a96
Fix bug that accidentally also handles directories besides files in file backend.
2018-11-26 18:34:52 +01:00
verhoek
ab12be6bbd
Renamed IsClientLinux to IsClientPosix .
2018-11-03 09:26:04 +01:00
verhoek
8bb406cd15
Migrated to use the platform class.
2018-11-02 22:17:16 +01:00
verhoek
b2cc18426c
Renamed Library.IO to Library.Common.IO.
...
Moved basic Platform functions to Library.Common.Platform.
Turned IO_OS into property within Library.Common.
2018-11-02 21:34:07 +01:00
verhoek
71c6aca8a7
Fixed IO calls in Filebackend.
...
Moved FileEntry to Library.IO due to AlphaFS not implementing
System.IO.FileInfo/DirectoryInfo.
2018-11-01 17:56:48 +01:00
verhoek
52916b935b
Replaced System.IO.Path with wrapper call to Alphaleonis.
2018-10-28 12:08:09 +01:00
verhoek
bc053df294
Moved basic IO helper functions to Library.IO.
2018-10-27 12:17:07 +02:00
verhoek
40dc6da81d
Created separate package for io wrapper.
2018-10-25 20:01:55 +02:00
Kenneth Hsu
f12858e6a5
Mark fields that shouldn't be reassigned as readonly.
...
This makes it explicit at compile-time that these fields should not be
reassigned outside the constructor.
2018-05-25 10:04:52 -07:00
Kenneth Skovhede
842fd96543
Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
...
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +01:00
Kenneth Skovhede
bd863016fa
Added support for returning multiple DNS names for cache invalidation.
...
Updated most backends to return the actual DNS names for cache invalidation.
2018-02-26 11:37:10 +01:00
Rune Henriksen
fc77b476fc
changed from NYI to null returns. Added check to skip DNS check if no DNSName is provided
2018-02-21 22:38:01 +01:00
Rune Henriksen
00292953c3
added DNSName getter on Backend interface and added NotImplementedException methods on each backend class
2018-02-18 00:18:44 +01:00
Kenneth Hsu
8810e0130d
Make string comparisons use ordinal (binary) sort rules.
...
These string comparisons should not be culture-aware.
2017-11-26 11:19:54 -08:00
Tyler Gill
4a22a8b075
Fix FileBackend's quota detection for non-drive letter roots by falling back to GetDriveFreeSpaceEx.
2017-10-02 23:22:12 -06:00
Tyler Gill
44c53d3eb1
Merge branch 'master' of https://github.com/duplicati/duplicati into fix/list-ienumerable
2017-09-25 23:19:38 -06:00
Tyler Gill
38883285ee
Change IBackend.List() to return IEnumerable instead of List
...
By changing to IEnumerable, it is possible to iterate only a portion of the list, which is useful when not all entries are needed (e.g., when testing a connection).
All existing backends have been updated, and any which were able to be changed to yield return results in a straightforward way now do.
Many backends had a try/catch in the List() method. Due to the fact that yield returns can't be placed within a try/catch block, these have been refactored to either scope the try/catch to the parts that (should) be the only places throwing exceptions, so that exceptions are still caught and handled.
Note that lazy evaluation may cause some changes in behavior - exceptions that were previously thrown at the point of invokation of List() may now be thrown while it is being enumerated.
I believe this will not be problematic though, as the only well-known exception seems to be FolderMissingException, which should be thrown by Test(), but TestList() attempts to enumerate the list to force this exception.
Any places that require the legacy behavior can get it by simply converting the lazy enumerable to a List()
2017-09-25 23:17:45 -06:00
Tyler Gill
b4f56750f8
Add IQuotaInfo interface
...
It also makes quota enabled backends return an instance of this interface instead of the quota components separately.
This way, getting quota stats requires only a single remote request on backends like Google Drive and OneDrive.
2017-09-24 17:30:52 -06:00
Kenneth Skovhede
a029890409
Implemented better default error messsages
2017-01-09 11:35:38 +01:00
Kenneth Skovhede
3149064cde
Merge branch 'no_more_resx'
2015-01-20 21:45:54 +01:00
Kenneth Skovhede
8d13e698eb
Updated copyright notices
2015-01-20 21:44:52 +01:00
Kenneth Skovhede
16c791f0b5
Removed all resx files, now using Duplicati.Library.Localization exclusively
2015-01-20 21:07:24 +01:00
Kenneth Skovhede
86abc7565a
Added locally allocated buffers for copystream to reduce pressure on allocator
2014-11-10 18:38:18 +01:00
Kenneth Skovhede
80ea4f5763
Started implementing the Rename interface
2014-08-16 22:14:14 +02:00