Commit Graph

276 Commits

Author SHA1 Message Date
Matthieu Gallien
2f48389ed0 improve some log that are produced during discovery
would be usefull to track bugs during rename operations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 10:15:16 +02:00
Matthieu Gallien
a0982ca6d4 avoid wrong tracking of renamed folders during discovery
ensure server rename operations are tracked as server rename operations

ensure local rename are tracked as local rename operations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 10:15:16 +02:00
Matthieu Gallien
80793bbfff
collect remnant read-only folders during discovery
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 09:57:29 +02:00
Matthieu Gallien
3e397e664d enable users to delete unexpected new folders inside a read-only folder
let unexpected new folders in read-only folders be read-write

would be done for folders that are inside a read-only folder and cannot
be uploaded because the parent folder is realy read-only

most probably those folders should never have been there

in case they would be read-only, users cannot delete them, in such
situation, letting them be read-write again should really help

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Matthieu Gallien
96d4062425 when deciding to create a new folder on server: check permissions
sometime we need to create a folder on server because some local files
or folders modifications would be lost without that

in that case instead of locally deleting teh folder, we create it back
on server

when doing that, it is important to check the remote permissions such
that we do not try to create a folder in a read-only folder on server

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Claudio Cambra
abb1f89119 When forbidden filename sync warning is encountered, add reason why the filename is forbidden to the item's error string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
788067598d Store forbidden filename match bools outside of if statement
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
1578cb1938 Assign invalid filename on server syncfileitem status to items with forbidden filenames
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
29ab9ec95d Check for new forbidden filename-related capabilities during exclusion handling in discovery
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
alex-z
28d69e9e2c
Bugfix. Migrate non-placeholder shortcuts to placeholder version.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-07-10 10:29:36 +02:00
alex-z
f70d1c1079
Support Windows .lnk files with VFS Cf API.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-07-10 10:29:21 +02:00
Camila Ayres
e38a9f181a
Only check for external storage permissions when it is a folder.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-05 12:58:36 +02:00
Camila Ayres
0965deaa2f
Remove commented out code.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-05 12:56:52 +02:00
Camila Ayres
9b2780c99c
Improve logs for rename check.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-05 12:56:52 +02:00
Camila Ayres
591808f25e
Check if file is already in database before processing rename.
- The rename check was not happening since it was hitting error "Move without permission to rename base file"
- The file was then processed as a new file
- Also check #6535.

Possible workaround for #6549.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-05 12:56:51 +02:00
Claudio Cambra
b00a5934c9 Allow deletion of virtual suffix placeholder files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-06-28 18:17:19 +02:00
Matthieu Gallien
863256fd55
ignore encrypted items during discovery when encryption is disabled
when we know a folder should be encrypted but encryption client side app
is disabled, ignore any items in the encrypted folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-06-26 14:47:17 +02:00
Matthieu Gallien
7c9f652c3e fix regression with VFS update metadata instruction
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-05-15 15:06:11 +02:00
Matthieu Gallien
7262d11f47 invalid item name warning: use file or folder when appropriate
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-28 16:57:22 +08:00
Matthieu Gallien
e3456847d8 last step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
2141ccdb7d do not cause implicit hydration of virtual files during sync
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-23 18:28:25 +02:00
Matthieu Gallien
1522d01d5b if a virtual file change but bothing changed: set it as in sync
some software (at least outlook native software) may fiddle with CfApi
placeholder metadta and set a .msg file to be out of sync state when
opening it

in that case, we will let the sync engine go over it and decide what to
do

it is then possible in that case that we would just put it back in "in
sync" state

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-23 18:04:35 +02:00
alex-z
b52906a8a6 Fix tests failure. Refactoring.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
alex-z
f490989a1a Fix CI errors.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
alex-z
57f6c7cda2 Also support nested folder scenarios.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
alex-z
d2bfb59d6a Bugfix. Folder invalid char conflict. Do not update parent folder record if it contains conflicted subfolders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
Matthieu Gallien
55034f7e43
properly compute if a folder is top level or child extern mounted
asks new permission to server to be able to know if a folder is a top
level mounted folder

should allow detecting the top level folders from external storages or
group folders

should also make the client reliably detect that it is handling a child
folder inside a group folder and be allowed to rename such folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 14:29:01 +01:00
Matthieu Gallien
608a435d38
context menu: do not recursively check pin and availability states
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-27 11:59:30 +01:00
alex-z
b749cf9748 E2EE with VFS. Disallow MOVE as it is not supported. Prevent data loss.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-20 01:08:34 +01:00
alex-z
c5dd2e89a1 E2EE. Fix root metadata fetching path for non-root remote sync folder. Refactoring. Stabilizing paths.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-20 00:54:27 +01:00
Matthieu Gallien
b7c1a95d1c
fix missing tracking for some item rename operations
will fix mishandling of rename of a single file to multiple places
during discovery

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-05 16:43:05 +01:00
allexzander
53dd8ea5b7
Merge pull request #6484 from nextcloud/bugfix/fix-misleading-log
Bugfix. E2ee misleading log fix.
2024-02-29 12:39:44 +01:00
alex-z
ccf99125b5 Client Status Reporting. Only report statuses listed on the server.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-28 14:47:37 +01:00
alex-z
694a5f4242 Bugfix. E2ee misleading log fix.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-24 14:56:06 +01:00
Matthieu Gallien
17256d3902
add extra logs to investigate lock type issues
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-02-19 14:53:47 +01:00
alex-z
b2aca219fc Do not upload modified PDF file while it is open in Kofax PowerPDF on Windows. Prevents signature verification failure.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-14 08:25:21 +01:00
alex-z
af612525c4 End-to-End Encryption V2. Implemented sharing between users. Automatic migration from 1.0 to 2.0(only for flat folders). Improved secure filedrop.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 16:13:25 +01:00
alex-z
ed2ad42502 Bugfix. Do not treat item type change as metadata update.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-13 11:43:24 +01:00
alex-z
50d168759f Added error reporting for E2EE issues.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
8e38739d94 Generate client status report records when errors happen.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
9298305093 Feature. Do not allow move of external storage mounted folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-07 14:10:35 +01:00
alex-z
406bad8ab4 Enforce virtual file type when it is falsely marked as non-virtual. Added more logs for scenarios when virtual placeholder gets marked as non-virtual.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-25 11:28:42 +02:00
alex-z
623fe40c36 Unhide discovery logs for file deleted on the server and for discovered file.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-05 10:48:06 +02:00
alex-z
fde7933585 Optimize CaseConflictRecords search in local DB during the sync.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-25 10:37:10 +02:00
Matthieu Gallien
a17b3608d9
do not check every 5 seconds files with infinite timeout (= 0)
we want to schedule a new sync attempt if a file is likely to have been
unlocked due to timeout expiring on server

but if the timeout is null (equal to 0), there will be no timeout on
server and no automated unlocking, so do not schedule a sync every 5
seconds to check for it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-09-14 18:33:24 +02:00
alex-z
3831d8b462 Do not attempt to convert .lnk files to placeholder. Also do not modify folders' metadata.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-14 16:00:14 +02:00
Matthieu Gallien
f90cb239f3
on windows file names can always be encoded: fix wrong test
inspired by https://github.com/owncloud/client/pull/6820

Close #5935

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-08-16 10:44:37 +02:00
Claudio Cambra
21656cce17
Replace all manual isntancesof adding trailing slash with use of utility method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
74c4ec88a2
Const autofy variables in ProcessDirectoryJob::processFile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
aa20c102b6
Properly check folder size on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00