Commit Graph
100 Commits
Author SHA1 Message Date
Roeland Jago Douma 86991b9996 Enable providers by default
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-13 19:59:34 +02:00
Roeland Jago Douma 5c7c92157f Bump images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-13 10:56:18 +02:00
Roeland Jago Douma b85bad0566 Remove nlohmann/json.hpp
Not used so no need to have it lying around

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-08 20:03:04 +02:00
Roeland Jago Douma c4d7f97e00 Add legal notice button to about dialog
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-02 22:17:11 +02:00
Roeland Jago Douma aa4ff0c083 Fix include order
Because why not :S

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-02 21:19:57 +02:00
Roeland Jago Douma 24efdd3b45 Fix E2E query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 11:40:58 +02:00
Roeland Jago Douma 6c11c1aa73 Fix query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 10:33:26 +02:00
Roeland Jago Douma 0d70b05b65 Set Accept-language header for webview requests
This way the server will properly translate it for you if it has
translations.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 07:45:02 +02:00
Roeland Jago Douma 34d964fc80 Do not force to show the webview on construct
Should fix #458

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 20:09:30 +02:00
Roeland Jago Douma 08abc71acb gui Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 13:02:15 +02:00
Roeland Jago Douma ce545b1e47 propage*encrypted Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 12:45:44 +02:00
Roeland Jago Douma e871359453 Remove unneeded ;
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:03:58 +02:00
Roeland Jago Douma b952fa64ee Restore logger installation
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:01:52 +02:00
Roeland Jago Douma d2b75cabb2 Remove default trademark text
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-29 21:36:18 +02:00
Roeland Jago Douma 97ea6c54bc Run tests on drone
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 14:50:35 +02:00
Roeland Jago Douma 38b89a3fa0 Update testutility
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 13:37:02 +02:00
Roeland Jago Douma 6ab7e814a5 Fix tests to actually compile
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 13:37:02 +02:00
Roeland Jago Douma 595cbfaa16 Update urls
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 12:46:47 +02:00
Roeland Jago Douma cd0b638a80 Add openssl 1.0 to appimage as Qt needs it
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-27 23:14:10 +02:00
Roeland Jago Douma 8d70eab8fe Checkout depth of 1 for drone for faster cloning
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-27 23:13:56 +02:00
Roeland Jago Douma 7ce9c22d2c Build AppImage with Qt-5.11
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-26 17:49:00 +02:00
Roeland Jago Douma c1bebd1253 We require openssl 1.1
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-26 16:37:44 +02:00
Roeland Jago Douma 64255f8f09 Add clang build to CI
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-26 15:41:23 +02:00
Roeland Jago Douma 0a9185b88c Add Qt-5.10 and Qt-5.11 drone builds
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-26 13:08:34 +02:00
Roeland Jago Douma 2c5e559df6 Bundle NSS because else 💥
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-23 21:29:16 +02:00
Roeland Jago Douma e79591e52c Bump drone images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-23 21:29:16 +02:00
Roeland Jago Douma 48a6ef37b2 Add a button to E2E accounts to show the mnemonic
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 19:52:27 +02:00
Roeland Jago Douma 30b211381f More fixes for the OSX daily builds
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 15:22:53 +02:00
Roeland Jago Douma cbf3725814 Fix macdeployqt
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-20 13:05:41 +02:00
Roeland Jago Douma f7bf8c7577 Thread local storage don't work properly on OSX
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-14 21:26:07 +02:00
Roeland Jago Douma 8b96ef53b9 Add our own dsa_pub.pem
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-14 20:59:27 +02:00
Roeland Jago DoumaandCamila Ayres dc41f8a16e Fix windows build
* Reorder openssl header import
* not => !

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-08 16:53:56 +02:00
Roeland Jago Douma 4ddbb35d77 Fix debian patch
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-05 13:29:51 +02:00
Roeland Jago Douma a0c458d937 Fix output add E2E again
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-05 09:02:41 +02:00
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 ed3a723ad2 Build no debian while it fails
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-03 14:28:11 +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
Roeland Jago Douma 81ae682e87 Revert "Make different program so it doesn't mess with existing config"
This reverts commit c04d1f1f69.
2018-04-22 21:04:37 +02: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
Roeland Jago Douma df123bb3bc Use NC windows installer images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:55:16 +01:00
Roeland Jago Douma c04d1f1f69 Make different program so it doesn't mess with existing config
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:53:52 +01:00
Roeland Jago Douma f8d805d78b Use NC windows installer images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:25:46 +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
Roeland Jago Douma 11946d9ef8 Bump
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-28 20:21:12 +01:00
Roeland Jago Douma 4ee1f1fe1a Foo
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-28 20:19:37 +01:00
Roeland Jago Douma 3c084bb6eb Bump drone image
* Bump to 16.04 since 14.04 doesn't auto build here due to openssl fu
* No more gcc7 since gcc5 is new enough

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-28 20:10:04 +01:00
Roeland Jago Douma 45eefb27cf Bump AppImage Drone
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-28 20:04:42 +01:00
Roeland Jago Douma e2e99da446 Bump appimage drone image
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-25 14:31:14 +01:00
Roeland Jago Douma aa7e47f525 Fix new icon naming
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-25 12:19:51 +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 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
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
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
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
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
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
Roeland Jago Douma 99aebf292c Yet another drone image
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-12 19:36:09 +01:00
Roeland Jago Douma d1c84fd859 Bump drone docer used for appimage
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-12 15:21:30 +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
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
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
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
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
Roeland Jago Douma 76b8d2536b Bump drone images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 12:57:16 +01:00
Roeland Jago Douma fe4bb52a6d Merge remote-tracking branch 'oc/master' into oc_up 2017-12-14 10:27:11 +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
Roeland Jago Douma 529442e0f8 Bump drone images
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-29 12:34:34 +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
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
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
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
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
Roeland Jago Douma be8b99bf3a Build AppImage on all pushes
This allows quickly testing of the appimages for feedback

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-21 14:20:09 +01:00
Roeland Jago Douma 26ba89c2a8 No double building on PR's
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-21 09:27:52 +01:00
Roeland Jago Douma 7c5150421c We don't use Jenkins
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-11-21 09:20:17 +01:00