Commit graph

2533 commits

Author SHA1 Message Date
Matthieu Gallien
112be18635 read capabilities for bulk upload from server
use it in dedicated tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-24 16:17:47 +01:00
Matthieu Gallien
802c7ac906 make AbstractNetworkJob::errorString virtual: it is already overriden
in practice AbstractNetworkJob::errorString is already overriden but the
overrided code is probably never called while the intention looked like
the opposite

fix that by making the method virtual in base class

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-24 16:17:47 +01:00
alex-z
b03bf1c1f0 Pass username from Windows to login page.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-24 10:04:22 +00:00
Matthieu Gallien
83a8058b51 improve logging for CfApi
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-23 13:41:29 +00:00
Matthieu Gallien
072e9d44bd gracefully handle one case of invalid handles
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-23 13:41:29 +00:00
Matthieu Gallien
a3013de6ea fix OCC::CfApiWrapper::handleForPath when path does not exist
sometime it can be called with a path that is already deleted

ensure we always go to the correct code path

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-23 13:41:29 +00:00
Matthieu Gallien
9eed62a854 remove too noisy log print
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-23 13:41:29 +00:00
alex-z
8e6896ba03 Quick fix! Disable VFS folders removal for non-Windows VFS.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-22 12:37:18 +02:00
alex-z
73db636361 Added more logs to 'postProcessLocalNew'.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-19 09:10:20 +00:00
Felix Weilbach
07a8e8c91d Check if the server has user status app enabled
According to
https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-status-api.html#user-status-retrieve-statuses
we should check the user status capability, not the the end points.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-15 16:20:58 +00:00
Felix Weilbach
3e368ee4df IconJob: Send request through the accounts NAS
This helps tracking requests on the server

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-10 13:11:49 +01:00
Felix Weilbach
db337c4457 Add profile page
Fix: #3889

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-10 13:11:47 +01:00
Matthieu Gallien
5ab13b2adc add an option to enforce use of virtual files sync folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-05 16:56:24 +01:00
rakekniven
416d98716f Make argument singular to fix i18n issue
Reported at Transifex.
See https://www.transifex.com/nextcloud/nextcloud/translate/#hu_HU/client/309577611

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-11-05 10:00:17 +01:00
Felix Weilbach
650578ee64 Don't convert exclude file to placeholder file
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-04 18:18:50 +01:00
Matthieu Gallien
43ec429fe4 improve logs when place holder info cannot be read
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-04 15:02:27 +01:00
Matthieu Gallien
9658aea963 on switch to VFS real plugin, convert existing files to placeholders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-04 15:02:27 +01:00
alex-z
6c3c45dadd Implement expiration date for federated shares
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-03 10:54:18 +00:00
alex-z
c52718c104 Replace deprecated QRegExp with QRegularExpression.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-02 08:54:06 +00:00
Matthieu Gallien
a62905f17a properly extract the file id when querying server
use the proper local file id to get the e2ee meta data

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-02 08:15:54 +00:00
alex-z
db4e54025a Forbid trusting the untrusted certificate.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-27 07:23:42 +00:00
alex-z
907ebc1959 Request OCSP validation data from the server during the SSL handshake.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-27 07:23:42 +00:00
Matthieu Gallien
87c583dcb6 schedule files upload after all other jobs have been completed
should allow smarter policy dedicated to optimizing files upload

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-26 14:26:28 +02:00
Matthieu Gallien
24428d9980 add missing Q_ENUM macro to improve logging
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-26 12:45:15 +02:00
Matthieu Gallien
b0ef5e0635 no oneliner if: a bug waiting to happen
it is much too easy to get a bug because one could miss the lask of {
and }

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-26 12:45:15 +02:00
alex-z
1b8448402a Fix JsonApiJob incorrect 'statuscode' parsing.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-25 14:45:05 +03:00
alex-z
c1dab7e4cb Unified Search via Tray window
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-25 14:45:05 +03:00
alex-z
da03acc656 Fix folder creation issues.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-10-20 19:47:41 +00:00
Felix Weilbach
1156d82594 Log file name and line number
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-19 17:10:44 +00:00
Felix Weilbach
24f6bc5203 Only use basic authentication if needed
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-18 12:20:20 +02:00
Camila
c6e629c30d
Give the user a more descriptive error message when syncing is aborted.
Signed-off-by: Camila <hello@camila.codes>
2021-10-18 09:50:02 +02:00
Valdnet
22b0a2e196
i18n: Correct typo and remove apostrophe
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-10-15 08:44:02 +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
Felix Weilbach
df11424596 Trim trailing spaces before uploading files
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-14 11:22:59 +00:00
Matthieu Gallien
46bc0452c7 provide logs of SSL errors including the certificate chain
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-10-13 15:20:52 +00:00
Felix Weilbach
4c11f6763e Show sync progress in main dialog
Fixes #3662

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-12 16:14:24 +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
alex-z
6cafcc1124 Remove Temporary solution for file restoration issue due to failing to set the data-fingerprint.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-09-30 08:39:47 +00:00
Felix Weilbach
d6e60cd8d4 Don't log encryption data in release mode
We deliver our builds to users with debug logging enabled to have an
easier time finding problems. However, logging all the encryption data
in this loop is too much and should not be done in release mode.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-27 19:50:38 +00:00
Camila
8f847906c6 Check server capabilities for file sharing default permissions.
Signed-off-by: Camila <hello@camila.codes>
2021-09-27 08:53:45 +00:00
Felix Weilbach
d3d8b1c631 Add dialog to resolve invalid filenames
Fixes #3751

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-23 10:45:15 +00:00
Felix Weilbach
fb1b3481d1 Fix warnings
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-17 13:32:26 +00:00
Felix Weilbach
86da74908a Emit user status changed after clear user status
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-14 07:26:46 +00:00
Dmytro Korchynskyi
5f232c30be Fixed warnings from ntstatus.h on Windows
Signed-off-by: Dmytro Korchynskyi <kdl.dima@gmail.com>
2021-09-13 13:05:41 +03:00
Dmytro Korchynskyi
608fc5fb3a Fixed warnings by using static_cast
Signed-off-by: Dmytro Korchynskyi <kdl.dima@gmail.com>
2021-09-13 13:05:41 +03:00
Felix Weilbach
8a8d488454 Add dialog to set user status
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-09 11:18:22 +02:00
Felix Weilbach
5622c33f40 Fix various deprecated warnings
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Felix Weilbach
93f590c6de Replace deprecated use of QProcess::execute()
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Felix Weilbach
0af83dd1b6 Use QRandomGenerator instead of qrand
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Felix Weilbach
2fe3a7947e endl has been deprecated
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Matthieu Gallien
95e3ecfd3c prevent infinte recursion when closing a websocket in case of SSL errors
the slots connected to the web socket can be called even during close
and lead to infinite calls to close -> error slot -> close -> ...

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-09-07 07:09:43 +00:00
Felix Weilbach
031b2e0683 Remove assert that caues crashes
This assert does not add value. Utility::concatUrlPath() takes care of
appending paths correctly.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-06 15:54:44 +00:00
allexzander
a3fc812539 Enable share to Talk and Email. Display correct icon. Added unit tests.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-09-06 13:27:39 +00:00
Matthieu Gallien
d17d831205 switch from Q_DECL_OVERRIDE to plain override
our requirements guarantee availability of override keyword so we just
use it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:57 +00:00
Matthieu Gallien
25669938fd let clang-tidy add missing override after enabling again the check
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-31 08:35:56 +00:00
Felix Weilbach
23fca8019b Add parens around && in || statement
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-26 15:52:25 +00:00
Felix Weilbach
4d72d375f2 Fix warnings related to wrong ordering of ctor init
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-26 15:52:25 +00:00
Matthieu Gallien
601c4fb3c0 remove a tr call where translator cannot do anything meaningful
close #3708

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-26 15:26:54 +00:00
Matthieu Gallien
22a5fadc13 remove broken assert that is not needed and break account setup
it has been also removed from the original branch so no problem removing
it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-23 14:13:58 +02:00
Matthieu Gallien
0456cacd79 fix clang-tidy check for usage of =default
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-08-23 09:44:34 +02:00
Hannah von Reth
4b0122093a Add socket command to upload a selection of files based on a regex
(cherry picked from commit 0ded3a56a9f3470a951b18eaa9d3c1b5e8db1135)
2021-08-23 09:44:34 +02:00
Hannah von Reth
010fccb4fa Remove dead code 2021-08-23 09:44:34 +02:00
Christian Kamm
ebaa98fa7a owncloudcmd: Use env vars for chunk sizes #7078
Moves a bunch of env var reading from Folder into SyncOptions.
2021-08-23 09:44:34 +02:00
Hannah von Reth
10e02b0031 Don't create QStringList copy first 2021-08-23 09:44:34 +02:00
Hannah von Reth
44fa4aad88 Always call doLog to ensure we get a crash log 2021-08-23 09:44:34 +02:00
Hannah von Reth
1ff3a0f8b6 Remove anchient debug msg that mutated to a warning over the year 2021-08-23 09:44:34 +02:00
Hannah von Reth
6324ac9cac Cleanup members 2021-08-23 09:44:34 +02:00
Hannah von Reth
df567efd37 Remove dead code 2021-08-23 09:44:34 +02:00
Hannah von Reth
990ce6ed05 Dump the last 20 lines of logs to a file when we crash
Fixes: #8467
2021-08-23 09:44:34 +02:00
Hannah von Reth
48f4c1e9e1 Log fallback result 2021-08-23 09:44:34 +02:00
Hannah von Reth
acd83a2998 Ensure unit test are using absolute paths 2021-08-23 09:44:34 +02:00
Hannah von Reth
1eee5c849e Add assert to ensure we used _remotePath as base 2021-08-23 09:44:34 +02:00
Hannah von Reth
6c1073db92 Fix another url for etag request
Fixes: #7838
2021-08-23 09:44:34 +02:00
Hannah von Reth
5b457a1663 Use byte array for etag 2021-08-23 09:44:33 +02:00
Hannah von Reth
d16befd1fd Align MkColJob finish signal with the other jobs 2021-08-23 09:40:27 +02:00
Hannah von Reth
cb57d8e54c Add missing Q_EMIT 2021-08-23 09:40:27 +02:00
Hannah von Reth
789e0e45d5 Fix Windows long path issue introduced in dd641fae997d71c8396b77def2fa25ad96fdf47f 2021-08-23 09:40:27 +02:00
Hannah von Reth
a72ff9ea7f Set permissions for new folder 2021-08-23 09:40:26 +02:00
Hannah von Reth
90b733801e Simplify uuid handling 2021-08-23 09:40:26 +02:00
Hannah von Reth
557b11aca7 Include os version 'windows-10.0.19042' in about dialog 2021-08-23 09:40:26 +02:00
allexzander
ba73b6d914 VFS + E2EE. Improved data alignment and unit tests for StreamingDecryptor. Refactoring and renaming for readability.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-20 12:57:22 +00:00
allexzander
289df252b5 VFS + E2EE. Handle scenario of sync journal deleted.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-20 12:57:22 +00:00
allexzander
c28cac8479 VFS + E2EE placeholder size migration from old versions.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-20 12:57:22 +00:00
allexzander
2c78925acb VFS + E2EE VFS implicit hydration of E2EE files.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-20 12:57:22 +00:00
allexzander
b6d216b794 Use separate arguments for a remote root and do not use dav or webdav in the server's URL
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-20 13:30:35 +03:00
Felix Weilbach
3d72e24bb8 Brand name of vfs plugins
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-19 10:30:24 +00:00
Nicolas Fella
43cccb0a73 Don't use variables for CMake target identifiers
This makes the code a bit nicer to read and maybe a bit more robust.

