Commit Graph

1510 Commits

Author SHA1 Message Date
Christian Kamm
421c0b447e Merge remote-tracking branch 'origin/2.5' 2019-01-15 11:18:24 +01:00
Dominik Schmidt
872bb99a58 Fix lookup of system wide settings 2019-01-11 10:36:33 +01:00
Christian Kamm
e87660ba28 Merge remote-tracking branch 'origin/2.5' 2019-01-10 10:08:03 +01:00
Christian Kamm
df1723c9b2 vfs: Remove newFilesAreVirtual - use root PinState instead
This unifies how to deal with pin states.

Also enable reading a folders direct pin state vs its effective pin
state.
2019-01-07 10:09:03 +01:00
Olivier Goffart
3313de9066 Discovery: Handle the blacklistFiles from the server capabilities
Issue #434

Ideally one could add the blacklist to the exlucde reggexp, but this
is simpler
2018-12-22 18:19:37 +01:00
Christian Kamm
979cea3a38 Progress: Virtual file creation needs no transfer progress #6933
Treat virtual file creation as a size-less action, similar to
propagating renames or deletions.
2018-12-21 09:22:39 +01:00
Christian Kamm
fac6ad354f vfs: Use PinState in sync algorithm #6815
New files are virtual if the file's pin state is OnlineOnly.
2018-12-19 14:04:24 +01:00
Olivier Goffart
3eabe35520 Discovery: Set right direction when restoring deleted discovery because it has modified files
(Catched by a faillure of t1.pl)
2018-12-19 10:54:48 +01:00
Christian Kamm
e97d42933e Vfs: Have a static list of potential plugins for now
Fixes in-source builds and other cases where more non-plugin directories
are created in src/libsync/vfs.
2018-12-18 15:17:04 +01:00
Olivier Goffart
3b0a21028c SyncEngine: Ensure that the paths passed to the discovery ends with slashes
This was making the tx.pl test fail
2018-12-18 11:06:31 +01:00
Olivier Goffart
8fac2bf5d1 Propagator: Don't abort sync on error 503
Only do it when it is actually a maintenance mode

Issues #5088, #5859, https://github.com/owncloud/enterprise/issues/2637
2018-12-17 12:37:54 +01:00
Olivier Goffart
0440349aa0 Chunking Move: Fix too many starting slashes in the destination header
Commit 6ca724f fixed it for the move case. But the upload MOVE did the same

