Commit Graph

465 Commits

Author SHA1 Message Date
Pablo Ariño Muñoz
a6a02dceb1 Replaced qAsConst with std::as_const
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 03:55:21 +00:00
Pablo Ariño Muñoz
76195b9617 removed redundant qAsConst
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 03:55:21 +00:00
Pablo Ariño Muñoz
1f426977af Replaced foreach with range loops
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 03:55:21 +00:00
Matthieu Gallien
0fd16d2d4e ensure correct behavioron Windows for invalid file names
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-19 13:12:37 +00:00
Matthieu Gallien
f18a94fbfd try to detect if naming rules are enabled on server before auto rename
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-19 13:12:36 +00:00
Matthieu Gallien
7a7edd69ef automatic removing of invalid spaces in file names
to ensure compatibility with Widnows, we will remove automatically the
leading space characters in file name of new files or folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-19 13:12:36 +00:00
Matthieu Gallien
2a52ec33b0 add support to use PKCS#11 harware token to store certifice for e2ee
Close #5685

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
0e91ece49c only use debug log level for discovery traces to decrease cost
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-06 09:44:55 +01:00
Felix
1001a1dff4 Check if discovery paths are empty before logging
Signed-off-by: Felix <felix-git@0xf.eu>
2025-01-23 20:45:09 +01:00
Felix
2c2cb135ca Log path strings directly instead of accumulating
Signed-off-by: Felix <felix-git@0xf.eu>
2025-01-23 20:45:09 +01:00
Claudio Cambra
f2d49f5591 Use std::prev ove -1ing the iterator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use std::prev for it rather than -1 in Syncengine

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Claudio Cambra
7d9077c9a9 Use unique_ptr over scoped pointer
take is deprecated in scoped pointer

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f handle

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use unique_ptr instead of scoped pointer for propagator firstJob

Fixes deprecation warning

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use unique_ptr for discoveryphase, replace take with release

Fix deprecation warn

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f unique

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Claudio Cambra
1009fed86a Replace all uses of qAsConst with std::as_const
Fixes deprecation warnings on Qt 6.8.0

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Hannah von Reth
47132d3beb Fix crash on missing sync root
Fixes: #9016
2024-12-12 12:15:44 +01:00
Matthieu Gallien
5b2af166d3 ensure no any user writable permissions in Nextcloud sync folder
past versions may have wrongly set the write permissions for other users
(UNIX style permissions)

remove this under the hypothesis that newly created files or folders
gets more restrictive permissions and that past files or folders should
be updated to get the same permissions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-11-21 12:06:57 +01:00
Matthieu Gallien
8abe8e6f52 better logs tounderstand when a folder is local scanned
should hopefully allows to understand when local file system discovery
is done or omitted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-17 08:52:27 +02:00
Matthieu Gallien
6c5c7c27d2 improve log when too many deleted files are detected
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 14:36:51 +02:00
Matthieu Gallien
d31b3b068f count the files deletion and warn if threshold is exceeded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-30 14:33:49 +02:00
Matthieu Gallien
451faaf0e1 receive and decode tokens for locks
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Matthieu Gallien
a118c0ad1e detect remnants read-only folders to delete: try to delete them
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
155c61acbb let cancel sync and finish sync lambda be reusable methods
will enable implementation of other ways to interrupt sync after
discovery to get user feedback

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +02:00
Matthieu Gallien
b7b72bf9f2 collect remnant read-only folders during discovery
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-12 08:40:50 +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
Matthieu Gallien
274feb9587 remove deprecated code only usefull for very old Qt releases
we require Qt > 6.0 so any conditionnal code for older releases can be
deleted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 11:14:26 +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
7b9b7bc3b6 Add sync option for nextcloudcmd.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-06-28 18:18:08 +02:00
Camila Ayres
1f88052a8e Fix #3144: check for promptDeleteAllFiles config setting before emitting signal to display warning.
The signal is not connected to any slot when running nextcloudcmd.
The callback to finish the sync was never being called because the check for the config was done in the slot,
which was never called.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-06-28 18:18:08 +02:00
alex-z
c7591f6332 Bugfix. Files lock. Check lock owner type for setting readonly based on server capabilities (NC27/28 compatibility issue).
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-05-09 16:21:46 +02:00
alex-z
47a605c654 Bugfix. Files lock. Fix incorrect readonly state.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-24 13:28:22 +02:00
alex-z
dbde9e3a2b Detect office files for locking on new upload. Notify FolderWatcher.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-13 15:46:37 +02:00
alex-z
837f9a4913 Bugfix. Exclude list. Fix stuck 'excluded' status in Windows Explorer after removing the exclude pattern.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-05 10:40:09 +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
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
Matthieu Gallien
911120caa0
ensure we do not modify a file that has been just uploaded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-14 14:37:33 +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
5b54b13a97 Iteration. Properly process server reply.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
Matthieu Gallien
f8730b6bfb avoid restore algorithm by setting the data fingerprint from sync DB
avoid single file sync to switch to data fingerprint restore sync mode if
a data fingerprint has been saved in the database but missed during
single file sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-11-24 15:20:40 +01:00
Matthieu Gallien
8b0d6dc322 avoid for loops detaching the container when uneeded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
a46bc8e8b0 fix mising emit keyword in two places when emitting a signal
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
15a45a21c1 when sync is completed and data fingerprint changed, update it
in case sync would complete after a data fingerprint change, we should
tolerate some errors

a file being blacklisted for whatever reason should not block the
propagation of data fingerprint

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
Matthieu Gallien
27b807d164 ensure we do not restore unselected folders from selective sync
we should not try to restore files/folders no longer synced because of
selective sync when detecting a data fingerprint change

in case the user deselect a folder from selective sync list, we would do
a local delete

in case the client is also detecting a change of data fingerprint (or is
stuck in restore mode) then instead of applying the new set of selected
folders to sync, it would upload unselected files/folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
alex-z
0f7d29bce6 Ignore upload error items and schedule a new sync in case there are removed items that need to be downsynced.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-04 10:02:05 +02:00
Matthieu Gallien
a7c163968a update read-only status of virtual files when needed for lock state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-08-21 12:57:16 +02:00
Claudio Cambra
812e696d53 Set modificationHappened to also depend on file size change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
4681d27de5 Ensure file modification time is set if item modtime differs from journal modtime
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
961033efc1 Only attempt conversion to placeholder on new file if VFS enabled in SyncEngine::slotItemDiscovered
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
fe829e2693 Only change modification time if any modifications were actually made on downsynced file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
32145342c8 Unify else and if in SyncEngine::slotItemDiscovered for filesystem setmodtime check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08: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