Set the relevant OUTPUT_NAME target properties to keep the ability to
customize the names of the installed binaries.

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-08-19 10:30:23 +00:00
Felix Weilbach
acf6cc0527 Remove unused functions and variables
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-11 20:20:39 +00:00
Felix Weilbach
d72f7e9109 Check result of setPinState()
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-11 20:20:39 +00:00
Hannah von Reth
6e0a43b570 Fix clash detection with virtual files
Fixes: #8323
2021-08-11 17:13:44 +00:00
Hannah von Reth
45f3a97997 Small cleanup 2021-08-11 17:13:44 +00:00
Hannah von Reth
989390bc41 Don't shadow 2021-08-11 17:13:44 +00:00
Hannah von Reth
d60eb67c2e Also prepend appName if id is empty 2021-08-11 17:13:44 +00:00
Hannah von Reth
8468e70cba Use QKeychain:: explicitly 2021-08-11 17:13:44 +00:00
Hannah von Reth
926a52b33d Remove unused computation 2021-08-11 17:13:44 +00:00
Hannah von Reth
ec0466ed73 Allow to add and remove log rules 2021-08-11 17:13:44 +00:00
Felix Weilbach
f9daa27a5d Enforce fetching of user id
With the change of commit 3e61bdc431 and
the relase of v3.3.0 users that had their email address used as login
are not able to login anymore. The dav_user should be empty if users
tried to create a account in the meantime. Therefore we fetch the user
id in the case dav_user (and then Account::_davUser) is empty. We then
store the user id in dav_user.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-11 16:16:12 +00:00
allexzander
4106c646f9 Fix incorrect activity message on invalid char in the file name.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-04 13:22:17 +03:00
allexzander
c930d8e30f Delete apptoken after account removal.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-04 09:37:40 +00:00
rakekniven
37b012fcbd Changed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-08-02 06:40:50 +00:00
szaimen
2c95b9519c Set default maxChunkSize to 1000MB
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-30 07:00:09 +00:00
Valdnet
7ebbb499e0 l10n: Replace apostrophe with double quotation
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-07-30 06:21:05 +00:00
Matthieu Gallien
391935c90f prevent crash in Accont::davPath without credentials
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-29 08:27:53 +00:00
Matthieu Gallien
c40d276770 remove dead code around overriding dav path in URL
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-28 12:12:17 +02:00
Matthieu Gallien
77433f7e1d in wizard always use the correct way to get dav path
fixes listing being incorrect when using dav endpoint

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-28 09:45:49 +00:00
allexzander
8122c63ebc Revert Added config parameter that allows to bypass checksum validation failure.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-28 07:57:10 +00:00
Felix Weilbach
3e61bdc431 Use dav instead of webdav
Fixes #3342

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-16 12:42:02 +00:00
Felix Weilbach
efaccbd6fd Show main dialog as normal window if tray icons not available
Fixes #3307

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-12 14:10:26 +00:00
Matthieu Gallien
2ee26bbd59 fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-12 14:31:19 +02:00
Matthieu Gallien
7c68408ee1 only compile xattr virtual files backend for linux platform (not unices)
for a reason a mac os platform specific file is missing and before xattr
plugin was compiled only for linux

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-12 14:10:54 +02:00
Matthieu Gallien
d2f2e3305a avoid being stuck trying to create placeholder for existing file
id sync db think a file is cirtual (empty placeholder) but file system
has a real file (non empty file) once the server has a modified version
we can no longer update it

