Commit Graph

136 Commits

Author SHA1 Message Date
Rello
1ec8fe63ac Change qCDebug error logs to qCWarning 2025-06-05 09:24:32 +02:00
Rello
7e72ad28e1 Use warning log level for DB errors 2025-06-05 09:24:32 +02:00
Matthieu Gallien
67bf4054dc fix(encryption): remove currently broken certificate hash handling
we may not currently properly store certificate hash for encrypted items
and later fails to find which public or private key pairs to use

for now, it is better to remove it and ensure we have a reliable way to
handle certificate migration

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-05-26 14:55:57 +02:00
Andy Scherzinger
7655efa230 docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-05-06 09:49:30 +02:00
Matthieu Gallien
72efae79a4 clean up some no longer needed logs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-10 14:31:07 +02:00
Pablo Ariño Muñoz
c3062b45bd Carried out further fixes, changing types to auto and adding const
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
71e4de1503 Added more std::as_const and replaced types for auto, as well as other suggestions
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
44f9aacda8 removed redundant qAsConst
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
fc28fe95bb Replaced foreach with range loops
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08: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
Claudio Cambra
1b87aa95ce Handle live photo in syncjournaldb queries and inserts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-11-20 14:39:51 +01:00
Matthieu Gallien
948a3716c6 store lock tokens in database
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Matthieu Gallien
0ac6c27a2f add missing logs and checks for database errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:36:33 +02:00
Matthieu Gallien
df7527c310 produce Appimage packages from github actions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-05-16 11:56:22 +02: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
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
Claudio Cambra
a0c528a190 Replace comments about relevancy of chunk to propagat v1 with variable name change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +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
82f6fd5c27
Remove use of old foreach in SyncJournalDb::setSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
1b73011f59
Constify SyncJournalDb::findPathInSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
017dca2328
Move findPathInList from discoveryphase to common syncjournaldb
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
xavi-b
5113802daf Fix MacOS UTF-8 normalization issue
Signed-off-by: xavi-b <developer@xavi-b.fr>
2023-04-24 00:52:17 +08:00
Matthieu Gallien
7118fc4650 use a better name for encryption status attributes
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Matthieu Gallien
8659df2266
prevent downgrading e2ee metadata format after initial migration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
079d392d36
move init to default value in class declaration
done via clang-tidy and manual tuning

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,modernize-use-default-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
alex-z
bd9eb0c89f Always unlock E2EE folders, even when network failure or crash.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-30 16:01:19 +01:00
Matthieu Gallien
602b8db5e2
handle case clash conflicts in a similar way to content conflicts
introduce a new type of conflict for case clash filename conflicts

add proper handling including a new utility class to solve them and a
new dialog for the user to pick a fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:35 +01:00
allexzander
6affc6e6ab Implement 'Leave this share' context menu entry. Fix incorrect sharing state for incoming and my shares in custom state icons and local database.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-11-22 12:14:20 +01:00
allexzander
289a641d74 VFS Windows: Display the sharing state and lock state in the 'Status' column of Windows Explorer
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-10-04 18:32:51 +02:00
Claudio Cambra
bbbfe3f1c4 More efficiently schedule sync runs for files that need delayed sync runs
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
fd332a52e2 Fix files not unlocking after lock time expired
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
allexzander
b40c2dfe01 Revert "Remove behavior changes."
This reverts commit 84d06ce9906df7bb6d87bf7093dd11fac6a6057a.

Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
allexzander
d425005a29 Remove behavior changes.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
alex-z
90c94c9d59 Do not ignore return value of getFileRecordsByFileId.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
alex-z
d8e5e980e7 Check return values for SqlQuery.exec().
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
alex-z
2a529eef3c Make sure Folder is deleted from the list and the SyncJournalDB is closed for every folder of the account that has been removed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-10 10:34:34 +02:00
Matthieu Gallien
dc95f29165 fetch and store in sync database information abot lock state of files
fetch lock properties from server

decode them and store them in sync database

test to ensure we do properly handle those properties

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Matthieu Gallien
b64c077469 reformat SyncJournalDb::setFileRecord to decrease complexity
reduce the measure of branching complexity by reformatting the method

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-02 13:52:05 +02:00
Matthieu Gallien
f1d834df8e properly query sync journal DB to know when to run fix for VFS
the new method added to query the db is not working and so the fix for
vfs is executed at each sync run

the new method for bool was not really needed so let's just remove it
(and that will make the usage of SqlQuery be correct

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-19 14:19:04 +01:00
Felix Weilbach
9e792369b2 Refactor key-value store query code
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-17 09:53:26 +00:00
Felix Weilbach
c76a77e431 Correct virtual files placeholder files if needed
In the past not all files were converted to placeholder files when
converting an existing sync folder to a virtual files folder. Because
some files were not converted to placeholder files, the status would
be wrong on the files. This code makes sure that every file in a
virtual files folder is a placeholder file. It could be removed in the
future.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-17 09:53:26 +00:00
Felix Weilbach
c9863dc225 Use QRecursiveMutex
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Hannah von Reth
324d5a04c6 Align type used for getPHash 2021-08-23 09:40:26 +02:00
Hannah von Reth
de2d11125b Move Prepared sql queries to seperate class to manage access 2021-08-23 09:40:26 +02:00
Hannah von Reth
3b99b11849 Always reset prepared sql statements
This allow the creation of checkpoints and fixes the growing wal issue

Fixes: #7646
2021-08-11 17:13:44 +00:00
Hannah von Reth
f977a54694 Finish is already called in the destructor 2021-08-11 17:13:44 +00:00
Hannah von Reth
e7e218d8e6 Improve the error message returned by updateMetadata
Also properly handle the case the the file can't be converted to a placeholder
as it is locked
2021-07-06 14:03:53 +00:00
allexzander
dc72686ab3 Allow download with mismatched checksum if a config option is set.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-10 13:39:11 +03:00
Felix Weilbach
78f1943d76 Add a key value store to the sync journal
This key value store should help to keep track of important events,
that can not be store in the logs, because the logs are deleted too fast.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-19 09:04:43 +02:00