summaryrefslogtreecommitdiff
path: root/src/leap/soledad/client
AgeCommit message (Collapse)Author
2017-09-05[feat] toggle http persistence depending on environment variabledrebs
2017-09-05[feat] use a persistent connetion pool in http agentdrebs
2017-09-05[feat] use cookies in the client syncerdrebs
2017-09-05[bug] ensure the number of threads in blobs thread pooldrebs
The number of threads in the blobs databae thread pool can't be smaller than the number of attemps to write concurrently to the database, otherwise different kinds of concurrency problems may arise. By setting the minimum and maximum number of threads to the same number, we make sure there will always be that number of available threads for interaction with the blobs db.
2017-09-05[bug] use a different name for each user's blobs dbdrebs
2017-08-31[bug] revert pool size change pushed by mistakedrebs
2017-08-25[bug] increase number of connections in local blobs db pooldrebs
If the number of threads on the connection pool is small and the local blobs db is stressed, different concurrent access problems may arise.
2017-08-23[bug] use remote secret for uploading blobsdrebs
2017-08-23[bug] use correct uuid in blobmanager setupdrebs
2017-08-11[refactor] make blobs client unaware of 'default'Victor Shyba
This value was hardcoded on client, but it's assumed to be default by the server and there is no need for it to be hardcoded. -- Resolves: #8882
2017-08-11[bug] track namespace information on blobs clientVictor Shyba
A reported bug on namespace feature was that we couldn't delete a namespaced blob after a cold start, since the client wasn't able to check which namespace it belongs. This commits completes the tracking of namespace over client site code, making it possible to query and store namespce information on disk, through sqlcipher. -- Resolves: #8882
2017-08-11[feature] add namespace to local blobs db tableVictor Shyba
This column will keep track of namespace locally. -- Related: #8882
2017-08-07[bug] skip processing if no consumers to avoid data lossVictor Shyba
2017-08-07[refactor] use endStream public method instead of private oneVictor Shyba
2017-08-07[docs] fix typos and improve text from code reviewVictor Shyba
2017-08-03[feature] integrate incoming loop into serverVictor Shyba
Adds a IncomingBox implementation that can be used by the incoming loop to interact with the server. Includes end to end test from message creation on Incoming API to callback consumer. -- Related: #8914
2017-08-03[feature] handle unsupported encryption schemes by saving directlyVictor Shyba
2017-08-03[tests] call _process instead of loopVictor Shyba
2017-08-03[bug] make download namespace-awareVictor Shyba
2017-08-03[feature] incoming processing flowVictor Shyba
This class implements a process flow between the ones defined at #8881 and #8874. It uses a LoopingCall to keep running in a loop and accepts IIncomingBoxConsumers defined by soledad users, such as leap mail. - Resolves: #8874
2017-08-03[feature] Interface for incoming callbacksVictor Shyba
This interface is intended to be used by Soledad users in order to implement consumers for IncomingBox feature. This happens by declaring how to process and save a incoming item, optionally decrypting if Soledad isn't able to decrypt it (planned feature for asymmetric encryption). -- Resolves: #8875
2017-07-21[refactor] error handling and missing headersVictor Shyba
Improves error handling, add missing header to __init__.py and remove mkdirs from flags methods. This is a commit from code review on !117.
2017-07-21[docs] add docstrings to blobs clientVictor Shyba
2017-07-21[feature] make DELETE support namespaces on clientVictor Shyba
Using a parameter, just like the other methods are doing. -- Resolves: #8873
2017-07-21[feature] add get/set flagsVictor Shyba
IncomingBox spec has a flags feature for the processing flow of messages. This commit adds it using a .flags file. -- Resolves: #8869
2017-07-21[refactor] creates a common.blobs with preambleVictor Shyba
Refactor suggested from !105 review.
2017-07-18[bug] avoid closing blobmanager if it doesn't existdrebs
2017-07-18[feat] toggle switch for blobs in the clientKali Kaneko
- Resolves: #8839
2017-07-18[feature] add namespace support for BlobsManagerVictor Shyba
'namespace' argument is supported by backend but not yet exposed on API for clients. Since IncomingBox makes heavy usage of it, this commit exposes the argument as a query string for clients to use it.
2017-07-18[feature] remote list sorting by dateVictor Shyba
Listing by date is useful for listing newest/oldest documents on blobs storage and should be used for listing new IncomingMessages as described on specification. -- Resolves: #8879
2017-07-18[style] fix naming from reviewVictor Shyba
2017-07-18[refactor] move preamble module to commonVictor Shyba
This move allows server to use it on #8868 as described in #8890 -- Relates: #8890
2017-07-18[refactor] move preamble to a new moduleVictor Shyba
Extracted preamble code for making space to #8890 changes. -- Related: #8890
2017-07-18[style] pep8Kali Kaneko
2017-07-18[pkg] cover corner case with scrypt pathKali Kaneko
there is a combination that was failing, with a recent-enough version of cryptography coming from jessie-backports (>1.0), but still being linked to openssl 1.0 which does not have a usable scrypt backend. with this commit we fallback on doing scrypt using python's scrypt package.
2017-07-18[bug] use scrypt lib if an old cryptography foundKali Kaneko
2017-07-18[bug] fix bad importKali Kaneko
2017-07-18fix importkali kaneko
leap.common 0.6.0 renamed this method. we should think about not using the factory directly, since we want to deprecate leap.common.http
2017-07-08[feat] use OpenSSL backend for scrypt if availableKali Kaneko
This needs OpenSSL >= 1.1, otherwise it will keep using the scrypt dependency. We should think about deprecating scrypt as a dependency when we can be sure that the adoption of libssl 1.1 is wide enough. I think that at some point (soledad 0.11 or so) we can drop the scrypt dependency, which was being somehow problematic at times (the _scrypt.so was not appearing when installing with pip, needed workarounds). From that moment on, we can raise an error if an old libssl is found and no scrypt can be imported - leaving that to the user/packager. In debian stretch and afterwards, you can get that version by installing libssl-dev - Related: #8472
2017-06-26[pkg] move examples folder to docs/Kali Kaneko
2017-06-26[pkg] remove non-needed gitignoreKali Kaneko
2017-06-24[bug] fix package __version__ attributedrebs
2017-06-24[pkg] unify client and server into a single python packagedrebs
We have been discussing about this merge for a while. Its main goal is to simplify things: code navigation, but also packaging. The rationale is that the code is more cohesive in this way, and there's only one source package to install. Dependencies that are only for the server or the client will not be installed by default, and they are expected to be provided by the environment. There are setuptools extras defined for the client and the server. Debianization is still expected to split the single source package into 3 binaries. Another avantage is that the documentation can now install a single package with a single step, and therefore include the docstrings into the generated docs. - Resolves: #8896