state of file on disk takes precedence over sync DB to allow recovery

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-09 12:37:47 +00:00
Matthieu Gallien
8ad6f89fed bring back dynamic load of VFS plugins
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-08 08:11:17 +00:00
Matthieu Gallien
c123edb173 address review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-06 14:16:43 +00:00
Matthieu Gallien
4016c2fab0 avoid error when doing hydration when data socket is closed too early
when data is received, if we close the socket they cannot be read

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-06 14:16:43 +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
Matthieu Gallien
8f5b88acd5 improve error message in case of trailing space in directory name
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-02 10:50:31 +00:00
Matthieu Gallien
746072e95d fix all usage of _com_error(cfExecuteresult).ErrorMessage()
_com_error(cfExecuteresult).ErrorMessage() calls should be translated to
QString before use with qDebug and related logging facilities

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-02 11:19:04 +02:00
Matthieu Gallien
2bc72592a0 fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-01 14:40:25 +02:00
Matthieu Gallien
698d5f19ba download server public key and check user certificate against it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-01 14:07:27 +02:00
allexzander
99f6e82290 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
6ce5279b6c Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
22eba41cb8 Do not process non-directories and non-virtual files. Wipe empty online-only folder based on its pinState.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
c5982143aa Refactoring.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
48aefc1983 Fix VFS crash and false conflict on local new.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:20 +03:00
Felix Weilbach
c9715db720 Check if first is not empty
If it's not checked that first is empty, crashes may happen.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-30 06:57:41 +00:00
Felix Weilbach
2ee3ca02a4 Add unit test for move custom remote root
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-25 10:14:29 +00:00
Felix Weilbach
8376b99ec5 Allow to compile without QWebEngine
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Valdnet
3937595eef l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-06-17 12:18:00 +00:00
Felix Weilbach
c799dbdd61 Cfapi: Make sure no data is transfered after cancellation
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-17 09:10:06 +00:00
Hannah von Reth
03182ea714 Use longWinPath in more places 2021-06-16 10:54:07 +00:00
Camila
f3c17c747a Fix compiling warning: multiple definitions of stateOnlineImageSource in theme.h.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
allexzander
a3d12a616b Add error message to GUI.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 14:33:45 +03:00
allexzander
6312f6ddde Wipe empty folder when moving a VFS placeholder. Keep a folder if there are hydrated items inside.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 13:19:35 +03:00
Felix Weilbach
a89a84ff14 Mark placeholder in sync after updating the placeholder
Fixes #3403 #3082 #3391

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-14 13:40:26 +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
allexzander
bb55232e8e VFS freeze fix. Treat .sync-exclude.lst as a non-virtual file always.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-08 09:25:43 +00:00
AJ Jordan
a51d0a14db Improve error message
This one is more user-friendly and grammatically correct.