Issue #6904
2018-12-11 20:57:51 +01:00
Dominik Schmidt
96f4f16162 Fix installation of vfs suffix plugin 2018-12-11 15:56:24 +01:00
Olivier Goffart
779874923c VFS: Plugin needs to be installed, otherwise it can't be loaded 2018-12-07 11:15:45 +01:00
Olivier Goffart
4d0e4c0a18 Fix compilation warning
src/libsync/propagatorjobs.cpp:63:10: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
        [this, &deleted](const QString &path, bool isDir) {
         ^~~~~
2018-12-07 10:06:56 +01:00
Olivier Goffart
9fbef38247 Merge remote-tracking branch 'owncloud/vfs-master'
Conflicts:
	src/libsync/filesystem.cpp
	src/libsync/filesystem.h
2018-12-07 10:04:43 +01:00
Olivier Goffart
c3277331eb Merge branch 'readonly-restore-context-6252' into 'master'
Conflicts:
	src/gui/socketapi.cpp
	src/gui/socketapi.h
	src/libsync/syncengine.cpp
2018-12-03 14:18:35 +01:00
Olivier Goffart
abc5bdc562 Merge remote-tracking branch 'owncloud/2.5' 2018-11-29 17:34:24 +01:00
Olivier Goffart
697b6b9e81 Remove Shibboleth support
Issue #6451
2018-11-27 12:28:14 +01:00
Christian Kamm
18ab3f5dcd vfs: Separate vfs availability from new-files-virtual
This helps support 2.5 settings where there are virtual files in the
tree but new files aren't created virtual.

It's also a prelude for #6815

There's currently no way of
- upgrading vfs plugins (a silent suffix->winvfs upgrade is attempted
  once only, when moving to master)
- disabling vfs capabilities outright
2018-11-26 13:02:48 +01:00
Christian Kamm
3ba0123353 vfs: Don't always load plugins, check metadata 2018-11-26 13:02:48 +01:00
Christian Kamm
4f56366fd5 vfs: Ensure SyncOptions::_vfs is never null
- Create a VfsOff derived class
- Make it a shared pointer shared with Folder::_vfs
2018-11-26 13:02:48 +01:00
Christian Kamm
31b547bd43 vfs: Switch order of deletion and journal removal in dehydration
To be more crash-resilient.
2018-11-26 13:02:48 +01:00
Christian Kamm
20b28302f5 vfs: Update outdated comment 2018-11-26 13:02:48 +01:00
Christian Kamm
afa09e9b19 vfs: Remove VfsSuffixPrivate 2018-11-26 13:02:48 +01:00
Christian Kamm
6cb071da47 Generalize Result<> class, add Optional<>
To make it nicer to use outside of HTTP results.
2018-11-26 13:02:48 +01:00
Dominik Schmidt
01ad0079c4 Cleanup CMake (output) 2018-11-26 13:02:48 +01:00
Christian Kamm
975a518cf9 vfs: Add check for presence of win plugin 2018-11-26 13:02:48 +01:00
Christian Kamm
59a114cd4d vfs: Fix plugin decision in wizards, sanitize loading 2018-11-26 13:02:48 +01:00
Christian Kamm
29a52e9600 vfs: Reenable local metadata updating of vfs files 2018-11-26 13:02:48 +01:00
Christian Kamm
f500539c44 vfs: Make some behaviors suffix-vfs specific 2018-11-26 12:59:51 +01:00
Christian Kamm
f6863964ee vfs: Allow remote renames to propagate as such 2018-11-26 12:59:51 +01:00
Christian Kamm
0c86181013 Fix big-folder detection when vfs is disabled 2018-11-26 12:59:51 +01:00
Christian Kamm
12e5313d85 vfs: Implement dehydration tagging 2018-11-26 12:59:51 +01:00
Christian Kamm
0c83794227 vfs: Fix suffix detection and handling 2018-11-26 12:59:51 +01:00
Christian Kamm
fd022e8e4f winvfs: Better error reporting
- fix download and validation error reporting
- add tests
2018-11-26 12:54:55 +01:00
Christian Kamm
446a82c00d Fixes after rebase to master
- use vfs suffix in ProcessDirectoryJob
- fix include vfs.h
- fix local vio passing vfs
- fix checksum computation
- vfs mode use
- mingw lambda compile issue
2018-11-26 12:54:55 +01:00
Christian Kamm
06928a4037 winvfs: initial work
Done by ckamm and dschmidt
2018-11-26 12:53:30 +01:00
Dominik Schmidt
53df98a24a Make -logfile - work on Windows 2018-11-26 12:47:31 +01:00
Olivier Goffart
93d3d0441b Account: Fix crash when deleting an account
We should not have request parented to the account, otherwise we might get
a loop on the deletion order.

Issue #6893
2018-11-26 10:12:03 +01:00
Olivier Goffart
3b386e0b33 csync_vio_locale: use QString for the path in opendir
So we don't have to convert to utf8 and back again
2018-11-15 07:26:44 +01:00
Olivier Goffart
eef3e9086a Exclude: do everything with QString wiuthout converting to char* 2018-11-15 07:26:44 +01:00
Olivier Goffart
f92cfdb3a3 ProcessDirectoryJob::process: optimize so there is only one map 2018-11-15 07:26:44 +01:00
Olivier Goffart
449b7155bf PropagateUpload: Avoid many allocations by using QByteArrayLiteral 2018-11-15 07:26:44 +01:00
Olivier Goffart
682cc6f199 Sync: optimize by removing setFileRecordMetadata
Inh most case we already have a record from before, so avoid doing a useless
lookup in the database.
In owncloudpropagator.cpp, directories do not have a checksum so no need
to call a function that preserves it
2018-11-15 07:26:44 +01:00
Gerhard Gappmeier
5c619392e4 libsync: Fix build error with TOKEN_AUTH_ONLY
When enabling TOKEN_AUTH_ONLY, the code path using QPainter is disabled.
So we also don't need the includes.
This header is not available for Remarkable.
2018-11-09 15:08:18 +01:00
Olivier Goffart
164993ddf8 Workaround GCC < 7 bug.
https://stackoverflow.com/questions/32097759/calling-this-member-function-from-generic-lambda-clang-vs-gcc
2018-11-08 11:22:28 +01:00
Olivier Goffart
69251ed83e Discovery: fix double emission of finished in case of error 2018-11-08 11:22:03 +01:00
Olivier Goffart
dc63996773 Discovery: Fix downloading files when database is used for local discovery
This also fix the currently failling LockedFilesTest
2018-11-07 13:46:54 +01:00
Olivier Goffart
9b874c2764 Merge remote-tracking branch 'origin/2.5' into master
Conflicts:
	src/libsync/propagateuploadng.cpp
	test/CMakeLists.txt
2018-11-06 16:17:51 +01:00