diff options
author | drebs <drebs@leap.se> | 2013-04-25 19:38:44 -0300 |
---|---|---|
committer | drebs <drebs@leap.se> | 2013-04-25 19:54:35 -0300 |
commit | 2ef514b02fa37a0a2ebac0bb9668543e29033a7f (patch) | |
tree | 5b1d8226aef2d3cf347a4928635fcf5bc06807a0 /src/leap/soledad/backends/couch.py | |
parent | ab540eacc529354cb111abc24eb2c9a70886ce21 (diff) |
Fix symmetric encryption when syncing.
Also does:
* Remove all crypto methods from LeapDocument.
* Encode 'encryption_scheme' inside the document JSON.
* Add functions for encrypting and decrypting.
* Fix LeapSyncTarget so its connection actually returns a LeapSyncTarget.
* Fix symmetric encryption when syncing:
- don't try to encrypt tombstone documents.
* Fix symmetric decryption when syncing:
- Only try do decrypt if the incoming document has an '_encryption_scheme'
entry with value equal to EncryptionSchemes.PUBKEY.
* Fix doc skipping for non-syncable docs.
* Fix tests that compared raw content with encrypted content.
Diffstat (limited to 'src/leap/soledad/backends/couch.py')
-rw-r--r-- | src/leap/soledad/backends/couch.py | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/leap/soledad/backends/couch.py b/src/leap/soledad/backends/couch.py index 13b6733c..ad8d10e3 100644 --- a/src/leap/soledad/backends/couch.py +++ b/src/leap/soledad/backends/couch.py @@ -144,8 +144,7 @@ class CouchDatabase(ObjectStoreDatabase): doc = self._factory( doc_id=doc_id, rev=cdoc['u1db_rev'], - has_conflicts=has_conflicts, - encryption_scheme=cdoc['encryption_scheme']) + has_conflicts=has_conflicts) contents = self._database.get_attachment(cdoc, 'u1db_json') if contents: doc.content = json.loads(contents.read()) @@ -201,8 +200,6 @@ class CouchDatabase(ObjectStoreDatabase): cdoc['_rev'] = old_cdoc['_rev'] # store u1db's rev cdoc['u1db_rev'] = doc.rev - # store document's encryption scheme - cdoc['encryption_scheme'] = doc.encryption_scheme # save doc in db self._database.save(cdoc) # store u1db's content as json string |