Signed-off-by: AJ Jordan <alex@strugee.net>
2021-06-03 11:25:47 +00:00
allexzander
bf39f053c4 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-01 13:51:02 +00:00
allexzander
a80c58f367 Bugfix. Crash when printing OpenSSL decryption errors with no e2ee mnemonic.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-01 13:51:02 +00:00
Matthieu Gallien
7fb09a8163 check e2ee public key against private one
should ensure we have matching private/public keys

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-27 07:26:48 +00:00
Camila
671b099c98 Check if the user is connected and if the server supports user status.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00: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
Felix Weilbach
32b7e62359 Warn user if using e2ee and vfs together
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-18 11:50:18 +00:00
allexzander
76be5dce73 Add remote folder prefix for renaming in a non-root local folder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-17 12:19:58 +00:00
Felix Weilbach
c3a2587a91 Remove unnecessary cfapi logging statements
For big files that can add a lot lines to the log files.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-12 08:49:13 +00:00
Hannah von Reth
17a1a630a4 Use the http logger with the unittests
This allow better debugging of the tests

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
Hannah von Reth
e04c6abcd5 Fix placeholder detection for cfapi
Fixes: #8326
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
allexzander
d754bb7102 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-06 06:17:36 +00:00
allexzander
ef89256d39 VFS. Allow dehydartion of readonly files. Preserve 'readonly' flag when creating a placeholder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-06 06:17:36 +00:00
allexzander
19522210ac VFS. Display local file name clash error when syncing in VFS mode.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-05 17:34:59 +00:00
Matthieu Gallien
23ba193102 add missing call to tr to get a translated string
Fix #3250

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-04 12:16:10 +02:00
Felix Weilbach
7112d2aa78 Push Notifications: Reconnect forever if capabilities allow it
Fixes #3115

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-04 10:05:19 +02:00
Felix Weilbach
d21df33a50 Add missing copyright headers for push notifications
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-04 07:27:06 +00:00
allexzander
2d88fc6c99 Obey enforced password for share by email.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
Valdnet
8aedc74838 l10n: Delete space and change capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-28 11:41:06 +00:00
Matthieu Gallien
419bd93dea when files get hydrated indirectly through pinning, sets correct state
files that get downloaded not through an hydration request need to be
converted to placeholder

