summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-27[bug] fix order of incoming document eventsdrebs
The incoming documents events are meant to be used by a progress bar for soledad sync, yet to be implemented. When deferred decryption was used, the events were sent out of order, depending on the order of arrival of the documents. This commit changes it so that the content of the emited events are in order, so it is meaningful for the implementation of a progress bar. Note that even after documents are received from the server, they will still be decrypted asynchronously, so another signal could be implemented to signal for the waiting of the decryption of incoming documents.
2015-07-27[feat] add smtp port and log level to spam scriptdrebs
2015-07-27[bug] remove mac from secrets filedrebs
This is how a secret was stored in the secrets json file: * each secret is symmetrically encrypted amd MACed with keys derived from the user's passphrase. * the encrypted secrets dictionary is then MACed with another key derived * from the user's passphrase. * each key is derived using scrypt and a unique random salt. There are disadvantages to this approach: * repeating scrypt many times is a waste of time. * an attacker could crack whichever has weaker parameters, if they get out of sync. * if an attacker can modify the secret in a way it is good to decrypt the database, then she can also modify the MAC. The solution for this is: * completelly eliminate the MAC from the storage secrets file. * attempt to decrypt the database with whatever is got from the decryption of the secret. If that is wrong, report an error. Closes #6980.
2015-07-26[bug] fix syntax errorKali Kaneko
resulting from the previous pep8 cleanup
2015-07-24[style] fixed typo in custom docid fileBruno Wagner
2015-07-24[style] fixed pep8 warnings on the soledad server codeBruno Wagner
2015-07-24[style] fixed do not assign a lambda in soledad clientBruno Wagner
2015-07-24[style] fixed soledad client pep8 warningsBruno Wagner
2015-07-24[style] fixed pep8 warnings on soledad commonBruno Wagner
2015-07-23[pkg] remove leap deps from requirements-testing tooKali Kaneko
- Related: #7288
2015-07-23[style] pep8 cleanupKali Kaneko
to make all CIs happy :)
2015-07-23[bug] move sync db and encpool creation to apidrebs
Deferred encryption was disabled because the soledad u1db wrapper for adbapi did not correctly udated the parameter that controls it. Also, it did not contain the encrypter pool. This commit moves the sync db and encrypt pool to the main api, so they can be passed to the wrapper and deferred encryption can work.
2015-07-23[feat] several features in client db scriptdrebs
* Close soledad when finished. * Allow creation of many documents. * Store timestamp in documents. * Log errors. * Update docstrings.
2015-07-23[bug] properly close reactor on client db scriptdrebs
2015-07-23[feat] add auth data storage on client db scriptdrebs
2015-07-23[bug] use ssl smtp connection on spam scriptdrebs
2015-07-22[pkg] separate leap requirementsKali Kaneko
this is part of a process to make the setup of the development mode less troublesome. from now on, setting up a virtualenv in pure development mode will be as easy as telling pip to just install the external dependencies:: pip install -r pkg/requirements.pip and traversing all the leap repos for the needed leap dependencies doing:: python setup.py develop - Related: #7288
2015-07-22[refactor] use a deferred to signal when SyncDecriptionPool has finishedRuben Pollan
It makes the code simpler and clearer to use a deferred instead of having to pull on 'has_finished'. - Related: #7234
2015-07-10[pkg] bump dependencies0.7.1Ivan Alejandro
bump leap.common min required version, new change needed 'collect_plugins'.
2015-07-10[pkg] fold in changesIvan Alejandro
2015-07-10Merge branch 'master' into developIvan Alejandro
master and develop "diverged" because a merge commit, this moves us back to good track.
2015-07-01[bug] catch 'point is undefined' error on couchdrebs
When trying to use an unexisting list function, to alter a view, the error is not a missing document error, but an obscure "TypeError" saying that "point is undefined" because of the way the javascript code in couchdb server tries to find the list function. This commit adds a catch for that error and raises the proper exception in the soledad couch module.
2015-06-30[bug] fix https tests by using new http clientdrebs
2015-06-30[feature] add close() method to client http targetdrebs
HTTP client cached connections will hang around in the reactor if they are not properly cleaned up, and might raise a "reactor unclean" message on shutdown. This commit adds a close() method to the client http target that will cleanup those connections.
2015-06-30[bug] add close() to mocked shared db test utildrebs
2015-06-26[fix] Make test_server parallelizableVictor Shyba
Using real uuid to separate Locks on each test allow them to be run in parallel. Using real uuid also allows parallel syncs. This is being done to allow test suite to run in parallel on future.
2015-06-15[style] minor style fixes for correctionKali Kaneko
after suggestions in the review
2015-06-15[refactor] use twisted logging facility to log failureKali Kaneko
2015-06-15[pkg] changes and version_compat bumpKali Kaneko
2015-06-15[refactor] move collect_plugins to leap.commonKali Kaneko
2015-06-15[feature] filter documents before passing them to the pluginKali Kaneko
2015-06-15[feature] use raw operation, returns no resultKali Kaneko
2015-06-15[feature] add post-sync hooks using twisted pluginsKali Kaneko
implementing a generic plugin interface to allow other modules to react to soledad syncs, receiving a list of document ids that they've subscribed to. - Resolves: #6996 - Releases: 0.7.1
2015-06-15[bug] allow reuse of decr poolKali Kaneko
2015-06-09[pkg] remove PyOpenSSL version pinningdrebs
Once upon a time we needed to pin the PyOpenSSL version to avoid unneeded crypto deps (see https://leap.se/code/issues/5368#note-5). Since then, jessie was released and PyOpenSSL 0.14 is now shipped with it. We have removed that pinning from the debian package, and it is not needed here.
2015-06-08[pkg] fix typo on leap.common versionIvan Alejandro
2015-06-04Merge tag '0.7.0'drebs
Tag version 0.7.0. Conflicts: CHANGELOG client/src/leap/soledad/client/__init__.py client/src/leap/soledad/client/sqlcipher.py client/src/leap/soledad/client/target.py server/pkg/soledad-server
2015-06-04Merge tag '0.7.0' into developdrebs
Tag version 0.7.0. Conflicts: client/pkg/requirements.pip common/pkg/requirements.pip
2015-06-03[feature] increase the async encryption perioddrebs
When async decrypting, we want to finish as fast as possible. When encrypting, though, we don't have such a rush. With an encryption loop period of 2 seconds, we're able to encrypt 30 documents in one minute (the current bitmask client sync period), which is meaningful: should moderatelly use the processor while not syncing and relief from some work when actually syncing.
2015-06-03[bug] do not block when getting doc for async encdrebs
Previous to this change, the actual encryption method used to run on its own thread. When the close method was called from another thread, the queue could be deleted after the encryption method loop had started, but before the queue was checked for new items. By removing that thread and moving the encryption loop to the reactor, that race condition should disappear. Closes: #7088.
2015-06-03[bug] use exception from correct moduledrebs
Queue exceptions are not in multiprocessing.Queue module, but in plain Queue instead.
2015-06-03[bug] use correct sync enc pool queue attributedrebs
2015-06-01[pkg] bump dependency versionsdrebs
2015-06-01[pkg] fold in changes0.7.0drebs
2015-06-01[pkg] bump dependency versionsdrebs
2015-05-27[feat] adapt to new events api on commonIvan Alejandro
- Related: #6359
2015-05-27[refactor] move the twisted http code to leap.commonRuben Pollan
2015-05-26[feat] Retry to start couch and clean properlyVictor Shyba
Now the CouchDB based tests will try 3 times before give up due to timeout or some temporary error. The stop function will also execute properly even if the process wasn't created, leaving no lost files or folders behind.
2015-05-26[bug] dictionary cant be modified during iterationVictor Shyba
I tested that code and this cant happen. We need to iterate keys and then ask 'del'. The previous method raised: RuntimeError: dictionary changed size during iteration
2015-05-26[bug] Empty comes from QueueVictor Shyba
When handling this exception Python got lost because the import was incorrect. Queue.Empty comes from Queue, not from multiprocessing.Queue