Commit Graph

42 Commits

Author SHA1 Message Date
Camila Ayres
a2a149ed12 fix(quota): add constexpr property names and server entry valid enum to FolderQuota struct.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2025-08-01 11:25:36 +02:00
Camila Ayres
20cef5fd03 fix(quota): wrong conversion from bytes available to int64_t.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2025-08-01 11:25:36 +02:00
Camila Ayres
0f3cc76cc8 fix(syncfileitem): save folder bytes available and bytes used to database.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2025-08-01 11:25:36 +02:00
Matthieu Gallien
6c00eaceed fix(db): ensure correct state for encrypted item in DB
will migrate invalid ietm encrypted status in the client DB when
migrating from older releases

that should ensure working synchronization by having correct tracking
of which items are encrypted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +02:00
Matthieu Gallien
1ba9477d87 fix(e2ee): do not loose encryption status for folders and files
main issue is with child folders that were misbehaving once the initial
upload was done

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-07-29 15:37:26 +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
130668c3b9
docs(reuse): Migrate to SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-04-29 09:00:19 +02: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
e20bedac1f Set live photo properties on syncfileitem when creating one based on other types of items
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-11-20 14:39:51 +01:00
Matthieu Gallien
a2b088759e
remove too verbose not so usefull logs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +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
alex-z
de18970443 Revert "Fix incorrect date parsing."
This reverts commit 04c0125bd1.

Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-09-05 19:01:37 +02:00
alex-z
04c0125bd1 Fix incorrect date parsing.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-05-09 16:21:46 +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
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
1dcde3a41f maintain lock state if unlock happens during sync
currently unlock can happen during the sync
in that case, it may be possible that the propagator will lose the lock
state changes and override them when updating teh etag after a file has
been uploaded

detect that case and ensure we keep consistent state about files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-05 08:57:17 +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
Matthieu Gallien
94869783d3 allow to read v1.2 from buggy v3.8.0 client
will consider v1.2 stored encryption status in DB to be equivalent to v1
due to bugs in the v3.8.0 release

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02: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
619607b054 properly preserve the format of e2ee metadata during DB operations
before this patch we may put the e2ee version format to v1.2 when it was
not the case

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
alex-z
b673ab996e Edit locally job will only sync a specific file by modifying the state of the Sync Engine. All other running syncs will get terminated. Syncing is now optimized to run faster and it checks if the file has changed on the server before syncing it.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-06 09:37:03 +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
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
allexzander
4d66d209bc Fix incorrect logger output for non-latin strings.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-16 09:30:08 +02:00
Kevin Ottens
567f678fd5
Make sure the encrypted flag gets all the way to the journal db
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:21 +01:00
Christian Kamm
910ccaf600
Vfs: Improve sync protocol entries for actions
Creating a new virtual file and replacing a file with a virtual one now
have their own text in the protocol, not just "Downloaded".

To do this, the SyncFileItem type is kept as
ItemTypeVirtualFileDehydration for these actions. Added new code to
ensure the type isn't written to the database.

While looking at this, I've also added documentation on SyncFileItem's
_file, _renameTarget, _originalFile and destination() because some of
the semantics weren't clear.
2020-12-15 10:58:41 +01:00
Christian Kamm
ca0323e1e7
Propagator: Helper for updating db
Similar steps were done in many propagation jobs.

This also updates the db entry to always have the item.destination() as
file path.
2020-12-15 10:58:37 +01:00
Christian Kamm
2b20985875
winvfs: initial work
Done by ckamm and dschmidt
2020-12-15 10:58:21 +01:00
Olivier Goffart
ec681ab2a5
New discovery algorithm: Initial work.
SyncEngineTest testFileDownload is passing
2020-12-15 10:57:56 +01:00
Daniel Nicoletti
99117078f3 Remove table for e2e and add an e2eMangledName column (#169)
If the code was not complex enough syncing two tables
already started to give UNIQUE constrains errors on
simple sync operations, this also adds initial support
remote delete of an encrypted file
2018-02-12 12:50:51 +01:00
Tomaz Canabrava
d24a1e542e Merge branch 'master' into clientSideEncryptionV3 2018-01-29 14:06:12 +01:00
Daniel Nicoletti
a63d34f870 Prepend "nextcloud" for all logging categories
Thus making easier to exclude logging from kio, qt
and only enable "nextcloud.*"
2017-12-28 17:33:10 -02:00
Christian Kamm
8eebc53728 Unify item type enum
Previously, there was csync_ftw_type_e and SyncFileItem::Type. Having
two enums lead to a bug where Type::Unknown == Type::File that went
unnoticed for a good while.

This patch keeps only a single enum.
2017-12-15 18:02:04 +01:00
Jocelyn Turcotte
185cb2e39a
Use SyncJournalDb in csync
This gets rid of the csync_statedb sqlite layer and use
the same code and same connection as the rest of the SyncEngine.

Missing functions are added to SyncJournalDb and change a few minor
things (like changing SyncJournalFileRecord::_modtime to be an int64
instead of a QDateTime, like it was in csync).
2017-10-05 22:01:37 +02:00
Jocelyn Turcotte
81e32e1a08
Move SyncJournalDB to src/common 2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
98ef3050d8
Reverse the dependency between SyncJournalFileRecord and SyncFileItem
This will allow us to also use the SyncJournalDB in csync.
2017-10-05 22:01:33 +02:00
Jocelyn Turcotte
a034ee894c Use SyncJournalDb in csync
This gets rid of the csync_statedb sqlite layer and use
the same code and same connection as the rest of the SyncEngine.

Missing functions are added to SyncJournalDb and change a few minor
things (like changing SyncJournalFileRecord::_modtime to be an int64
instead of a QDateTime, like it was in csync).
2017-09-26 11:03:23 +02:00
Jocelyn Turcotte
a1f1775d15 Move SyncJournalDB to src/common 2017-09-18 14:00:52 +02:00
Jocelyn Turcotte
5fbed0d1cd Reverse the dependency between SyncJournalFileRecord and SyncFileItem
This will allow us to also use the SyncJournalDB in csync.
2017-09-18 14:00:52 +02:00