sets the expected state when converting them to placeholder files

 #3082

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 13:54:32 +02:00
Matthieu Gallien
929ae965ce prevent progress bar to appear after a download is finished with CfApi
when using Cloud Filter API with enabled VFS on Windows, a progress bar
stays visible for some time after hydration is completed. Not updating a
last time the progress bar prevents that.

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 13:54:32 +02:00
Matthieu Gallien
97d785f1bb fix errors when calling CfRegisterSyncRoot by setting more fields
sets a reasonable size of the StructSize members in the struct passed to
CfRegisterSyncRoot function

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 08:02:40 +00:00
Matthieu Gallien
782a2fdf06 avoid an assert by delaying access to response timestamp when in error
when canceling the sync of a big directory, I can get some network
request that are aborted before a Date reply header has been read

in this case we would always access
AbstractNetworkJob::responseTimestamp() and fire the assert even if we
know that the network reply has an error

delay the access to after the possible errors have been dealt with

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-20 17:42:17 +02:00
Matthieu Gallien
20357ca7fa Revert "Add CMake option to enable address sanitizers"
This reverts commit 3000e26640.

This was not intended for a direct push

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-19 17:54:09 +02:00
Felix Weilbach
3000e26640 Add CMake option to enable address sanitizers
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-19 15:38:59 +02:00
allexzander
bc919bcc8c Temporary solution for file restoration issue due to failing the dataFingerprint on client.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-14 06:42:48 +00:00
Felix Weilbach
696979cb0e Display invalid filenames as warning
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:51 +00:00
Felix Weilbach
b256c6e694 Ping websocket server
This helps the client to recognize if the websocket server is still alive.

