Commit Graph

272 Commits

Author SHA1 Message Date
Matthieu Gallien
1a710eac1d fix: simplify code reverting to the original version
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2025-07-18 08:48:34 +02:00
Matthieu Gallien
5f57734e87 fix: use proper type of string view
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2025-07-18 08:48:34 +02:00
Rello
0ccba7edfb fix(ignore-list): skip star pattern
Signed-off-by: Rello <Rello@users.noreply.github.com>
2025-07-18 08:48:34 +02:00
Claudio Cambra
f5fb6994b4 feat(libsync): Add method to get list of unique exclude patterns from ExcludedFiles
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-15 12:10:44 +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
Jyrki Gadinger
8cd1beebe6 fix FileSystem::setModTime on x64 Windows with times > 2038
also removes some unused Utility methods

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-04-08 23:18:20 +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
87b6b3cfbd Use matchView instead of match
match is deprecated

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
Matthieu Gallien
be85f3c1ec optionally install PDB files when building them
would allow installing PDB files when doing Windows builds producing
debug symbols

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-12-12 10:08:15 +01:00
Matthieu Gallien
2ae4d56ba0 set the proper file type for directory junction entries
Close #7157

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-12-09 11:15:13 +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
e2f94d86ef
create a permanent log of delete actions
will log all deletions with the result of the discovery by the sync
enginre

should enable analyze even long time after such a delete occured

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-01 15:43:42 +02:00
Matthieu Gallien
fcc325ffbb ensure detection of entry type on windows is reliable
it seems that there is a possibility for the type detection to report a
folder as being a file

with this change, I am pretty sure that cannot happen any longer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-05 10:49:30 +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
Matthieu Gallien
ba00c50022 avoid accessing a temp QString via QStringView after it is deleted
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-05-15 14:34:46 +02:00
Matthieu Gallien
3099628770 header changes needed for clang/vs2022 compilers
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
fa766c02ac properly use QStringView to avoid copies
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
aa76de9b68 allow detection of qt5 or qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
1f0279e1c1 remove usage of QStringRef due to it being missing in Qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +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
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
Camila
02e4f05358
Use a new FindSQLite3 cmake module.
Add find sqlite to the root CMakeLists.txt.

Signed-off-by: Camila <hello@camila.codes>
2023-12-11 11:50:33 +01:00
Camila
60d975d1dc
Ignore the USE_OUR_OWN_SQLITE3 flag.
Always look for sqlite in the system in the 3 platforms.

Signed-off-by: Camila <hello@camila.codes>
2023-08-29 12:05:03 +02:00
Dries Mys
984d06e82a Convert VFS file to placeholder again if needed
Note that Windows may convert a placeholder file to a regular file when
it is replaced by another file, even if the old and new file (inode,
modified time, file size) are identical.

WIN32_FIND_DATA::dwReserved0 is only initialised in case of
FILE_ATTRIBUTE_REPARSE_POINT is set. This field is not a bit set. Check
corrected to only include all cloud reparse points and not other special
reparse points.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
tomdereub
39e59a1c79 windows reserved word silently excluded - csync exclude.cpp
Proposal to solve https://github.com/nextcloud/desktop/issues/3826, by excluding silently windows reserved word like $RECYCLE.BIN.

Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
Matthieu Gallien
8bd69ad941
fully hide some logs from release builds
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
47a7a267ea
fix build on windows by adding missing archive name properties on libs
the archive output name is used on windows but was never set for 2
libraries

with this they will have a proper name matching other components of the
shared library

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-31 15:45:09 +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
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +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
alex-z
ad258473c4
Fix issue of e2ee folders not disappearing when disabling the e2e. Properly process blacklisted e2ee folders instead of ignoring them.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-24 17:00:15 +01:00
alex-z
867249f339 Do not sync encrypted folders if the E2EE mnemonic is not entered. Automatically blacklist them. Remove from blacklist once the E2EE mnemonic is provided.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-15 15:09:25 +01:00
Matthieu Gallien
a8025dc06a use .nextcloudsync.log to perform file monitoring test at start
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-12-15 11:11:20 +01:00
Matthieu Gallien
565a5f0999 add [[nodiscard]] attribute via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix
under linux with most part of our code covered

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 11:14:45 +02:00
Matthieu Gallien
9b7d1add52 apply modernize-use-using via clang-tidy
ran
run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-using' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-10-04 01:32:46 +02:00
alex-z
225c2dda4c Bring back .lnk files on Windows and always treat them as non-virtual files.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-27 10:12:03 +03:00
Claudio Cambra
9a0753dabb Replace private API QZipWriter with KArchive
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-09-07 19:10:03 +02:00
Matthieu Gallien
5f6277b3ee if an exclude file is deleted, skip it and remove it from internal list
ignore files can be removed: not an error so adjust tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-05-16 21:00:52 +02:00
alex-z
53654b2a50 Allow manual renaming of files and folders with spaces. Allow uploading invalid file name via the InvalidFileName dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 18:07:26 +03:00
Matthieu Gallien
4371c0cbfe add headers in cmake files to get them properly detected
qt creator for example requires that headers are explcitly given in the
source lists

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-02-11 14:31:22 +00:00
Camila
5788f35e82
Skip sync exclude file from list of exclude files if it doesn't exist.
The file might not exist anymore because the user deleted it by hand or
the folder where it was located got unchecked in the selective sync
view. It is a fix for #2632.

Signed-off-by: Camila <hello@camila.codes>
2021-10-28 11:37:56 +02:00
Felix Weilbach
a663d235ef Add .sync-exclude.lst to exclude files
Previously the .sync-exclude.lst file of the sync root directory was
not added to the exclude files, because the current logic did only
recognize .sync-exclude.lst files when their containing directory was
discovered during the discovery phase. Therefore the sync root
.sync-exclude.lst file was never discovered. See also
ExcludedFiles::traversalPatternMatch().

Fix: #3830, #2728

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-14 14:02:29 +00:00
Matthieu Gallien
833237b2e4 use alias target for internal libraries
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-06 07:56:33 +00:00
Matthieu Gallien
c751fd5672 ensure DLL are generated with branded names
cmake distinct runtime and library

on unix dynamic shared libraries are library kind of objects
on windows they are runtime kind of objects

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-06 07:56:33 +00:00
Guido Falsi
b0b70d1e77 Check for argp library before depending on it.
Signed-off-by: Guido Falsi <madpilot@freebsd.org>
2021-09-29 15:46:07 +02:00
Guido Falsi
5f036641b9 Add -largp on non linux systems.
Signed-off-by: Guido Falsi <madpilot@freebsd.org>
2021-09-29 15:46:07 +02:00
Felix Weilbach
fb1b3481d1 Fix warnings
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-17 13:32:26 +00:00
Nicolas Fella
18ddb9df4a Use CMAKE_INSTALL_DATADIR instead of custom DATADIR
CMake provides what we wan out of the box

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-09-01 11:43:03 +00:00