Roeland Jago Douma
4b1c6bb833
Fix cloudproviders after merging #314
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-02 20:46:10 +02:00
Roeland Jago Douma
1262cbf4ef
Merge pull request #314 from nextcloud/upstream/pr/6373
...
Make sure ignored and conflict files show up in the issues tab even with partial local discovery
2018-06-02 20:20:19 +02:00
Julius Härtl
c9634d65aa
Merge pull request #313 from nextcloud/upstream/pr/6380
...
ConnectionValidator: change the minimum server version
2018-06-01 15:43:19 +02:00
Markus Goetz
b8b9b93a6e
ShareDialog: macOS grey odditiy #5774
2018-06-01 13:31:22 +02:00
Olivier Goffart
4d7617d64b
Propagator: remove a bunch of code related to the 'Shared' directory
...
This no longer exists since the owncloud server 7.0 which we no longer
allow to connect to
2018-06-01 13:17:20 +02:00
Olivier Goffart
8484b493e4
ConnectionValidator: change the minimum server version
...
Forbit connection with server older than 7.0. These server did not have
permission.
Also warn for anything older than 9.1. 9.0 is end of life according to
https://github.com/owncloud/core/wiki/Maintenance-and-Release-Schedule
2018-06-01 13:17:11 +02:00
Olivier Goffart
1b587a1241
ConnectionValidator::Status use Q_ENUM
...
So no need to have a manual conversion to QString
This is only used in debug message anyway.
2018-05-31 21:56:55 +02:00
Olivier Goffart
311307e8cb
Move ClientProxy and ConnecitonValidator to gui
...
They are using the ConfigFile and are used to control
when to sync rather than for the sync itself
2018-05-31 21:56:55 +02:00
Olivier Goffart
7e05e1e411
owncloudcmd: Do not overwrite the http timeout for json jobs
...
The AbstractNetworkJob already has a sensible timeout that depends
on an environment variable.
No need to overwrite that with some arbitrary value. (The connection
validator does that because it could cause problems if two connection
validator were to run at the same time. Not a problem here)
2018-05-31 21:56:55 +02:00
Olivier Goffart
204cb470b4
owncloudcmd: Do not read the proxy settings from the gui's config file
...
The proxy settings for the owncloudcmd client can be set via the
--httpproxy command line argument. owncloudcmd should not depends
on the gui's config
2018-05-31 21:56:55 +02:00
Olivier Goffart
9fe8713bdc
Folder: remove unused member
2018-05-31 21:56:44 +02:00
Roeland Jago Douma
c6ef8eec0a
Merge pull request #305 from nextcloud/upstream/pr/6363
...
SyncEngine: Use separate state for two unicode conversions
2018-05-30 08:04:05 +02:00
Roeland Jago Douma
86741de622
Merge pull request #299 from nextcloud/upstream/pr/6349
...
Don't delete contents behind directory junctions #6322
2018-05-30 08:03:04 +02:00
Roeland Jago Douma
c6c42c3c70
Merge pull request #311 from nextcloud/upstream/pr/6371
...
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
2018-05-29 20:33:34 +02:00
Markus Goetz
13b2e51dfe
Notifications: Immediately request when getting account online
2018-05-29 20:09:08 +02:00
Markus Goetz
00d8343e76
SettingsDialogMac: Also start timer for notifications
2018-05-29 20:09:06 +02:00
rakekniven
8d90c8c17b
Fixed tiny grammar issue
2018-05-20 11:17:46 +02:00
Julius Härtl
6a5654d6d2
Merge pull request #294 from nextcloud/upstream/pr/6330
...
SocketAPI: "Open in browser" and disable Share entries when sharing i…
2018-05-19 16:09:50 +02:00
Julius Härtl
9196ab1c98
Merge pull request #246 from k1l1/master
...
scary wording on big changes #216 (translations missing)
2018-05-19 15:44:04 +02:00
Kilian Pfeiffer
bb65eb8cdd
changed wording
...
https://github.com/nextcloud/client/issues/216
2018-05-19 13:17:25 +02:00
Julius Härtl
b7a67863a7
Merge pull request #306 from nextcloud/upstream/pr/6347
...
Set launch-on-startup when the first account is set up
2018-05-18 16:08:52 +02:00
Roeland Jago Douma
b7d5aff901
Merge pull request #303 from nextcloud/upstream/issue/6322
...
SyncJournal: Don't use LIKE with paths
2018-05-18 13:56:25 +02:00
Roeland Jago Douma
1dc3c156d4
Merge pull request #304 from nextcloud/upstream/pr/6364
...
Conflicts: Add user name to conflict file name #6325
2018-05-18 13:56:14 +02:00
Julius Härtl
0283e1bfaa
Merge pull request #295 from nextcloud/upstream/pr/6329
...
Tray: Change icon for unresolved conflicts #6277
2018-05-18 08:53:49 +02:00
Roeland Jago Douma
3b4fcfcc65
Merge pull request #302 from nextcloud/upstream/pr/6352
...
Sharing: Use maximum allowed permissions for new share #6346
2018-05-17 21:11:33 +02:00
Roeland Jago Douma
33555292ae
Merge pull request #301 from nextcloud/upstream/pr/6353
...
HTTP2: Only from Qt 5.9.4 #6285
2018-05-17 15:39:09 +02:00
Roeland Jago Douma
36572b79c3
Merge pull request #298 from nextcloud/upstream/no-shibboleth
...
NO_SHIBBOLETH: Fix warning
2018-05-17 15:38:04 +02:00
Roeland Jago Douma
cbeb9af7fd
Merge pull request #296 from nextcloud/upstream/issue/6337
...
FolderStatusModel: Refresh folders on Problem sync #6337
2018-05-17 15:37:20 +02:00
Markus Goetz
9ef42b4835
SslButton: Improve speed (especially on macOS) #6031
...
From 1+n*450msec to 1*450msec
2018-05-16 21:03:06 +02:00
Christian Kamm
a2675b559b
Upload: Simplify 'finished' flag
...
* Sometimes there was 'finished' and '_finished'
* Make each done() call automatically set _finished to true
2018-05-16 20:57:26 +02:00
Christian Kamm
5f7fd7c551
Excludes: Expand doc, Desktop.ini only in root folder
...
The Desktop.ini exclude was added for 2.4 because we add such a file to
the synced folder on Windows. It doesn't need to cover subdirectories.
2018-05-16 20:29:12 +02:00
Olivier Goffart
ad276a4bce
Folder: normalize the local path.
...
We otherwise normalize all path in the C form, so we must have
the Folder's path normalized the same. Or all comparizon will fail
(such as knowing if a file from the SocketAPI or the FilesystemWatcher
are part of the folder)
Issue #4424
2018-05-16 20:26:09 +02:00
Olivier Goffart
3506c52be9
propagateuploadv1: don't finalize after a done()
...
Should fix an assert when "Server does not support X-OC-MTime"
(Which only happens with owncloud 5)
Issue #6403
2018-05-16 20:23:47 +02:00
Markus Goetz
434f093f98
SslButton: Add HTTP/2 info #3146
2018-05-16 20:10:51 +02:00
Christian Kamm
1868b2f3ec
IssuesWidget: addItem performance improvement
...
Ensure adding a new item isn't usually O(n) by keeping track of which
items have associated issues.
2018-05-16 16:49:41 +02:00
Christian Kamm
a0d7095b2c
IssuesWidget: Don't allow two issues for the same file/folder
...
This is intended to safeguard against invalidation bugs that cause the
same error to be added again for every sync run.
2018-05-16 16:49:03 +02:00
Christian Kamm
a0d5e31423
INSTRUCTION_IGNORE now carries a direction
...
This allows IssuesWidget to selectively wipe only the 'Up' ignores
during selective local discovery.
2018-05-16 16:48:31 +02:00
Christian Kamm
11b6b48c75
ProtocolItem: Adjust the way data is stored again
...
The struct makes it easy to pack data and should consume less memory
overall.
2018-05-16 16:48:06 +02:00
Christian Kamm
800f1ace0c
SyncResult: Make sure the number of conflicts is correct #6226
...
If the SyncResult incorrectly believes that there are no conflicts, the
tray icon won't be correct and there will be no warning about unresolved
conflicts on the account.
Nevertheless, it's pretty awkward that the IssuesWidget is better
informed about pending conflicts than the Folder itself. This kind of
backwards data flow is very confusing.
Unfortunately the only alternative I see is to either keep track of
this information in two places (also in Folder), or create a common
data-holding class that can serve as a model instance for the issues
view as well as provide data directly to the Folder - which would
have been a much larger change.
2018-05-16 16:47:27 +02:00
Christian Kamm
75194d1821
SyncEngine: Make "local discovery?" question available
...
Also fix the minor bug that was mentioned and add tests.
2018-05-16 16:46:40 +02:00
Christian Kamm
2defaf099d
Issues tab: Invalidate issues selectively #6226
...
Everything is invalidated later: after discovery, not before. In
addition entries that should only be invalidated when new local
discovery is done have that behavior now.
2018-05-16 16:45:39 +02:00
Christian Kamm
01f83ff398
ProgressInfo: Add information for local vs remote discovery
2018-05-16 16:45:13 +02:00
Christian Kamm
8077748c9d
slotFolderDiscovered: Fix 'local' always being false
...
It was unused, so no harm done.
2018-05-16 16:44:36 +02:00
Christian Kamm
687b6f5655
Discovery: Error if properties are missing #6317
2018-05-16 16:42:20 +02:00
Olivier Goffart
b0f539fc1f
cmake: Remove references of now unused WITH_TESTING
...
Issue #6318
2018-05-16 13:00:17 +02:00
Olivier Goffart
d4aebd30de
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
...
Since the release package will be build with unit test, we don't
want to query the env variable at every call to fsCasePreserving.
So only test the env variable at startup.
And the testutility can still change the value.
(The env variable is still used from t8.pl and maybe smashbox)
Issue #6318
2018-05-16 12:57:20 +02:00
Christian Kamm
583399ad53
Set launch-on-startup when the first account is set up
...
The previous code would disable it when the second account was
configured.
See #6347
2018-05-15 22:59:16 +02:00
Christian Kamm
f244cc4d4a
SyncEngine: Use separate state for two unicode conversions
...
It's unlikely that there were interaction effects but still seems safer
to use different conversion state for the path and rename_path.
2018-05-15 22:44:10 +02:00
Christian Kamm
17d174e6fa
Conflicts: Add user name to conflict file name #6325
...
For the case of uploading conflict files only.
2018-05-15 22:38:35 +02:00
Christian Kamm
ce0e2d0b88
SyncJournal: Don't use LIKE with paths
...
Paths can contain the wildcards % and _ and that would lead to odd
behavior.
This patch also clarifies the behavior of avoidReadFromDbOnNextSync()
which previously dependend on whether "foo/bar" or "foo/bar/" was
passed as input.
Possibly affects #6322
2018-05-15 19:44:00 +02:00
Christian Kamm
7154a001d6
Sharing: Use maximum allowed permissions for new share #6346
...
The client already computed the valid permissions, there was just a typo
that meant we didn't end up using them.
2018-05-15 19:26:40 +02:00
Markus Goetz
e82869d10e
HTTP2: Only from Qt 5.9.4 #6285
2018-05-15 19:23:11 +02:00
Olivier Goffart
88347a985f
Adjust the Move To Trash patch
...
(PR #6265 )
- Remove the UI completely
- Move the #ifdef inside the FileSystem::moveToTrash function, so it is easier to
implement on other platforms
- Q_OS_UNIX includes mac, so we need to disable it. (not using Q_OS_LINUX because of
other BSD that uses XDG spec as well
- Translate the error messages
- Add a couple of doc comments
2018-05-15 19:10:41 +02:00
Christian Kamm
2d1d651fcd
Don't delete contents behind directory junctions #6322
...
QFileInfo::isSymLink() does detect reparse points that are symlinks but
returns false for junctions. The new function FileSystem::isJunction()
can detect those and is used to not recursively delete files inside
directories that are junctions.
See also https://bugreports.qt.io/browse/QTBUG-45344 and the
discussion in the PR https://codereview.qt-project.org/#/c/113019/ .
2018-05-15 18:42:44 +02:00
Markus Goetz
d33692cdc7
NO_SHIBBOLETH: Fix warning
2018-05-15 18:31:12 +02:00
Christian Kamm
1fa88c9820
FolderStatusModel: Refresh folders on Problem sync #6337
...
We don't want to refresh too frequently. But Problem is very close to
Success and very common.
2018-05-15 18:08:17 +02:00
Christian Kamm
ad750f569c
Tray: Change icon for unresolved conflicts #6277
2018-05-15 17:58:10 +02:00
Olivier Goffart
2fcd7b20b8
SocketAPI: "Open in browser" and disable Share entries when sharing is disabled.
...
This adds "Open in browser" entry in the menu (Issue #5903 )
Also mark the entries as disabled when the file is not yet on the server.
If re-sharing is not allowed for that file, a disabled explaination
entry is added to the menu.
If sharing is disabled globaly in the branding or in the server,
the share entry will not be present.
(Issues #4205 and #4608 )
Meta issue #6292
2018-05-15 17:39:30 +02:00
Oleg Solovyov
f9fe24feb9
Move remote-deleted files to trash
...
Squashed from https://github.com/owncloud/client/pull/6265
Linux only, Hidden option, disabled by default
2018-05-15 17:23:38 +02:00
Camila San
d629f2259d
Changes from qCWarning to qCDebug.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:19:29 +02:00
Camila San
bbff83fe7c
Only updates the list of apps when there is a change in the server (not 304 status).
...
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
402dc6c33b
Checks for http status code before building navigation apps menu.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
23a759ef4a
Adds 304 http status code as valid.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
77ebccee72
Adds methods to set/get navigation apps etag response header.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San
d7286872f6
Adds function to add raw header to the request.
...
Function added to be able to add If-None-Match to save the ETag.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:42 +02:00
Roeland Jago Douma
889c930b36
Merge pull request #75 from nextcloud/new_flow
...
Add weblogin flow for NC > 12
2018-05-03 14:07:44 +02:00
Roeland Jago Douma
56e17c25b2
Change loading bar to NC blue
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-03 13:55:27 +02:00
Roeland Jago Douma
ef2d113930
Mark credentials as valid if there is no error
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
35e8d0437d
Address comments
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
6809f12e68
Allow the user to sign in again
...
If the user is signed out (for whatever reason). Show a popup
with the loginflow again.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
ac1664b525
Actually use webflow credentails
...
* Detect invalid auth (if the users token is removed for example)
* Properly store and fetch from keychain
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
6b43d80c01
Start with persisting credentials
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
356f9b4831
Actually connect properly to server
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
715c738ebf
Add urlschema handler so w can catch the nc:// urls
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
c763a6e7fb
Show webview with page
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma
c4a88fe57e
Add QWebView as a dependency
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Camila Ayres
9338dadaab
Merge pull request #265 from k1l1/log_files_path
...
Put log files somewhere else #221 (name conflict)
2018-05-02 15:30:34 +02:00
Kilian Pfeiffer
56c1d79c49
fixes windows crash / renaming changed
2018-04-30 16:09:04 +02:00
Camila Ayres
64cbc88474
Merge pull request #251 from nextcloud/clientSideEncryptionV4
...
Client side encryption v4.
2018-04-26 19:56:55 +02:00
Kilian Pfeiffer
cd926e5b84
resolving name conflict in logfiles
2018-04-24 15:47:23 +02:00
Roeland Jago Douma
75609c1b2c
Merge pull request #254 from ad1rie1/FIX32BitApplication
...
Fix #6394
2018-04-22 20:57:36 +02:00
Camila Ayres
25b40cc852
Merge pull request #255 from ad1rie1/FixDeprecatedTR
...
Fix Use of Deprecated trUtf8.
2018-04-20 11:11:05 +02:00
Adrien
8e52f1237b
Fix Use of Deprecated trUtf8
2018-04-19 12:02:26 +02:00
Adrien
5f0a021c04
Fix #6394
2018-04-19 11:35:03 +02:00
Kilian Pfeiffer
40b1f051a4
log files are visible now
2018-04-17 17:59:03 +02:00
Kilian Pfeiffer
faf64958ec
changed paths of logfiles
2018-04-17 15:54:05 +02:00
Tomaz Canabrava
7432d6a814
Merge branch 'master' into clientSideEncryptionV4
2018-04-10 16:18:58 +02:00
Daniel Nicoletti
16aa54ed64
Do not create new db entries when the remote tree does not have proper values
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
3e05bd1da0
Do not detach encrypted files vector
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
3eb3535d0f
Fix downloading NEW encrypted files
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
defe2d7631
Fix matching encrypted data for downloading
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
b12066f1aa
Properly remove encryption data from JSON of deleted file
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
a9208f6581
Remove unused encrypted property
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
6e63a538b7
Make sure bool _currentLockingInProgress is first defined to false
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
a7a8de8787
Fix matching encrypted file for download
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d93f7269b8
Properly mark encrypted files for removal
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d3b6aacf3f
Fix merging remote and local trees when e2e files are involved
...
When populating the tree from the filesystem we need to fill
the e2eMangledName from DB and we when trying to find another
match on the oposite tree we need to take in account that names
don't match and search with the mangled name information
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
c0ef36b8fa
Use QUuid to generate random names
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
60fc5d6dd4
Fix upload of existing encrypted files by matching only filename
2018-04-09 13:23:52 +02:00
Daniel Nicoletti
d5ab642e46
Fix sync status running when encryption data is missing
...
When a file on the server of an encrypted folder do
not have a matching entry on the JSON metadata, we
need to report an error and be done with the job
so that Sync status is not "running".
This eventually should cause the file to be removed
from the server as it can not be recovered anymore.
2018-04-09 13:23:52 +02:00
Tomaz Canabrava
b4b3e422de
Handle gracefully failures in file decryption
2018-03-27 09:18:54 +02:00
Tomaz Canabrava
ed6f56257e
Dont use new with QFiles.
2018-03-26 22:18:07 +02:00
Tomaz Canabrava
461aeca200
Do not crash when failing to decrypt the metadata
2018-03-26 22:02:46 +02:00
Tomaz Canabrava
6c88367ac6
Do not crash if there was an error encrypting the file.
2018-03-26 21:44:46 +02:00
Tomaz Canabrava
5fe9717598
Potentially fix crash acessing a deleted pointer.
2018-03-26 21:37:13 +02:00
Tomaz Canabrava
ec28465e01
Correctly handle systems without client side encryption
2018-03-26 20:51:14 +02:00
Tomaz Canabrava
11684682e6
Return empty metadata in case of error, Display error to the user.
2018-03-25 22:31:49 +02:00
Tomaz Canabrava
96115be0c6
Unlock folder in case of error
2018-03-25 21:54:08 +02:00
Camila Ayres
08b33c6f4b
Merge pull request #197 from nextcloud/fix-notifications
...
Improves notifications:
- Display the actual response text from the notification API in the popups.
- Do not display sync activities messages like how many files were downloaded, only errors.
- Make the notifications section above the activity feed also clickable. e.g open the call, the file that was shared, open the calendar event etc
- Changes "Show desktop notifications" setting to "Show server notifications"
- Show notifications on startup and then show only NEW notifications: uses If-None-Match check to only retrieve notifications once there are new notifications.
2018-03-13 13:30:44 +01:00
Camila Ayres
eb3b3f02a0
Merge pull request #195 from nextcloud/apps-external-sites-menu
...
Adds apps and external sites to menu.
2018-03-09 11:48:14 +01:00
Camila San
11d178ce1d
Adds absolute=true param to navigation/apps request.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 23:11:11 +01:00
Camila San
2e4472a4db
Enables server notifications by default.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:44:24 +01:00
Camila San
3c778980df
Makes sure JsonApiJob::finished won't throw a JSON error when status code is 304.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:24:16 +01:00
Camila San
621596f45a
Saves notifications ETag response header to use to request only new notifications.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 22:19:04 +01:00
Camila San
d42401e36a
Changes notifications api endpoint to v2.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 15:20:36 +01:00
Camila San
6bf9f65fd3
Only notify users of new notifications and only shows them all on startup.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-27 23:05:18 +01:00
Camila San
56709f3cff
Removes string 'Created' from notifications time.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:56:02 +01:00
Camila San
112c5e10b6
Removes Server Activities option from General settings.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:02:34 +01:00
Camila San
09a92a518a
Align text and changes spacing in notification widget.
2018-02-26 00:03:29 +01:00
Camila San
0f9d8e15a0
Only uses 'More information' text in button for notification link.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:02:09 +01:00
Camila San
44f299eba2
Removes debug messages.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:00:42 +01:00
Camila San
d71438f181
Adds host and scheme to activity link so it can be opened in the
...
browser.
- Removes debug messages.
- Removes Activity data _appName - not used anymore.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:58:28 +01:00
Camila San
71f4760215
Do not display user account when there is only one user in popup message.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:57:44 +01:00
Camila San
4a6a8ca6c6
Removes _appName from Activity data.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:56:54 +01:00
Camila San
e33d2bf7f7
Removes (s) from time strings.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:55:04 +01:00
Camila San
1a0edc1cd0
Sync activities notifications are never shown unless there is an error. Server activities and notifications are off by default.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-23 12:08:37 +01:00
Camila San
99d8d050c2
Compares account menu with the account associated with the action to make sure apps is added to the right position.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-22 20:10:22 +01:00
Camila San
4ffff7454e
Refactores code and displays nav. apps before Pause/Unpause folders sync.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-21 18:49:12 +01:00
Camila San
9acb30ecb2
Refactores code to fetch and display sub menu with list from navigation/apps endpoint.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:41:08 +01:00
Camila San
61062f9809
Adds ocsnavigationapps files to CMakeslists.txt.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:33:25 +01:00
Camila San
fb080f08ec
Uses OcsNavigationAppsJob instead of OcsAppsJob and OcsExternalSitesJob in OwncloudGui.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:53:12 +01:00
Camila San
c9bc20c63d
Creates navigation/apps API call class OcsNavigationAppsJob.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:51:56 +01:00
Camila San
f107b3348c
Removes external sites/apps configuration from general settings.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:55 +01:00
Camila San
00cfbe39be
Removes external sites/apps configuration from config file.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:13 +01:00
Camila San
9f559c8e00
Retrieves list of apps and displays it if 'show apps' checkbox is checked in the settings.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
bf77dbac73
Adds checkbox 'showApps' to the general settings form.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
e29953bc11
Adds show apps option to the config file.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
8ada9d0471
List apps for each user in the tray main menu.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
08769b2803
Adds OcsAppsJob to retrieve apps enabled for the user.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
89d743396a
Fixes class name in comments and in ifndef.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San
649f3ff904
Changes response parsing for the new request.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
9f0c154e68
Fixes request url - uses the one for all users.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
f48a94ba71
Saves 'show external sites list' option to the config file.
...
Uses option to toggle display of external sites list in the main menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
ec428786ac
Adds checkbox to toggle display of external sites list in the menu.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
69f3468ec0
Lists external sites for each user in the main menu.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San
8408851cee
Adds OCS External Sites Job to retrieve it from the server.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:19 +01:00
Tomaz Canabrava
7da0764b8d
Don't class what's not a class
2018-02-18 01:23:59 +01:00
Tomaz Canabrava
176a42a062
Return the error reported by openssl
2018-02-18 01:13:23 +01:00
Tomaz Canabrava
5faeca1b82
Move BIO2ByteArray to annonymous namespace
...
This has no use outside of the clientsidenecryption.cpp
2018-02-18 01:04:44 +01:00
Camila San
32e29fb849
Doesn't open the file manager when there isn't a file associated with the Activity.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 19:17:22 +01:00
Camila San
20cf4ed642
Improves Notification Widget UI.
...
- Changes spacing.
- Removes QFrame.
- Changes icon size.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 18:04:44 +01:00
Camila San
ab7185a6c7
Changes notification text in the checkboxes and adds tooltips with explanation about it.
...
- Changes the configuration name in ConfigFile and GeneralSettings
accordingly with the new text.
- Makes sure the user sees error and conflict messages even if the
setting is disabled.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-15 20:21:35 +01:00
Camila San
bfc7aa16c6
Adds option to toggle display of Sync and Activity notifications.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 20:38:15 +01:00
Camila San
b24751b099
Adds button to open notification in the browser - to update something, join a call, etc.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 19:22:08 +01:00
Camila San
a7dd3a7da1
Displays the actual notification subject in the system tray messages.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-12 22:16:46 +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
Roeland Jago Douma
1eb7ba72f0
Use standardized filename
...
See https://github.com/nextcloud/end_to_end_encryption_rfc/issues/13
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-09 11:40:06 +01:00
Daniel Nicoletti
080c5ea678
Better explanation for encryption passphrase
...
FIXES : #149
2018-02-02 17:27:58 +01:00
Camila San
2545017819
Refactores code.
...
- Renames function from populateTableReadOnlyValues to setupTableReadOnlyItems.
- Use a const to define the number of read only rows.
- Removes enable/disable remove all button checks from where it was not
needed.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 16:01:53 +01:00
Camila San
73b7540468
Enable/disable remove all button depending on the number of rows.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 15:50:17 +01:00
Camila San
c29d3b7e0b
Adds button to remove all items from ignore list table.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:40:30 +01:00
Camila San
4855e3242c
Restores correctly default system values for ignore files list.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:15:45 +01:00
Camila San
bf76b596af
Allows deletion of pre configured patterns in the ignore list.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:36:40 +01:00
Camila San
6dd349a8a6
Adds button to restore default patterns in the ignore list.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:35:38 +01:00
Camila San
f7697b0584
Enables removing patterns from ignored files list.
...
Signed-off-by: Camila San <hello@camila.codes>
2018-01-31 22:59:51 +01:00
Roeland Jago Douma
d85c2bf025
Fix building on windows
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:10:03 +01:00
Roeland Jago Douma
296f46356e
If the metadata is empty we should store (and not update).
...
Android only creates the metadata file when the first encrypted file is
added. We assumed it would be there.
This hacky code makes us store the metadata if there wasn't any yet.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-29 22:04:50 +01:00
Tomaz Canabrava
dcc9ac7d2e
[Buildfix] Fix build from last merge
2018-01-29 14:17:52 +01:00
Tomaz Canabrava
d24a1e542e
Merge branch 'master' into clientSideEncryptionV3
2018-01-29 14:06:12 +01:00
Tomaz Canabrava
f4a50e88f5
[CSE] Ignore renames for downloaded files.
...
- TODO: Fix the incorrect "filename has been removed" popup.
The file is not removed, just the popup shows.
2018-01-28 23:59:53 +01:00
Tomaz Canabrava
682bb2ad43
[CSE] Save the encrypted name relation on downloads
2018-01-28 23:50:12 +01:00
Tomaz Canabrava
d38e5e1529
[CSE] Bypass rename if it's e2e
...
The client tracks the files in server and locally, but the
names of the files differ in the server, but we do *not*
wanna rename the files to the server one, we wanna
keep it as is if it's an encrypted file.
2018-01-28 23:48:51 +01:00
Tomaz Canabrava
7b123650da
[CSE] Search for name, not mangled name.
2018-01-28 23:48:25 +01:00
Tomaz Canabrava
0c94142c97
[CSE] More debug output
2018-01-28 23:47:58 +01:00
Tomaz Canabrava
e8849a2cf9
[CSE] Save the relation of the file / encrypted file names on the db
2018-01-28 22:26:07 +01:00
Tomaz Canabrava
e9a7a56359
[CSE] Store the encrypted file name on the SyncFilePtr
2018-01-28 18:37:01 +01:00
Tomaz Canabrava
a003d216a5
[CSE] Implementation of the setE2eRelation
...
This call creates a new entry on the database for e2e.
2018-01-28 18:05:28 +01:00
Tomaz Canabrava
32eaaa0601
[CSE] GetMangledName implementation
2018-01-28 17:50:10 +01:00
Tomaz Canabrava
be817748f8
[CSE] Reset the new Queries on close
2018-01-28 17:46:20 +01:00
Tomaz Canabrava
b909bb6977
[CSE] Change the Database to handle Encrypted Files
...
Create a table to hold the information between the
real file name and the fake file name
2018-01-28 16:41:07 +01:00
Julius Härtl
bcb9553925
Use Qt5DBus_FOUND instead of the old WITH_DBUS
...
WITH_DBUS was removed in 257d8142b1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-25 14:18:03 +01:00
Roeland Jago Douma
48bce4c6b0
Merge remote-tracking branch 'oc/master' into oc_up
2018-01-25 11:17:04 +01:00
Roeland Jago Douma
84b26e0d4d
Merge pull request #133 from nextcloud/fix-notification-dismiss-button
...
Uses QString::number to get a string equivalent of the notification_id number
2018-01-24 19:29:21 +01:00
Camila San
7a69e19e4d
Uses QString::number to get a string equivalent of the notification_id number.
...
This fixes the bug reported #117 .
Signed-off-by: Camila San <hello@camila.codes>
2018-01-24 17:29:45 +01:00
Olivier Goffart
02988229b1
FolderStatusModel: don't use deprecated QModelIndex::child
...
Was deprecated in Qt 5.8.
(IMHO this show that child can be usefull and I am not sure the
deprecation was justified)
2018-01-24 10:23:03 +01:00
Roeland Jago Douma
4892b0ec43
Properly fill EncryptedFile
...
* Add a mimetype (mobile clients need this)
* Add the tag unencoded as we encode it when we send the metadata
already
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:31:00 +01:00
Roeland Jago Douma
21d55c3321
No sharing in metadata yet and PEM as PKCS#8
...
* Don't store the metadata yet this crashes android
- Yes android should be fixed but for now this is quicker ;)
* QSslKey exports PEM as PKCS#1
- This is not handled properly on android so use PKCS#8 helper
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:02:52 +01:00
Olivier Goffart
72b9beb79c
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
shell_integration/nautilus/syncstate.py
2018-01-23 14:08:15 +01:00
Olivier Goffart
982c591ec9
SocketApi: add a way to disable menu entries
2018-01-23 14:02:56 +01:00
Olivier Goffart
1782ae3c08
SocketAPI: Make it easier to add or remove item in the action menu
...
By making it dynamic.
So far only the dolphin shell extension have been ported
2018-01-23 14:02:56 +01:00
Roeland Jago Douma
7ce009ef49
If status.php fails check <server>/nextcloud/status.php
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 13:43:44 +01:00
Christian Kamm
59f2e0634e
Protocol: Correct sorting by size #6326
...
Previously we were sorting by size string, where
"6 MB" < "3 KB".
2018-01-23 12:02:16 +01:00
Christian Kamm
32bb1e6763
ProtocolItem: Use accessors over magic numbers
2018-01-23 12:02:16 +01:00
Christian Kamm
497b327d43
ShareLinkWidget: Remove outdated signal connection
...
Also convert the others to the new syntax to avoid similar errors in the
future.
2018-01-23 12:01:22 +01:00
Christian Kamm
d831369f86
Protocol: Remove entries for auto resolved conflicts #6316
2018-01-23 12:01:22 +01:00
Roeland Jago Douma
a2b8724adf
Hacky way to drop duplicates (we should really use the fileid!)
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:58:05 +01:00
Roeland Jago Douma
bb85e2ab2c
Reuse existing EncryptedFile
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:36:15 +01:00
Olivier Goffart
c3dbb20ce3
Logger: --logdebug only show owncloud's debug message
...
Recent Qt version show way too many debug messages, spamming the console.
So filter only messages that comes from the client.
2018-01-22 21:13:15 +01:00
Roeland Jago Douma
33beb7aade
Don't generate values after we use them
...
* Pregerenate IV
* Pregenerate key
* Pregenerate filename
TODO:
- Reuse existing file entries and update (we might need logic in the
metadatahandling to do this properly).
2018-01-22 15:24:54 +01:00
Tomaz Canabrava
cae6bbc853
[CSE] Start the download process
2018-01-22 14:08:32 +01:00
Tomaz Canabrava
cf2fa2ea35
[CSE] Get the tag of the encrypted file to feed the metadata
...
Also, change the logging cattegory
2018-01-21 21:59:19 +01:00
Tomaz Canabrava
5d6817e165
[CSE] Save the tag while encrypting.
2018-01-21 21:49:24 +01:00
Tomaz Canabrava
261cedce3f
[CSE] Do not quit if encryption fails
...
It's much more reasonable to return failure and handle it.
2018-01-21 21:40:53 +01:00
Tomaz Canabrava
2d872f2a8d
[CSE] Add missing files
2018-01-21 21:26:05 +01:00
Tomaz Canabrava
009562da1e
[CSE] Remove lambas with lambdas
...
It's hard to reason with lambdas with lambdas, so transform
them into actuall signal / slot calls.
2018-01-21 21:25:06 +01:00
Tomaz Canabrava
d5a76ea70d
[CSE] Remove the DecryptionJob
...
Transform it into an Static function - it was blocking anyway
and this way it's easier to transform it into a thread in the
future.
2018-01-21 21:24:02 +01:00
Tomaz Canabrava
4a2d0ab9e9
[CSE] Move code to display minemonic out of the libsync
...
The libsync should not contain Qt Widget related code.
2018-01-21 19:50:40 +01:00
Olivier Goffart
5a97ddde5a
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
src/gui/updater/updater.cpp
2018-01-19 13:41:29 +01:00
Olivier Goffart
b8539eb329
Get rid of the StopWatch in the PropagateUpload job
...
For issue #6318
The StopWatch is using memory, and we are not really using it.
2018-01-19 13:37:48 +01:00
Christian Kamm
b9c7aa8df3
Sync: Deal with file/folder conflicts #6312
...
Previously conflicts with a different type on both ends lead to sync
errors. Now they are handled in the expected way: the local item gets
renamed and the remote item gets propagated downwards.
This also adds a unittest for the TYPE_CHANGE case. That one looks like
parts of it might be unified with CONFLICT cases.
2018-01-19 09:47:49 +01:00
Roeland Jago Douma
6d613fb4d5
Quick and dirty way of showing the mnemonic for now
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-18 22:10:55 +01:00
Christian Kamm
c1b5412c16
Exclude regex: Use named captures
...
My benchmarks show no performance difference.
2018-01-18 10:24:24 +01:00
Christian Kamm
4337e8532e
Exclude matching: Speedup the full-path traversal case
...
Previously we'd use the full regex when the bname triggered a full-path
matching to take place. Now we have a simplified full-traversal regex
for this case that can be significantly faster to apply.
Triggered by #5017 but doesn't actually solve it.
2018-01-17 15:05:50 +01:00
Christian Kamm
a8a6f82270
Link shares: Change default share name #6298
...
There's a 64 character limit and we don't want to accidentally exceed
it.
Eventually there might be server API for default share name generation.
See owncloud/core#29913
2018-01-17 15:03:11 +01:00
Dominik Schmidt
fe3c68b9dd
Fix Linux icons
2018-01-17 12:18:31 +01:00
Olivier Goffart
2a14ba5582
Folder: remove declaration of non-existing method
2018-01-15 15:43:13 +01:00
Olivier Goffart
2a842a5745
Application: remove declaration of non-existing functions
2018-01-15 15:07:09 +01:00
Camila Ayres
cd36f73f6b
Removes 'Log in to all accounts' and 'Log out to all accounts' from main menu.
...
This is not an often used option and it should be fine if this can only be done
from within the settings dialog.
Signed-off-by: Camila San <hello@camila.codes>
2018-01-15 11:48:27 +01:00
Roeland Jago Douma
5722d29e42
Double encode the metadatakeys
...
This is required by a misunderstanding of the RFC.
You need to resetup your test user.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-15 11:26:06 +01:00
Jürgen Weigert
a33fc2a0db
Update updater.cpp
...
deprecate suffix nightly, promote suffix daily
2018-01-15 11:25:10 +01:00
Dominik Schmidt
7839c4d4e1
Revert "Disable stack protection for mingw win32 builds in 2.4"
...
This reverts commit 298f1ab570
.
We're shipping libssp-0.dll now with mingw builds. We would
have enough time to test this for 2.5.0 now anyway, but we
also will most likely switch to MSVC for that release.
2018-01-14 14:39:29 +01:00
Dominik Schmidt
d8a279c671
Fix windows cross build of the updater and bump libcrashreporter-qt revision
2018-01-14 00:45:02 +01:00
Dominik Schmidt
6d56f30d9b
Fix incorrect target_include_directories usage for crash reporter
2018-01-13 23:49:58 +01:00
Dominik Schmidt
81c20352e1
Use new ECMAddAppIcon macro for application icons.
...
cmake/modules/ECMAddAppIcon.cmake is heavily patched to support sidebar icons, OUTFILE_BASE parameter and to not include 64 and 64@2x icons on macOS which are not supported. All changes are made in a way that we can upstream this.
2018-01-13 13:58:17 +01:00
Dominik Schmidt
6ee87a77cc
Fix macOS updater build without deprecated Qt apis
2018-01-13 13:58:17 +01:00
Dominik Schmidt
539d6fd92e
Link client against QtMacExtras as it bundles qtmacgoodies
2018-01-13 13:58:17 +01:00
Dominik Schmidt
cbf470f17b
Fix csync installation on windows
2018-01-13 13:58:17 +01:00
Olivier Goffart
437d45981e
Remove unused c_strlist
2018-01-13 13:58:17 +01:00
Olivier Goffart
3ae327ea8e
Modernize out CMakeLists.txt
...
Mainly uses target_include_directories instead of include_directories
so libraries public include directory get automatically added when adding
the target in target_link_library
2018-01-13 13:58:17 +01:00
Olivier Goffart
5d0aa5f039
Remove unused c_path
2018-01-13 13:58:17 +01:00
Olivier Goffart
41798cef18
Csync: remove some unused build system stuff
2018-01-13 13:58:17 +01:00
Olivier Goffart
1c11778693
Remove the unusued csync_file_locked_or_open test in csync_reconcile
...
It is unused. Also remove the corresponding error code
2018-01-13 13:58:17 +01:00
Olivier Goffart
3ddd4b6f16
Get rid of csync_log
...
We use Qt's debugging code everywhere
2018-01-13 13:58:17 +01:00
Olivier Goffart
d948ed11a1
Csync: use QElapsedTimer and qCInfo instead of CSYNC_LOG and its own csync time function
...
This allow to remove all the csync time manipulation routne which are now unused
2018-01-13 13:58:17 +01:00
Olivier Goffart
257d8142b1
Build system: Get rid of QtVersionAbstraction.cmake
...
Use modern cmake with target_link_libraries and Qt5:: that
automatically add the include path and compile flags
2018-01-13 13:58:17 +01:00
Olivier Goffart
48c55b7d29
csync/std: don't build in a separate library
...
There is no need to create a static library for the csync/std file, just
put everything together in csync
2018-01-13 13:58:17 +01:00
Olivier Goffart
776bbbf7b1
Don't include sqlite3.h from headers
...
So that sqlite is not part of the public interface of csync
(and that the sqlite include path don't need to be passed when compiling
libsync or gui)
2018-01-13 13:58:17 +01:00
Dominik Schmidt
dbf15fb8dc
Make setLaunchOnStartup debug output more meaningful
2018-01-11 16:11:23 +01:00
Olivier Goffart
9613f6437d
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
src/libsync/networkjobs.cpp
2018-01-11 10:46:50 +01:00
Jürgen Weigert
9dc765142c
Update updater.cpp
...
depricate suffix nightly, promote suffix daily
2018-01-10 16:19:08 +01:00
Christian Kamm
7d70f1becb
Ignore files that can't be encoded for the filesystem
...
There's an upstream bug where QTextCodec::canEncode returns true even
though it should be false. This works around that issue and adds a test.
The original work was done in 72809ef5b1
See #6287 , #5676 , #5719
See https://bugreports.qt.io/browse/QTBUG-6925
2018-01-10 13:36:00 +01:00
Christian Kamm
cdd8d10940
Fix resizing crash when currentPage() is null
...
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/425331770/
2018-01-09 13:54:11 +01:00
Christian Kamm
883deb1c5d
Fix potential crash in Composite job destruction
...
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/427476987/
2018-01-09 13:53:57 +01:00
Christian Kamm
e389fcaecb
Avatars: Use old location for servers <10 #6279
2018-01-09 11:34:56 +01:00
Christian Kamm
585d2b20bd
Exclude regex: Restore old matching on Windows #6245
...
Unfortunately matching behaved differently on Windows. This patch
restores the previous matching behavior but still uses the new regular
expression based matching.
Further work will hopefully unify the behavior between platforms without
breaking backwards compatibility.
2018-01-09 11:09:05 +01:00
Daniel Nicoletti
a7ee1a95a6
Download and decrypt file if parent folder is marked as encrypted
2018-01-08 21:08:31 +01:00
Daniel Nicoletti
3abbbab6a0
Faster way to detecting CSE capability
2018-01-08 21:08:31 +01:00
Christian Kamm
51b662fdfe
Minor logging additions
...
- Clearly mark local and remote discovery start, to make this searchable
even without --logdebug.
- Promote two messages from debug to info: The 'N entries read from db'
message is useful and the 'read from db but ignored' message is rare
and surprising - if there's a bug there we want to see what happened in
the logs.
2018-01-08 09:36:30 +01:00
Christian Kamm
81baebf113
owncloudcmd: Set proxy earlier #6281
...
In particular before the capability call.
Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.
(cherry picked from commit d0e7f61db6
)
2018-01-05 10:26:55 +01:00
Christian Kamm
f7c884d4d1
owncloudcmd: Remove some dead code
...
(cherry picked from commit 0f8790d993
)
2018-01-05 10:26:53 +01:00
Christian Kamm
d0e7f61db6
owncloudcmd: Set proxy earlier #6281
...
In particular before the capability call.
Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.
2018-01-05 10:23:29 +01:00
Christian Kamm
0f8790d993
owncloudcmd: Remove some dead code
2018-01-05 10:12:25 +01:00
Christian Kamm
86377aa37a
Folder: Remove unused 'dirty proxy' setting
2018-01-05 09:44:20 +01:00
Christian Kamm
3988f3ad77
GCC: Fix implicit-fallthrough warnings
2018-01-05 09:43:53 +01:00
Christian Kamm
7aa9af08c3
Issues: Speed up insertion and add hard upper limit #6272
...
Since sorting was enabled permanenty the list would be resorted with
each inserted issue. When inserting thousands of ignored files that
would make the whole ui freeze up.
Instead, sorting is disabled for inserts now and is reenabled after some
time has passed. That way users usually see the sorted view without the
lockups. Also, there's now a maximum of 50k issue entries.
2018-01-05 08:44:27 +01:00
Christian Kamm
ab9d6285c6
Proxy: Hostname validation and reconnection on setting change
...
Where 'validation' currently just means "check whether it's empty".
Code adapted from wiggiBe's original PR #6140
2018-01-04 14:30:24 +01:00
Daniel Nicoletti
e2c895e61f
Fix encrypted file location on the server
2017-12-29 17:28:35 +01:00
Daniel Nicoletti
ca92c46970
Add category logging to PropagateUploadEncrypted
2017-12-29 17:28:35 +01:00
Daniel Nicoletti
50916bcda5
Mark ClientSideEncryption::isFolderEncrypted() as const
2017-12-29 17:28:35 +01:00
Daniel Nicoletti
c6491d50bb
Replace deprecated Qt API usage
2017-12-29 17:28:35 +01:00
Daniel Nicoletti
fdc96d3a4f
Fix deprecated use of QUrl::setQueryItems()
2017-12-29 17:28:35 +01:00
Daniel Nicoletti
e06e04ee93
Fix parsing list of encrypted folders
2017-12-29 17:28:35 +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
Daniel Nicoletti
c963259bfb
Fix URL in dialog that requests password
...
An URL that had base like "http://localhost/nextcloud/ "
would get the last slash '/' removed and then appended
with "index.php..." resulting in
http://localhost/nextcloudindex.php
2017-12-28 10:00:17 -02:00
Tomaz Canabrava
efc039863b
[CSE] Tons of debugs.
2017-12-24 17:08:04 +01:00
Tomaz Canabrava
da9f1c412d
[CSE] Remove debug
2017-12-24 16:36:57 +01:00
Tomaz Canabrava
06c34ed617
[CSE] Assorted fixes
...
- Unlock the folder even on error
- Use the correct name of the file for upload
2017-12-24 16:30:39 +01:00
Tomaz Canabrava
60ef722b60
[CSE] Update the metadata when a file is being uploaded.
2017-12-22 23:05:39 +01:00
Tomaz Canabrava
e70bf44aaf
[CSE] Fix the generation of the data for the update Metadata
2017-12-22 22:39:45 +01:00
Tomaz Canabrava
124a7253a4
[CSE] Create job to Update Metadata
2017-12-22 22:02:16 +01:00
Olivier Goffart
a642d99d4b
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
VERSION.cmake
src/CMakeLists.txt
2017-12-21 12:51:01 +01:00
Roeland Jago Douma
65dfc47ac7
Set public key once certificate is retrieved
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 10:20:03 +01:00
Roeland Jago Douma
0dc7831336
Key is already base64 decoded
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 09:49:31 +01:00
Tomaz Canabrava
b72113a53d
[CSE] Prepare the beginning of the upload.
...
I still need to send the metadata.
2017-12-21 00:35:23 +01:00
Tomaz Canabrava
df5fd3fbe6
[CSE] More debug output, fix input file path
2017-12-21 00:00:27 +01:00
Tomaz Canabrava
7be5f0a736
[CSE] Update the finished signal
2017-12-20 23:36:49 +01:00
Tomaz Canabrava
d87648c99a
[CSE] Use the metadata as pointer.
2017-12-20 23:30:51 +01:00
Tomaz Canabrava
25d58ccd58
Revert "Store metadata keys as keys"
...
This commit broke decryption.
This reverts commit b9f094cd94
.
2017-12-20 23:16:42 +01:00
Tomaz Canabrava
dd0528037d
[CSE] Generate a random name for the temporary file
2017-12-20 23:09:28 +01:00
Tomaz Canabrava
7e83f0591b
[CSE] Create the Encrypted File on Disk
2017-12-20 22:32:38 +01:00
Tomaz Canabrava
3760b86e07
[CSE] Mobe fileEncryption to a static function
...
and I'll move all of those to a namespace latter.
2017-12-20 22:28:01 +01:00
Tomaz Canabrava
20198c5c7b
Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3
2017-12-20 22:11:46 +01:00
Roeland Jago Douma
3c301a8282
Add missing FolderMetadata functions
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:08:57 +01:00
Roeland Jago Douma
74bc9213c5
Generate encrypted metadata on the fly
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:04:26 +01:00
Tomaz Canabrava
679bb1f18e
[CSE] Expose EncryptionHelper
2017-12-20 21:33:25 +01:00
Tomaz Canabrava
14b18b146d
Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3
2017-12-20 21:29:54 +01:00
Roeland Jago Douma
5e23ca9658
FolderMetaData: store metadataKeys in a QMap
...
* This allows us to pick the right key for files
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 21:25:27 +01:00
Roeland Jago Douma
b9f094cd94
Store metadata keys as keys
...
Don't store them base64 encoded. But store them directly useable
2017-12-20 21:17:41 +01:00
Roeland Jago Douma
c35b57cfba
Parse the files in the metadata
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 20:49:16 +01:00
Tomaz Canabrava
1e899f4172
[CSE] Do not create QPointer from raw pointers
2017-12-20 20:00:59 +01:00
Tomaz Canabrava
0347cf4e9e
[CSE] Store the sharing keys in memory
2017-12-20 19:40:58 +01:00
Roeland Jago Douma
fc73ad7476
Salt should not be hardcoded
...
We append the salt (just like the IV) to the ciphertext of the private
key. This means we also have to split it off properly.
This breaks compartibility with currently stored keys on your server.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 16:07:33 +01:00
Roeland Jago Douma
b924ad7282
Lower mnemonic when generating password
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:41:38 +01:00
Roeland Jago Douma
4551bbe0e0
Forget key + cert + mnemonic on account removal
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:35:23 +01:00
Roeland Jago Douma
a48a3e0acc
Cleanup old functions
...
Those functions had no use anymore since we store the key and cert in
the keychain. Removed them so we don't use them by accident.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 13:41:13 +01:00
Roeland Jago Douma
ee281963fe
Base64 magic:
...
* metadata keys: bin -> b64 -> enc -> b64
* sharing metadat: string -> b64 -> enc -> b64
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 10:22:35 +01:00
Tomaz Canabrava
ab89231ca2
[CSE] Remove unused debug
2017-12-20 00:25:56 +01:00
Tomaz Canabrava
d26ade1870
[CSE] Fix the result of the decryption
...
However the text still looks like encrypted.
2017-12-20 00:25:39 +01:00
Tomaz Canabrava
a1e6901ecc
[CSE] Decrypt correctly the metadata
...
There's a bug that's returning an empty bytearray, need to look
into that.
2017-12-20 00:20:27 +01:00
Tomaz Canabrava
494ae31de9
[CSE] Fix correct json object
2017-12-19 23:09:39 +01:00
Tomaz Canabrava
a02246dc65
[CSE] Fix Metadata bugs p1
...
The RFC was misleading, I took the chance to fix a few
inconsistencies regarding the QJsonDocument.
2017-12-19 22:47:05 +01:00
Tomaz Canabrava
5609a1dbe8
[CSE] Remove old debug code so I can focus.
2017-12-19 17:02:23 +01:00
Tomaz Canabrava
aa36cc4a5c
[CSE] Reduce probability of conflicts when rebasing
...
Creates a new file/class to handle upload,
propagateuploadencrypted.h/cpp. This should have all the logic to deal
with the encryption and upload.
2017-12-17 22:38:43 +01:00
Tomaz Canabrava
b9cdc8e922
[CSE] Fix the url to delete the metadata
2017-12-17 21:19:32 +01:00
Tomaz Canabrava
23f832caf4
[CSE] Code Cleanup
2017-12-17 19:19:44 +01:00
Tomaz Canabrava
7ef2489f1d
[CSE] Fix infoForFileId
...
We need to traverse the path recursivelly.
2017-12-17 19:14:34 +01:00
Hefee
844e03d000
Also disable fstack-protector for alpha plattform.
...
This fixes #6211 .
(cherry picked from commit 69e81e8f65
)
2017-12-16 14:08:08 +01:00
Hefee
69e81e8f65
Also disable fstack-protector for alpha plattform.
...
This fixes #6211 .
2017-12-16 14:03:59 +01:00
Tomaz Canabrava
ce41e3e42f
[CSE] Work the Set Decrypted Bit
2017-12-15 23:32:41 +01:00
Olivier Goffart
1940c2f9bf
Exclude: Use Qt to load the exclude file
...
fopen does not work well with relative path tand forward slashes on windows
This fix the windows textexcludedfiles test.
And also make the code simpler.
Note that the 'trimmed' might be a behavior change, but i think it is ok
2017-12-15 19:16:20 +01:00
Christian Kamm
83e94c3ec7
Fix compile after rebase
2017-12-15 18:05:44 +01:00
Christian Kamm
a7c0cfc8eb
Upload conflict files #4557
...
If the server has the 'uploadConflictFiles' capability conflict
files will be uploaded instead of ignored.
Uploaded conflict files have the following headers set during upload
OC-Conflict: 1
OC-ConflictBaseFileId: 172489174instanceid
OC-ConflictBaseMtime: 1235789213
OC-ConflictBaseEtag: myetag
when the data is available. Downloads accept the same headers in return
when downloading a conflict file.
In the absence of server support clients will identify conflict files
through the file name pattern and attempt to deduce the base fileid.
Base etag and mtime can't be deduced though.
The upload job for a new conflict file will be triggered directly from
the job that created the conflict file now. No second sync run is
necessary anymore.
This commit does not yet introduce a 'username' like identifier that
automatically gets added to conflict file filenames (to name the files
foo_conflict-Fred-1345.txt instead of just foo_conflict-1345.txt).
2017-12-15 18:03:53 +01: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
Tomaz Canabrava
2e516dfc67
Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3
2017-12-15 15:05:51 +01:00
Tomaz Canabrava
250c8ff1bf
[CSE] Add job to delete metadata
...
This is needed for the correct functioning of the Set Folder
as Decrypted
2017-12-15 15:02:43 +01:00
Tomaz Canabrava
5607e27f20
[CSE] Actually save the http response result
2017-12-15 14:25:57 +01:00
Olivier Goffart
b10edfecfc
Workaround MSVC bug with enum in bitfield
...
MSVC stores the enum as signed in the bitfield (contrary to the C++ spec)
Which means that once we store a value such as SyncFileItem::DetailError
in a bitfield, we get a negative value back, then of course, further
comparison fails.
2017-12-15 14:18:45 +01:00
Tomaz Canabrava
43332d3ac7
[CSE] Properly update UI status to encrypted / decrypted
2017-12-15 14:00:42 +01:00
Julius Härtl
49a16ffb4b
Fix build on windows
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-15 10:59:14 +01:00
Klaas Freitag
3b96097cf6
Config: Look for exclude file in a relative path.
...
If the application binary is not installed in /usr/bin the client
with this patch considers to check the relative location
../../etc/owncloud-client/ to find the system exclude.
This is an important bit for AppImage based packages of the client,
as this runs from a temporar mountpoint and the system file can not
be found under /etc.
2017-12-15 09:54:40 +01:00
Christian Kamm
298f1ab570
Disable stack protection for mingw win32 builds in 2.4
...
Mingw builds could have it enabled! But we need to ship libssp and test
this more. For the upcoming 2.4 release it should be disabled.
2017-12-15 09:16:59 +01:00
Roeland Jago Douma
99b4381591
Don't try to decrypt twice
...
The DecryptMetaDataKeys already base64 decoded
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:40 +01:00
Roeland Jago Douma
69a201a62d
Percentencode the json we send so special chars don't cause trouble
...
The + sign was lost in transfer.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:07 +01:00
Roeland Jago Douma
56028759d5
Merge branch 'master' into clientSideEncryptionV3
2017-12-14 20:47:05 +01:00
Roeland Jago Douma
be3afd1291
Add FileEncryptJob and FileDecryptJob
...
This handles encryption and decryption of files.
Just create the job and start off.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 16:54:56 +01:00
Tomaz Canabrava
82c07236c1
[CSE] Add new method "infoForFolderId"
...
we need to query the model for the subfolderinfo, but we don't
have the model index, we have the folder id. this returns it.
2017-12-14 14:39:07 +01:00
Olivier Goffart
4dc49ff3b0
SyncEngine: Recover when the PUT reply (or chunkin's MOVE) is lost
...
This can happen if the upload of a file is finished, but we just got
disconnected right before recieving the reply containing the etag.
So nothing was save din the DB, and we are not sure if the server
recieved the file properly or not. Further local update of the file
will cause a conflict.
In order to fix this, store the checksum of the uploading file in
the uploadinfo table of the local db (even if there is no chunking
involved). And when we have a conflict, check that it is not because
of this situation by checking the entry in the uploadinfo table.
Issue #5106
2017-12-14 11:56:12 +01:00
Julius Härtl
1cedb1919f
Integrate libcloudproviders support
...
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-14 11:19:25 +01:00
Roeland Jago Douma
fe4bb52a6d
Merge remote-tracking branch 'oc/master' into oc_up
2017-12-14 10:27:11 +01:00
Christian Kamm
f40cceaf04
Share link: Adjust design of folder sharing permissions #6192
2017-12-14 08:34:44 +01:00
Tomaz Canabrava
c592871f94
[CSE] Do not handle b64 inside of the decrypt function
...
the decrypt function should deal with the raw data always.
2017-12-13 16:37:52 +01:00
rockihack
5cc3b526e8
stack-protector is not supported on hppa.
...
(cherry picked from commit 8a963a67f2
)
2017-12-13 11:28:22 +01:00
rockihack
1b2a8ba6b0
Enable stack-protector-strong on Windows and macOS.
...
(cherry picked from commit 586fd346ea
)
2017-12-13 11:28:22 +01:00
rockihack
8a963a67f2
stack-protector is not supported on hppa.
2017-12-13 11:27:48 +01:00
rockihack
586fd346ea
Enable stack-protector-strong on Windows and macOS.
2017-12-13 11:27:48 +01:00
Christian Kamm
e5ed8fc90a
Merge remote-tracking branch 'origin/2.4'
2017-12-13 11:03:24 +01:00
Markus Goetz
75676f8830
Notifications: Propagate "Dismiss" as DELETE to server #5922
...
(cherry picked from commit e86416fff7
)
2017-12-13 11:00:40 +01:00
Tomaz Canabrava
9916583ffa
[CSE] More verbose output
2017-12-12 21:50:30 +01:00
Roeland Jago Douma
25734afd39
First base64 decode
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-12 21:42:37 +01:00
Tomaz Canabrava
ea3558faf6
[CSE] Fix strings
2017-12-12 21:29:06 +01:00
Tomaz Canabrava
159c0e138f
[CSE] Add a DecryptAsync method
...
Also, cleanup a bit of the old calls. One particular difference
is that I used to set padding to 1 and it should actually be
PKCS1_OAEP_PADDING
2017-12-12 21:23:02 +01:00
Tomaz Canabrava
aca298ca64
[CSE] Be explicit that async encryption uses publicKey
2017-12-12 20:14:31 +01:00
Tomaz Canabrava
2127b2629d
[CSE] Move encryption related network jobs to its own file
...
Move encryption related network jobs to it's own file,
the original file was starting to be just way too big.
2017-12-12 19:36:47 +01:00
Tomaz Canabrava
f6f078d1ee
[CSE] Rename Variable
2017-12-12 16:15:05 +01:00
Tomaz Canabrava
ce37235cc4
[CSE] Retrieve the Private Key from the KeyChain
...
This fixes one thing and exposes a bug.
the MetadataKeys are not being correctly unencrypted.
2017-12-12 16:09:49 +01:00
Tomaz Canabrava
0a58ea76e5
[CSE] Start the work with an existing metadata
2017-12-12 15:35:53 +01:00
Olivier Goffart
02283fc686
Merge pull request #6224 from owncloud/deprecated
...
Remove use of deprecated Qt API
2017-12-12 11:48:04 +01:00
Tomaz Canabrava
e6f835d138
[CSE] Unlock the folder after a lock
...
This makes sure the folder will be unlocked for next tests
2017-12-12 11:26:54 +01:00
Tomaz Canabrava
33b1fcfe66
Merge branch 'master' into clientSideEncryptionV3
2017-12-12 10:46:43 +01:00
Christian Kamm
dcf0baa9de
Journal: 64bit inodes, fix storing uint64s generally
...
In addition to using the right function when retrieving inodes this
*also* fixes a more general bug ownsql had with storing uint64 values
that didn't fit into an int64.
2017-12-12 10:30:54 +01:00
Olivier Goffart
bae00358b9
Merge pull request #6219 from owncloud/config
...
Move config and remove most dependencies form the sync engine.
2017-12-11 17:10:18 +01:00
Olivier Goffart
d517d92f6c
FolderWizard: don't use deprecated API
2017-12-08 16:16:06 +01:00
Olivier Goffart
71dcf7fc37
SSLButton: Removes some call to deprecated functions
2017-12-08 16:16:02 +01:00
Olivier Goffart
0a59faf03d
OcsJob: Use QUrlQuery
...
Qurl::setEncodedQueryItems is deprecated.
2017-12-08 16:15:48 +01:00
Olivier Goffart
7bd48b1327
cmd: remove usage of deprecated qInstallMsgHandler
2017-12-08 16:15:48 +01:00
Olivier Goffart
8c652e061d
Remove uses of deprecated QString::fromAscii
2017-12-08 16:15:48 +01:00
Olivier Goffart
a4816d6a8c
Updater: use QUrlQuery
...
QUrl::addQueryItem is deprecated
2017-12-08 16:15:47 +01:00
Olivier Goffart
1a503d54f6
Remove usage of deprecated qSort
2017-12-08 16:15:47 +01:00
Olivier Goffart
263668b1cb
Remove use of deprecated translate call
2017-12-08 16:15:38 +01:00
Olivier Goffart
3df65460f5
Remove usage of QString::null
...
Replaces by "QString()"
2017-12-08 16:15:22 +01:00
Olivier Goffart
74672d493d
Utility: use QUrlQuery
...
For QUrl::setQuery is deprecated in Qt5
2017-12-08 16:15:17 +01:00
Tomaz Canabrava
0a83d3e743
[CSE] Fix reading the public key for the metadata
...
This broke when we started to use QSslKey and the Qt Keychain
framework.
2017-12-08 11:24:22 +01:00
Tomaz Canabrava
a08a32ceca
[CSE] Fetch the metadata for the upload.
2017-12-08 10:32:05 +01:00
Tomaz Canabrava
6745777ca3
[CSE] Save folder id and token for the lock
...
So we can unlock it later. - perhaps we should store this
on the disk or something, to make it harder to lose.
2017-12-08 10:19:56 +01:00
Olivier Goffart
f1b7d506ae
csync_exclude: fix compilation of non-test builds
2017-12-08 09:43:26 +01:00
Tomaz Canabrava
70d562668c
[CSE] Add handling for side-by-side uploads.
2017-12-07 21:51:42 +01:00
Tomaz Canabrava
ccd8cff4db
[CSE] Try to lock repeteadly the folder if needed.
...
The upload is made in an event loop with more than one
upload at the same time, this confuses the hell out of the
folder locking mechanism.
We need to lock the folder and ask the other trials to try
again in a few seconds in the future to give time for the
uploader to actually upload the current file that's locking
the folder.
2017-12-07 21:31:20 +01:00
Tomaz Canabrava
9f678652f8
[CSE] Lock the folder to upload a file.
2017-12-07 20:52:54 +01:00
Tomaz Canabrava
76916b6c48
[CSE] Request the Folder ID.
2017-12-07 19:39:30 +01:00
Tomaz Canabrava
4878e824e5
[CSE] Fix reading encrypted status of folders.
2017-12-07 19:04:12 +01:00
Tomaz Canabrava
893ca66af8
[CSE] Fix indentation
...
Parts of the code are indented by spaces, other parts by tabs.
This needs to run in the whole codebase.
2017-12-07 18:12:25 +01:00
Tomaz Canabrava
19120fde9f
[CSE] Don't query for files on GetFolderEncryptStatusJob
...
The request for folders whas also replying for files.
2017-12-07 18:10:14 +01:00
Tomaz Canabrava
7fe4dd2163
[CSE] Renane GetFolderEncryptStatus to GetFolderEncryptStatusJob
...
it's a network job after all
2017-12-07 18:06:55 +01:00
Olivier Goffart
4581d708ff
Account: remove dependency with ConfigFile
...
Part of #6213
2017-12-07 17:39:16 +01:00
Olivier Goffart
e0a14cac5b
ConfigFile: use QStandardPaths::AppConfigLocation for the config file
...
Also use appName instead of appNameGui in order to compute the path
Issue: #2245
The reason is to respect the XDG spec on Unix (#1601 ) and might help
on windows roaming profiles (#684 )
2017-12-07 17:39:16 +01:00
Olivier Goffart
ac844a2a45
AbstractNetworkJob: move the httpTimeout from the propagator to the network job
...
Remove one dependency from the config file for the sync engine.
Part of issue #6213
2017-12-07 17:39:16 +01:00
Olivier Goffart
7230fa6b4f
SyncOptions: move to its own file
...
It does not really belong in the discoveryphase.h as it is used also for
propagator option.
Also use C++11 style member initializer
2017-12-07 17:35:38 +01:00
Olivier Goffart
e25af4f0dc
csync_exclude: Fix compile
...
csync_exclude.cpp:428:17: error: assigning to 'char *' from incompatible type 'const char *'
bname = path;
^~~~
The C library's strrchr always return 'char*'
Only the C++'s std::strrchr has two overloads
2017-12-07 17:34:14 +01:00
Tomaz Canabrava
863e86138f
[CSE] Pass the folder to the GetEncryptionStatus
...
Sometimes we are only interested in folders.
2017-12-07 17:32:35 +01:00
Christian Kamm
287670c9d6
Excludes: Remove fnmatch codepath
...
Now all exclude patterns can be translated to regular expressions.
2017-12-07 14:38:21 +01:00
Christian Kamm
994f3bb644
Excludes: fnmatch doesn't treat '{' as special
...
Neither the documentation at
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_13
nor the fnmatch source code in <glibc>/posix/fnmatch_loop.c points
toward { causing special matching behavior.
2017-12-07 14:38:21 +01:00
Christian Kamm
e5c780ee19
Excludes: Translate full-path patterns to regex
...
Improves full matches by more than an order of magnitude
and also improves speed of traversal matches by roughly 20%,
judging by the check_csync_exclude performance test.
2017-12-07 14:38:21 +01:00
Christian Kamm
1c3d5ab158
Excludes: Introduce dir-only regex matches
2017-12-07 14:38:21 +01:00
Christian Kamm
5d668eca40
Excludes: Optimize Desktop.ini check
2017-12-07 14:38:21 +01:00
Christian Kamm
7ab127ad53
Excludes: Refactor for pending improvements
...
Make ExcludedFiles something that is instantiated outside of
the CSYNC context and then given to it as a hook.
ExcludedFiles still lives in csync_exclude and the internal
workings haven't been touched.
2017-12-07 14:38:21 +01:00
Olivier Goffart
dd91f4a86e
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
src/csync/csync.cpp
2017-12-07 09:37:50 +01:00
Hefee
32f38dc5f8
fix typo error: occured-> occurred
2017-12-06 20:02:53 +01:00
Christian Kamm
ceac18c554
Reconcile: Rename maps are consistent with update phase #6212
...
For duplicate file ids the update phase and reconcile phase determined
the rename mappings independently. If they disagreed (due to different
order of processing), complicated misbehavior would result.
This patch fixes it by letting reconcile try to use the mapping that the
update phase has computed first.
2017-12-06 16:42:11 +01:00
Christian Kamm
99f32dcb99
Clear csync rename mappings after reconcile
...
They were being preserved *across sync runs*.
2017-12-06 16:42:11 +01:00
Christian Kamm
79fe71db58
Hide selective sync buttons while disconnected #5809
...
The choices or big folder warnings will pop up again on reconnection.
2017-12-06 16:41:28 +01:00
Olivier Goffart
ed5385faa3
Merge remote-tracking branch 'origin/2.4'
...
Conflicts:
src/libsync/connectionvalidator.cpp
src/libsync/networkjobs.cpp
2017-12-05 15:58:13 +01:00
Tomaz Canabrava
66aecb9626
[CSE] Handle normal uploads in CSE enabled instances
2017-12-04 22:45:10 +01:00
Tomaz Canabrava
6f35cbff6b
[CSE] Fetch the Folder information for encryption status
2017-12-04 22:27:13 +01:00
Tomaz Canabrava
387737d908
[CSE] Start to create the upload logic.
2017-12-04 21:33:43 +01:00
Markus Goetz
0479322c1d
fstack-protector: Improve previous commit
2017-12-04 12:37:03 +01:00
Klaas Freitag
0be7b6fe1f
Only enable -fstack-protector-strong compiler flag for gcc > 4.9
...
On older/other compilers this flag is not understood.
2017-12-04 12:37:03 +01:00
Olivier Goffart
ee98daf9ea
Shibboleth: Upgrade to OAuth2 When the server supports it
...
If the server support both Shibboleth and OAuth2, upgrades to OAuth2
Issue #6198
2017-12-04 08:09:34 +01:00
Tomaz Canabrava
8c4928d9f6
Merge branch 'uploadImprovements' into clientSideEncryptionV3
2017-12-03 18:15:33 +01:00
Olivier Goffart
30e3932af8
FolderWizard: Fix minimum size
...
There are several bugs in QWizard that needs to be worked around for the minimum
size of the widget to take effect.
Issue #4280
2017-11-29 08:03:06 +01:00
Tomaz Canabrava
35eb071874
[uploadImprovements] use the new struct on PropagateUploadNg
...
use the new struct on PropagateUploadNg to make the algorithm
more future proof.
2017-11-28 22:58:52 +01:00
Tomaz Canabrava
a64bd6059b
[uploadImprovements] fix struct hole
2017-11-28 22:22:37 +01:00
Tomaz Canabrava
a623b14209
[uploadImprovements] use the new struct info in PropagateUploadV1
...
Add a new member for the UploadFileInfo in PropagateUploadCommon
to hold the full file path - as it can change if we use a temporary
file to upload.
Adapt propagateuploadv1 to use the new calls.
2017-11-28 22:17:29 +01:00
Tomaz Canabrava
f609336bfc
Split file to upload from the file on disk
...
They can be conceptually equal - I can upload the file
on disk, and that's what I do right now. But if we want
to accept filters in the future, filters that change
the file on disk like shrinking an image, the current
information used is wrong and we need a way to separate those.
This patch introduces a new struct that holds the *actual*
file that will be uploaded, be it a temporary one or
the original file.
2017-11-28 21:28:06 +01:00
Tomaz Canabrava
2cacf2547e
Merge branch 'master' into clientSideEncryptionV3
2017-11-28 20:12:57 +01:00
Markus Goetz
6276d9290d
utility_mac: Check for NULL from LSSharedFileListItemResolve #6123
...
Possibly also #6074
2017-11-28 13:35:15 +01:00
Roeland Jago Douma
0f60deb043
Store and retrieve keys in keychain
...
* Store privatekey, certificate and mnemonic in keychain
* Retrieve private + public key from server
- ask for mnemonic to decrypt private key
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-28 12:36:35 +01:00
Markus Goetz
cde6589af8
owncloudcmd: Don't need Qt Sql module
2017-11-28 10:18:01 +01:00
Tomaz Canabrava
c4d3d0987d
[CSE] Find the start of the upload
2017-11-27 22:20:24 +01:00
Tomaz Canabrava
47b5cd0fbb
[CSE] Shows correctly Encrypt / Decrypt in the menu
2017-11-27 21:19:54 +01:00
Tomaz Canabrava
dd903d447f
[CSE] Store the encryption status without the webdav url
...
The Folder information on the desktop client doesn't
knows about the webdav layout aparently.
2017-11-27 21:09:13 +01:00
Tomaz Canabrava
d2d2df4c75
[CSE] Try to find the webdav url of a folder.
2017-11-27 21:06:38 +01:00
Roeland Jago Douma
ccd050455a
Merge pull request #62 from bceverly/master
...
Added build support for FreeBSD
2017-11-27 20:39:19 +01:00
Roeland Jago Douma
ffb9f69cf6
Start with moving data to the keychain
...
* Check for cert + privateKey in keychain
* Work with QSslKey and QSslCertificate
* Abstract reading the BIO's a bit more
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:21:53 +01:00
Roeland Jago Douma
74c4d27ea0
Indent
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-27 16:12:56 +01:00
Tomaz Canabrava
e3050f7456
[CSE] Pass by reference, return by value.
...
Also, Do not create variables in the heap to change it's value
via reference, prefer an aggregation value. use a Typedef to
fully specify what you want in return.
2017-11-27 15:21:29 +01:00
Roeland Jago Douma
9cbe795045
Move more encryption functions to encryption helper
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-25 21:43:15 +01:00
Olivier Goffart
b8444053b8
AccountSettings: Fix the size of the "Add Sync Folder Connection" button
...
The problem here is that the QPainter is created on the viewport with is a
QWidget, but QAbstractItemView can have a different font, and the
QStyleOptionViewItem::font is this font. QStyleOptionViewItem::font
was used to compute the sizeHint, and the default font from the QPainter
was used to draw the text, so they could be not in sync.
Fix it by always using the font for QPushButton
Reported in
https://github.com/owncloud/client/issues/6156#issuecomment-346576328
2017-11-25 16:07:06 +01:00
Roeland Jago Douma
e0fbdfe175
Remove obsolete encryption functions
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-25 15:50:47 +01:00
Olivier Goffart
753d7addb4
libsync: Fix compilation with TOKEN_AUTH_ONLY
...
This means we cannot use QtGui in libsync.
So this mostly disable the avatar from the account and the avatarjob
Note that there is one logic change: in ConnectionValidator::slotUserFetched
we do the avatar job even if the user is empty. Otherwise we would end up in
a invalid state. This restore the 2.3.x behavior that was broken in
commit e05d6bfcdc
2017-11-25 12:57:16 +01:00
Terence Eden
0b00ab8a15
Typo
...
Fixes #63
2017-11-25 10:03:00 +00:00
Roeland Jago Douma
12adff76e2
Properly decrypt private key and send it to the server
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-24 22:10:28 +01:00
Roeland Jago Douma
6d145a676b
Added EncryptionHelper
...
This is to move generic encryption methods out of the main code and into
small helper functions. So we don't scatter the encryption code all over
the place.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-24 21:05:21 +01:00
bceverly
5279e2fb37
Added support for FreeBSD
2017-11-24 08:54:29 -05:00
bceverly
51e355e403
Added support for FreeBSD
2017-11-24 08:54:24 -05:00
Tomaz Canabrava
45d9323653
[CSE] Update encryption status when folder is updated
2017-11-23 16:55:12 +01:00
Tomaz Canabrava
57e0d7abcb
[CSE] Fix pointer to e2e
...
Qt expects things to be pointers even if they are stack
variables.
2017-11-23 16:54:45 +01:00
Olivier Goffart
72809ef5b1
csync_update: ignore remote files that cannot be encoded
...
This is mainly for linux, whose local is not UTF-8.
For example, in latin1, it is not possible to encode emoji or chinese character.
If there are such character in the filename, Qt would just save the file using
the replacement character ('?'). Then, on the next sync, client would rename
the files using this replacement character.
Avoid this by ignoring the files which cannot be downloaded because the
filename cannot be represented with the user's locale
Relates to issue #5676 and #5719
2017-11-23 12:51:28 +01:00
Christian Kamm
8c94601ef2
User shares: Further avatar tweaks
2017-11-21 16:33:03 +01:00
Christian Kamm
f27ceb7fab
User shares: Use background color, remove permission frame #6176
2017-11-21 16:33:03 +01:00
Christian Kamm
60bde048c6
User shares: Fix missing label when there are only link shares
...
The "not shared with users or groups" label only appeared if there were
no shares at all.
2017-11-21 16:33:03 +01:00
Christian Kamm
3b961204e1
Avatars in user share dialog: Minor tweaks
2017-11-21 16:33:03 +01:00
Christian Kamm
e9907bc8ae
AvatarJob improvements
...
* Drop AvatarJob2
* Allow AvatarJob to retrieve different sizes and users
* Make creating a circular avatar into a function
(maybe all avatars should be made into that shape in the first place)
2017-11-21 16:33:03 +01:00
Roeland Jago Douma
6b9b5252de
User shares: Show avatars
...
[Sharing] Show placeholders for avatars
Just like on the web show placeholders for avatars in the sharing dialog
[Sharing] Show avatars!
[Sharing] Show same avatar placeholder for group/federated shares as on
web
2017-11-21 16:33:03 +01:00
Christian Kamm
d949ec6877
Protocol: Introduce context menu with "open in browser" #6121
...
To do this conveniently a bunch of functionality that's common to
IssueWidget and ProtocolWidget is moved to ProtocolItem.
Also the convenience function to asynchronously retrieve the private
link url is moved from the socket api to the network jobs.
2017-11-21 12:42:10 +01:00
Tomaz Canabrava
a118419f0c
[CSE] buildfix, use the correct type.
2017-11-21 09:55:44 +01:00
Roeland Jago Douma
462353d0ee
Have correct app password link
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-21 09:17:42 +01:00
Tomaz Canabrava
d31aa7836a
[CSE] Add job to find what folders are encrypted.
...
This still needs to be correctly setuped in the call chain.
The job returns a QVariantMap with the folder-webdav-url
and the encrypted status.
2017-11-20 21:38:17 +01:00
Tomaz Canabrava
34e6534813
Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3
2017-11-20 18:01:48 +01:00
Tomaz Canabrava
6d464d9dc6
Merge branch 'master-nextcloud' into clientSideEncryptionV3
2017-11-20 18:00:58 +01:00
Roeland Jago Douma
9878559002
Move to NC theme
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-20 15:46:18 +01:00
Olivier Goffart
e7a91a1169
AccountSettings: Use the proper position to show the menu over sub-folder
...
The menu can be open with the keyboard shortcut.
(Fixup for the fix of #5596 )
Also use popup instead of exec to show the menu: it's safer as it does
not re-enter the event loop.
2017-11-20 15:22:45 +01:00
Roeland Jago Douma
725be9ff54
Merge branch 'master' of https://github.com/owncloud/client into oc_master
2017-11-20 13:29:59 +01:00
Christian Kamm
14a51458ab
Link share: Move 'delete' button to the bottom #6163
2017-11-20 12:42:41 +01:00
Christian Kamm
aafe7c4732
Merge remote-tracking branch 'origin/2.4'
2017-11-20 11:54:56 +01:00
Christian Kamm
86c2e9e825
Tray: Fix 'Open folder' action creation
...
It looks like the action was created but not added to the menu. Did this
work with previous Qt versions?
2017-11-20 11:48:55 +01:00
Olivier Goffart
480932a58a
Checksum: Ignore unkown OC-Checksum header when downloading...
...
And if there are several checksums, pick the "best" one.
The case of several checksum was reported in
https://github.com/nextcloud/client_theming/issues/213
2017-11-20 10:51:15 +01:00
Christian Kamm
e694ffcd03
PropagateDownload: Adjustments to skipping downloads #6153
...
Previously we required matching mtimes but that's actually
unnecessary when the question is about whether to skip the
download. We will still update the file's metadata.
Also, adjust behavior when the checksum is weak (Adler32):
in these cases we still depend on equal mtimes.
2017-11-16 13:31:54 +01:00
Christian Kamm
eff401d418
Share links: Confirm deletion explicitly #6163
...
Also add the "Delete" action to the "..." menu.
2017-11-16 11:16:47 +01:00
Roeland Jago Douma
9394fe6e84
Use openssl functions to get random words
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-16 10:45:57 +01:00
Markus Goetz
8fb2167fca
sqlite: Update bundled version to 3.21
...
For OS X and Windows.
2017-11-15 21:53:53 +01:00
Christian Kamm
06ce8dd8bd
Wizard: Add explanation text when server error is shown #6157
...
Just showing a box with the message can be surprising.
2017-11-15 11:01:44 +01:00
Olivier Goffart
9a1ea67a35
Theme: Update the wizard size on high dpi screen
...
Issue #6156
2017-11-15 10:46:08 +01:00
Christian Kamm
e616f904b6
Share link: Add tooltip to delete button #6163
2017-11-15 10:16:33 +01:00
Christian Kamm
bff24ffd2f
PropagateDownload: Fix GET with redirects #6159
...
The GET jobs were redirected, but the custom incremental handling
in readyRead didn't propagate to the follow-up job.
2017-11-15 10:11:15 +01:00
Christian Kamm
b0f986c740
Private links: Account for overwritehost #6146
...
Retrieve ocs/v1.php/config to determine the desired host and build the
private link urls with that instead.
2017-11-14 12:14:11 +01:00
Christian Kamm
18091f99d4
Private links: Retrieve numeric file id property #6146
...
Some servers have non-compliant instance ids (that start with a number)
and thereby make deducing the numeric file id from the full id
unreliable.
To circumvent this problem we retrieve the fileid property from the
server with a PROPFIND.
2017-11-14 12:14:11 +01:00
Christian Kamm
3ae2071129
DetermineAuth: Remove concept of Unknown #6148
...
This restores 2.3 behavior. Some servers reply 404 to GETs and PROPFINDs
to the remote.php/webdav/ url and used to work. Being more picky would
break them.
2017-11-14 12:10:35 +01:00
Christian Kamm
820ebf4b6e
Sql: db close() failing isn't fatal
...
The assert was made fatal when looking at asserts for #5429 #5518
without having a particular problem in mind. Recent reports weakly
suggest that this might lead to occasional crashes for users when
sqlite_close fails in ways that look ignorable.
2017-11-14 12:10:19 +01:00
Tomaz Canabrava
14aeb6921b
[CSE] Fix invalid memory access
2017-11-13 18:15:08 +01:00
Tomaz Canabrava
8adfc28de7
[CSE] Store lock-token and retrieve later
2017-11-13 17:54:19 +01:00
Tomaz Canabrava
a0f0e5617a
[CSE] Move the e2e object to the Account
...
This is important as a lot of the code would start
to rely in direct access to the client side encryption
and there are different keys for different accounts.
2017-11-13 17:22:09 +01:00
Tomaz Canabrava
6351c01ee7
[CSE] Remember the token for folders
2017-11-13 17:04:02 +01:00
Tomaz Canabrava
e32fd58578
[CSE] handle success and failure of metadata upload.
2017-11-13 17:03:40 +01:00
Tomaz Canabrava
22a2ab8999
[CSE] Start to send the metadata to the server
2017-11-13 16:46:30 +01:00
Tomaz Canabrava
4755b8c8a3
[CSE] More warnings
2017-11-12 13:03:52 +01:00
Tomaz Canabrava
19d64e6308
[CSE] Remove warnings
2017-11-12 12:55:12 +01:00
Tomaz Canabrava
05d826a954
Merge branch 'master' into clientSideEncryptionV3
2017-11-11 16:28:20 +01:00
Tomaz Canabrava
685ceacace
[CSE] Memleaks
2017-11-11 16:25:38 +01:00
Christian Kamm
37c5612aee
Discovery: Treat files starting with '.' as hidden #6145
...
This bug was introduced when strcmp(a, b) != 0 was accidentally
converted to a == b.
2017-11-08 12:53:46 +01:00
Tomaz Canabrava
ee4a848d9a
[CSE] Correctly Unlock the Folder
...
Wireshark is love, and life.
2017-11-06 20:58:30 +01:00
Tomaz Canabrava
7290cf2813
[CSE] Adjust the CN accordingly to the server
2017-11-06 20:57:50 +01:00
Christian Kamm
9af6e29f42
DetermineAuthType: Adjustments for tight firewalls #6135
...
With some firewalls we can't GET /remote.php/webdav/. Here we keep the
GET request to detect shibboleth through the redirect pattern but then
use PROPFIND to figure out the http auth method.
Currently we prefer OAuth to Shibboleth to Basic auth.
This also restores the fallback behavior of assuming basic auth
when no auth type can be determined.
2017-11-06 13:09:10 +01:00
Roeland Jago Douma
131fd4e483
Fix encryptJSON and descryptJSON
...
Now working with tag
Basically we called EVP_*Update to much which resulted in weird output.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-03 18:00:05 +01:00
Tomaz Canabrava
be9cd358d4
[CSE] Bypass Qt DELETE Bug
...
It appears that Qt implementation of the DELETE http request
does not send bodyData, and we need that for Nextcloud.
Currently I changed the http request on the server side
to accept a POST instead of a DELETE, so I can actually
develop.
Also, I already poked the Qt developers that did this code.
2017-11-03 17:00:28 +01:00
Tomaz Canabrava
6ad6852045
[CSE] Cleanup - remove commented metadata.
2017-11-03 16:59:39 +01:00
Tomaz Canabrava
5514f14e88
[CSE] Get and send the lock - token
2017-11-03 15:12:12 +01:00
Tomaz Canabrava
ea9e2135a1
[CSE] Remove uneeded comments.
2017-11-03 14:28:13 +01:00
Tomaz Canabrava
b53003792f
[CSE] Removed lambdas for Metadata / Lock / Unlock
2017-11-03 12:34:30 +01:00
Tomaz Canabrava
6facd29663
[CSE] Start to break the lambdas
...
Lambda within a lambda is a terrible idea,
Use default signal / slot connections with a
method instead.
2017-11-03 12:00:25 +01:00
Tomaz Canabrava
3b157caf09
[CSE] Handle encrypt / lock / unlock
2017-11-03 11:21:01 +01:00
Tomaz Canabrava
d7e05c9b05
[CSE] Comment out broken code.
...
But why it's broken?
2017-11-03 11:20:44 +01:00
Christian Kamm
3608114ec1
Journal: Fix low-disk space errors
...
Fixes a regression from 4dbe9d4113
,
low disk space can lead to IOERR not just CANTOPEN.
2017-11-03 10:44:47 +01:00
Christian Kamm
c9d5a9cea2
HttpCreds: Don't create empty client cert keychain entries #5752
...
This doesn't do anything about deleting the client cert keychain
entries when the whole account is removed though.
2017-11-03 10:28:56 +01:00
Christian Kamm
4dbe9d4113
Journal: Don't crash if the db file is readonly #6050
...
Surprisingly sqlite3_open_v2() returns ok on readonly files with
SQLITE_OPEN_READWRITE. Probably due to the journal mode?
2017-11-02 16:36:51 +01:00
Roeland Jago Douma
8e3e3a4575
Be java compatible and store the tag at the end of the cipher text
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-02 12:39:42 +01:00
Christian Kamm
c743cc171a
Client certs: Improve error message #6128
...
"Could not load certificate" can very well just be a bad password.
2017-11-02 11:30:44 +01:00
Tomaz Canabrava
8d537fdd3c
[CSE] Get Metadata from the server
2017-11-01 18:32:33 +01:00
Tomaz Canabrava
4a66cf11d2
[CSE] Send Metadata to the server
2017-11-01 18:21:30 +01:00
Tomaz Canabrava
2698759525
[CSE] Implement the Folder Unlock api job
2017-11-01 17:54:17 +01:00
Tomaz Canabrava
1b1add5ead
[CSE] Add api to lock file
2017-11-01 17:36:54 +01:00
Christian Kamm
6ac44f05cd
Credentials: Namespace windows cred keys #6125
...
The application name is prepended to the key. QtKeychain doesn't
do that automatically on the platform.
2017-11-01 17:03:30 +01:00
Tomaz Canabrava
e5fdcd2f38
[CSE] Add TODO:
2017-11-01 16:48:19 +01:00
Tomaz Canabrava
ef2529ca44
[CSE] Set padding to 0 for the Rsa encryption
...
Also, commented out the finalization of the decrypt operation
because that was messing with the encryption. There's something
wrong here but I need to get this working and I can fix stuff
later.
2017-11-01 16:13:17 +01:00
Christian Kamm
64a84fda38
Wizard: Don't report confusing error message #6116
...
For historical reasons CheckServerJob doesn't just check url/ but also
url/owncloud/. However, that means if url/status.php is a 404 and
url/owncloud/status.php is a 404, the user will see the latter url
appear in the error message. That's potentially confusing.
Instead, just show the account url which will be closer to what the
user typed into the account wizard, while being adjusted for protocol
and possible redirects.
2017-11-01 15:57:58 +01:00
Tomaz Canabrava
1a891423e5
[CSE] Call the decryption function to test.
2017-11-01 15:48:40 +01:00
Tomaz Canabrava
41ebcd0b7e
[CSE] Decryption of the metadata blob
2017-11-01 15:29:14 +01:00
Tomaz Canabrava
77ec3b086d
[CSE] Remember to finalize encryption
2017-11-01 15:24:19 +01:00
Tomaz Canabrava
88d87bf0ca
[CSE] Convert encrypted bitearray to Base64
...
also, start the decrypt.
2017-11-01 14:46:32 +01:00
Tomaz Canabrava
eb43fa1459
[CSE] Internal metadata encryption working
2017-10-31 17:52:01 +01:00
Tomaz Canabrava
8793fdbc69
[CSE] Remember to actually use the correct variable
2017-10-31 16:06:01 +01:00
Tomaz Canabrava
4bb7ebb6aa
[CSE] Convert the base64 data to raw, for the decyrption
2017-10-31 13:17:22 +01:00
Tomaz Canabrava
3628f3739d
[CSE] Start the decryption of the metadata
2017-10-31 13:06:20 +01:00
Tomaz Canabrava
b28b4705de
[CSE] Correctly store the encrypted metadata
...
Missing the conversion to base64.
2017-10-31 12:07:47 +01:00
Tomaz Canabrava
560ce958de
[CSE] Remove warning.
2017-10-31 11:24:10 +01:00
Tomaz Canabrava
69d73162aa
[CSE] functions for encrypt / decrypt folder
...
The code was scattered around the slot for the context
menu request and had already too many indentation levels.
2017-10-31 11:09:34 +01:00
Tomaz Canabrava
69dc099b17
[CSE] Dedicated function for the subfolder menu
2017-10-31 11:03:24 +01:00
Tomaz Canabrava
c7d9abbea3
[CSE] Rework pubkeyPath to be able to fetch pubKey
2017-10-30 20:02:55 +01:00
Tomaz Canabrava
a986532442
[CSE] Generate a random password for the metadata.
2017-10-30 19:08:03 +01:00
Tomaz Canabrava
cf56d58241
[CSE] Start the encryption of the metadataKey
2017-10-30 19:05:55 +01:00
Tomaz Canabrava
edb04c137c
[CSE] Call the FolderMetadata
2017-10-30 19:05:32 +01:00
Tomaz Canabrava
c695c50c33
[CSE] Implement the empty metadata
...
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-30 15:40:05 +01:00
Tomaz Canabrava
5420741edb
Merge branch 'master' into clientSideEncryptionV3
2017-10-30 11:21:36 +01:00
Christian Kamm
05c1bfb6cf
Merge remote-tracking branch 'origin/2.4'
2017-10-27 10:29:31 +02:00
Jocelyn Turcotte
10c6951438
Windows: Add a setting to enable/disable the explorer navigation pane integration
...
Issue #5295
2017-10-24 16:10:53 +02:00
Jocelyn Turcotte
56e38e6f80
Windows: Add sync folders to Explorer's navigation pane
...
This is only the navigation pane, the SyncRootManager entries aren't handled yet.
This follows the instructions from:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn889934%28v=vs.85%29.aspx
Issue #5295
2017-10-24 16:10:53 +02:00
Roeland Jago Douma
238f0b3610
Add note
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:53:17 +02:00
Roeland Jago Douma
817baf292d
Use EVP_aes_128_gcm
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Roeland Jago Douma
ca6fa7b341
Update decryp function
...
* Do not use AAD
* Do not try to decrypt the last 16 bytes as Android adds the tag there
by default
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Roeland Jago Douma
bacbf337d2
Update encryption function
...
* Do not use padding
* Do not use the ADD data
* Append the tag to the ciphertext to be compatible with Android
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-10-24 15:51:53 +02:00
Olivier Goffart
c36043a175
ShareDialog: trigger a sync for folder affected by a change of sharing
...
This allow the sync engine to query the new metadata and update the
overlay icons.
Note: we also need to invalidate the etags because the server does not
change the etag of parent directories that see their share-types changed.
Issue #6098
2017-10-24 15:50:14 +02:00
Olivier Goffart
ee63b36ed3
SyncFileStatusTracker: Detect changed in the shared flag
...
... even if the file is not changed.
We get an UPDATE_METADATA in that case, so make sure we let the
SyncFileStatusTracker know about it.
That means we need to filter out UPDATE_METADATA in the other listeners
of this signal.
Issue #6098
2017-10-24 15:50:14 +02:00
Olivier Goffart
35d28294cd
SyncEngine: remove SyncEngine::syncItemDiscovered
...
It is unused.
2017-10-24 15:50:14 +02:00
Olivier Goffart
c6bd3ab31a
Sharing: remove the ShareManager::_jobContinuation
...
It is growing indefinitively in case of error, causing a leak.
Use a labda instead to pass the capture
2017-10-24 15:50:14 +02:00
Christian Kamm
9c7ee6ef85
Reconcile: Rename handling fixes: duplicate file ids
...
When users share the same tree several times (say A/ and A/B/ are both
shared) the remote tree can have several entries that have the same
file id. This needs to be respected in rename detection.
Also adds several tests and fixes for issues noticed during testing.
See #6096
2017-10-24 10:54:23 +02:00
Christian Kamm
e85a339d94
Local discovery: Use db instead of filesystem
...
We mostly trust the file watchers meaning that we don't re-scan the
local tree if we have done that recently and no file watcher events
have arrived. If the file watchers invalidate a subtree, we rescan
only that subtree.
Since we're not entirely sure the file watchers are reliable, we still
do full local discoveries regularly (1h by default). There is a config
file setting as well as an environment variable to control the interval.
2017-10-24 10:00:20 +02:00
Christian Kamm
66f0ce6616
FolderWatcher: reliability and data-loss signal
...
Add state and signal to catch the following two known problems:
* Linux: inotify user watch pool is exhausted. Folder watcher becomes
unreliable.
* Windows: buffer is too small, some notifications are lost but watching
stays reliable.
2017-10-24 10:00:20 +02:00
Christian Kamm
fb2d31c9ce
Folder: Move FolderWatcher to Folder
...
This makes it unnecessary for FolderMan to manage the list and removes
the need for some forwarders.
This is done in preparation for follow-up commits that want to add
diagnostics to FolderWatcher that shall be available from within Folder.
2017-10-24 10:00:20 +02:00
Christian Kamm
f3ea375083
Wizard: Resolve url/ redirects only if url/status.php not found
...
Unfortunately checking the base-url for redirects in all cases lead
to incorrect behavior in some SAML/OAuth2 edge cases.
This new iteration checks the base url for redirects only if the
standard CheckServerJob can't reach the server. That way the 2.3
behavior is only changed in cases that would have lead to errors.
See #5954
2017-10-24 09:42:08 +02:00
Tomaz Canabrava
476fe66043
[CSE] Add beginnign of the code to deal with the metadata
2017-10-23 21:06:26 +02:00
Tomaz Canabrava
bb53c2586f
[CSE] Add Nlohmann's json library
...
Because nobody deservers to deal with Qt's JSON API
2017-10-23 21:06:26 +02:00
Tomaz Canabrava
23f5bb7ed9
[CSE] Move network jobs out of networkjobs.h
...
Since those networkjobs are all about client side
encryption, mvoe them to clientsideencryption.h
This will help with fewer conflicts with the origin.
2017-10-23 21:06:26 +02:00
Olivier Goffart
f41c9fbb7f
owncloudsetupwizard: Fix "add new account" if the wizard is already visible
...
Clicking on the "Add new Account" from the systray menu should raise
the wizard, even if it is already running.
Relates to issue #6105
2017-10-20 12:41:48 +02:00
Olivier Goffart
a0e50670de
Shibolleth: raise the browser when clicking on the tray
...
Issue #6105
Dynamically find the browser trough topLevelWidgets instead of
forwarding the call to the relevant page as it would require to break
many abstration layers (OwncloudSetupWizard -> OwncloudWizard ->
AbstractCredentialsWizardPage -> OwncloudShibbolethCredsPage)
And considering that we want to phase shibboleth down, I tought is
was not worth adding an interface for this.
The OAuth page don't have this problem because it shows a label and
allow the user to re-open the browser.
2017-10-20 10:51:35 +02:00
Olivier Goffart
a9761a8976
Use qEnvironmentVariable* instead of qgetenv when appropriate
...
Now that we use Qt5, we should do that. It is slightly more efficient
and declares the intent.
(Modified using clazy)
2017-10-19 13:57:49 +02:00
Tomaz Canabrava
1a47052aa3
[CSE] Remove unused function
...
This is already being called from somwhere else.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
e0988f482c
[CSE] Build fix
...
- change the name of one Qt Message Handler
- changed parameter from int to QString
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
d83e8819ce
[CSE] SetEncryptionFlagApiJob
...
This new job sets the Encryption Flag in a folder.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
623eb29845
[CSE] Helper functions for the URL's
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
1436d5bac1
[CSE] Better debug output
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
0b50afe915
[CSE] Correctly Set's the client as connected
...
If we manage to encrypt and upload the private key
to the server, the client is in it's connected state.
2017-10-18 21:51:39 +02:00
Tomaz Canabrava
cfb6e3be8c
[CSE] Send the Private Key to the server
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
78136a10b0
[CSE] Debug statements to help find the encrypt error
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
08dfe86f37
[CSE] Adjust the calls to ent-to-end encryption
...
We changed the name.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
0f1480728e
[cse] Use fake data to verify the encryption
...
beware, this is broken.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
ba3d2a61d5
[cse] Call the encrypt and decrypt functions on fake data
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
e0d368cbb3
[cse] Update the encrypt and decrypt algorithm to GCM
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
4f7265c04f
[aes] Create the Decrypt function.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
6b53b4f257
[cse] Add the crypt method, based on OpenSSL Wiki
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
77c0309e02
[cse] use PKCS5_PBKDF2_HMAC_SHA1 on the random-word passphrase
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
5395fc56b1
[cse] Start the encryption algorithm for the Private Key
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
fd00e180f5
[aes] fix out of bounds access.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
60729f1fc4
[cse] Enable OpenSSL for encryption
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
418401a33c
[cse] new method, getUnifiedString
...
Enter a string list, return a string.
2017-10-18 21:51:38 +02:00
Tomaz Canabrava
2111aeaac1
[cse] Add wordlist & related methods.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
69c709714d
[cse] Save signed key on disk
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
090336c928
[cse] Correctly send the CSR
...
finally.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
307dfd195c
[cse] Call the CSR job.
...
There's something wrong on the CSR job that I need to discover.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
304231811d
[cse] Start the job to sign the public key.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
ecb05020a9
[cse] Do not save the certificate on disk
...
Store it on memory, and discard it as soon as no longer
needed.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
d2992d92ba
[cse] Generate the CSE
...
I still need to send it to the server. It's been a long
learning with the OpenSSL library.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
c358980448
[cse] Link Against OpenSSL
...
For some reason, this was working untill I added a call
to X509_REQ_get_subject_name, then the linking suddenly
stopped working (even tougth I'm using a ton of other
OpenSSL calls)
Force to link against 1.0
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
42a3098595
[cse] s/scr/csr
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
58e2e6b30b
[cse] Generate the public / private keys and store locally
...
Now I need to understand what the hell I need to do
to send this to the server.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
8c342cb1dd
[cse] Generate the KeyPair
...
Not stored anywhere yet, but it's correctly running.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
17693a75e5
[cse] Request public key from server
...
This is the first step needed to properly communicate.
Next, get private key.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
f4bbec1019
[bugfix] Return the error code, don't discard it.
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
29b64640fa
[cse] Start to fetch the basics to fetch the key from the server
2017-10-18 21:51:37 +02:00
Tomaz Canabrava
3f4d915a17
[cse] Add files to handle client side encryption
...
This will be the responsible for encryption,
decryption and talking with the server.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
7e2085375f
[cse] Invalid read of 1
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
1c85f94b00
[cse] Use server capabilities to query for cse
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
920047fa70
[CSE] Remove uneeded includes
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
f7e74f520b
[CSE] Call encrypt and unencrypt from the GUI
...
If the server allows client side encryption, show
the user the menu with the encrypt and unencrupt options
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
5b51346e83
[CSE] New Network Job: DeleteApiJob
...
This network job does a DELETE http request on a URL. It's the
second class that does basically the same, but this one returns
the http return code, and it's set to do a api call.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
e2091bb0a3
[CSE] Add FileIdRole for the FolderStatusModel
...
This way we can actually request the id from outside of the model.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
9870f39dcb
[CSE] Fetch file-id for subfolders
...
File id is a must if we want to call any API.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
9318c487b9
[CSE] Display menu for encrytp / decryot folders
...
If the server supports client syde encryption, display
a menu on right click that should display encrypt and decrypt.
ideally it would show the encrypt if the folder is decrypted, and
decrypt if the folder is encrypted but currently there's no way
for the client to know that.
2017-10-18 21:51:36 +02:00
Tomaz Canabrava
1c32f6bb2e
[CSE] Check the server for client side encryption
...
Call the apps api and check if the response has
the client_side_encryption key.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
2017-10-18 21:51:36 +02:00
Roeland Jago Douma
bc7e65b395
Merge branch 'master' of https://github.com/owncloud/client
2017-10-18 21:03:15 +02:00
Markus Goetz
9866010b4c
SettingsDialogMac: Fix account display name #6078
2017-10-18 10:41:01 +02:00
Markus Goetz
a3c1052cae
owncloudcmd: Fix timestamps, Fix --logdebug
...
We did not set a log handler so there were no timestamps.
The --debug didn't have an effect, let's use --logdebug like in GUI version.
(Command line always outputs some log)
Found in owncloud/documentation#3436
2017-10-18 09:16:05 +02:00
Christian Kamm
bf39343920
Sync: Add capability for invalid filename regexes #6092
2017-10-17 17:15:49 +02:00
Markus Goetz
d339b68715
Checksums: Use addData function
...
Our implementation had bad error handling.
This one now uses a new Qt5 addData function.
owncloud/enterprise#2252
2017-10-17 13:26:54 +02:00
Christian Kamm
17b1c83ae5
Activity: Allow sorting of issues and protocol #6086
...
The issues tab uses custom ordering where overall and summary sync
issues are displayed first. This ordering is preserved by creating
special sorting logic for the "time" column.
It needed special handling anyway, since sorting by time-string would
have yielded incorrect results.
2017-10-17 09:47:57 +02:00
Christian Kamm
b2a8ffc577
Abort: Fix crash with early aborts
...
_chunkCount could be 0, leading to a floating point exception
I also added initializers for several uninitialized integers in the
upload jobs.
2017-10-17 09:44:52 +02:00
Christian Kamm
e2711224ed
Propagator: Avoid duplicate async abort
2017-10-17 09:44:52 +02:00
Christian Kamm
111bb485ec
UploadNG: Avoid div-by-zero for super fast uploads
2017-10-17 09:44:52 +02:00
Piotr Mrowczynski
e10775d34f
Fix paused sync file move issue #5949
...
Dont abort final chunk immedietally
Use sync and async aborts
2017-10-17 09:44:52 +02:00
Christian Kamm
f598ac89ac
HttpCreds: Fix retry after wrong password #5989
...
This is an ugly solution.
2017-10-13 14:24:37 +02:00
Christian Kamm
3f7b3ca962
Checksums: Improve logging and add global disable #5017
2017-10-13 13:08:20 +02:00
Christian Kamm
01c2ffe2ae
PropagateDownload: Read Content-md5 header #6088
2017-10-11 09:06:23 +02:00
Christian Kamm
92e90f9c55
Context menu: More detailed status messages
...
Previously it could only display synchronization progress or "up to
date". Now it also communicates the same overall state that the icon
shows.
See owncloud/enterprise#2134
2017-10-09 14:14:31 +02:00
Olivier Goffart
b8f7c6daae
CMakeLists.txt: Put -pie as a linker flag were it belongs
...
Fixes warning introduced by PR #6040
2017-10-06 14:35:56 +02:00
Markus Goetz
cd07865da6
Settings Dialog: Fix display name compilation for macOS #6078
2017-10-06 13:34:40 +02:00
Thomas Müller
315e38e814
Use display-name from the ocs call in the settings dialog
2017-10-06 10:59:20 +02:00
Christian Kamm
19c6757a0f
Rename detection: File size must be equal
...
Comparison of file sizes for potential conflicts was added in
0eb9401c62
, but did not extend to checking
the file size in case of potential local moves.
This commit adds this check and adds tests for various move+change
scenarios.
2017-10-05 22:01:42 +02:00
Christian Kamm
01bbbb7d08
Excludes: Fix bug with escapes in the regex, add tests
2017-10-05 22:01:42 +02:00
Christian Kamm
f609ea3bef
Excludes: optimize csync_is_windows_reserved_word
2017-10-05 22:01:42 +02:00
Markus Goetz
91223b1a3d
Excludes: During directory traversal, use QRegularExpression
...
On Mac, this halves the time spent in csync_excluded_traversal
when using check_csync_excluded_performance. A similar performance
increase is seen on linux.
2017-10-05 22:01:42 +02:00
Markus Goetz
f202593ce4
sqlite: Update bundled version to 3.20.1
...
For OS X and Windows.
2017-10-05 22:01:42 +02:00
rockihack
2bfd85e3c7
Linux Hardening
...
see: https://wiki.debian.org/Hardening#User_Space
2017-10-05 22:01:38 +02:00