Fixes #2983

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:19:40 +00:00
Valdnet
e628a51735 l10n: Unify spelling
Spelling unification in Nextcloud applications.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:24:57 +02:00
Nicolas Fella
3bc66bea66 Improve Inotify cmake code
Use the FindInotify from ECM. It handles the case of Linux vs BSD
correctly automatically.

Also only find Inotify on Linux and BSD

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 06:36:14 +00:00
Camila
98cfc362f7 Remove const and reference of base types.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:58 +00:00
allexzander
4b58c2b7b7 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
82953d0601 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
de85b79bb8 Address review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
cb8b6ccd9b Ignore *.lnk files on Windows.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
13f4bb541d Treat .lnk files as normal files without hydrating them or creating a placeholder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
3906ae0922 Another way to fix this.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
7235c708dc Added .lnk file placeholder creation fix.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
d5b6d93978 Fix VFS freeze when syncing '.lnk' files on Windows.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
0a33e99053 Create std::wstrings out of const wchar_t* so a copy is created every time.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-06 10:03:22 +03:00
allexzander
28771b25e3 Fix VFS CfAPI Syncroot Register Error.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-27 02:41:24 +02:00
allexzander
ab128cc4aa Revert "Merge pull request #3042 from nextcloud/temp-fix-vfs-failure-wow6432"
This reverts commit cafa475398, reversing
changes made to 003e56f4e6.
2021-03-26 22:25:31 +02:00
allexzander
9d15334813 Temp fix for vfs failure.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-26 21:41:44 +02:00
Camila
9219926a74
Add checks in case userStatus is not available/fails on the server side.
Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:42:26 +01:00
Camila
d9a0778e52
Add UserStatus enum with the pre defined status.
- User QHash to map status strings and Status enum.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:41:31 +01:00
Camila
974e2fb718
Do not display notifications when user status is do not disturb.
- This information is retrieved from the notifications endpoint.
- Add icons for the different pre defined status.
- Make functions available to QML to decide which status icon to display.
- Display the user status icon on the avatar and
move the online/offline connection status to the folder icon.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:40:05 +01:00
allexzander
193e50311b Refresh Windows download dialog progress when hydrating a placeholder
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-24 14:09:06 +02:00
Felix Weilbach
d78774f29e Check reading from journal was successful before remove placeholder
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-24 10:51:50 +00:00
Felix Weilbach
b1983d7d19 Increase logging around file removal events
To better see what is going on when and if files are removed by the
client.

See also: #260, #1433, #2913

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-22 07:48:39 +00:00
Felix Weilbach
9bf5b5c7ba CFAPI: Handle cancelation of hydration requests
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-18 10:43:48 +00:00
allexzander
5f0344abb2 Fix warnings in CfApiWrapper.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-18 12:07:07 +02:00
allexzander
3fde838bee Fix for Windows long path issue.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-18 12:07:07 +02:00
Felix Weilbach
c0f09ae12c Don't check against product name if checking server version
We should not rely on the product name because it is something the
user can change in the theming options on the server.

Fixes #3001

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-16 14:30:56 +00:00
Kevin Ottens
a6bcd3af46 Force basic auth on get authentication required error
If the get job got an authentication required error on the account url
(not davUrl! at that stage we always get auth error there), then it is
safe to assume basic auth is used on the server. It is then kind of
pointless to use any other auth mode they will necessarily fail. Only
basic auth will do the job so force it.

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00
Kevin Ottens
0d3459e85e Introduce an empty auth type
This is necessary to be able to distinguish between "I decided on basic
by default" and "I didn't write any auth type". To make sure all the
jobs end up writing something we then implement the "I decided on basic
by default" in the slots connected to the job and we assert it in
checkAllDone()

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00
Kevin Ottens
7ad0208800 Finish cleaning up shibboleth
There were a couple of shibboleth related enums left, since that auth
method isn't supported anymore remove the code tied to those enums. It
was dead code anyway.

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00
allexzander
c89d351d97 Fix incorrect type when reading the 'logExpire' property from config.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-12 10:23:31 +02:00
Felix Weilbach
88426de4dd Add missing error handling for downloads of client side encryption
The missing error handlers can cause the sync to hang forever

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-11 10:59:08 +00:00
Felix Weilbach
e0b7ef15b2 Restyle wizard pages
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-10 09:55:40 +01:00
Felix Weilbach
9185956069 Split out wizard welcome page
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-10 09:55:40 +01:00
Felix Weilbach
ef5abac567 Fix crashes with conflict dialog
When the client runs and a conflict gets detected, the sync engine runs
two times.

On the first run, the sync engine detects the conflict, marks the
file as a conflict and propagates that to the GUI. This leads to an
error notification with the original filename in the main dialog.

The sync engine runs then a second time. On this second run, the file
that originally caused the conflict is not anymore a conflict
file. Instead, the sync engine detects the conflicted copy and
propagates that file as a conflict to the GUI.

When opening the conflict dialog with the original file name (not the
conflicted copy) a crash happens. Usually, the two sync runs are really
fast, so the user does not notice the first notification. However, a
problem can occur if a conflict gets created while the client is not
running. Since then, the client does not do two sync runs. It does only
run once.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-05 11:32:44 +00:00
Felix Weilbach
523f1bcadd VFS Windows: Fix download of large files
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-04 09:05:17 +01:00
Felix Weilbach
4d05979be5 Log error message from CFAPI
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-02-27 17:44:26 +00:00