summaryrefslogtreecommitdiff
path: root/src/leap/soledad
AgeCommit message (Collapse)Author
2017-09-05[bug] avoid cross uuid checks on incomingVictor Shyba
Incoming API is supposed to be able to, given a valid service token, write a incoming document into any user database. Leaving the parameter as 'uuid' triggers defensive code against unauthorized accesses between users. This commit renames the parameter so this isn't checked. -- Related: #8867
2017-09-05[style] improve naming and fixes from code reviewVictor Shyba
-- Related: #8867
2017-09-05[bug] check for conflicting ports + systemd fixesVictor Shyba
-- Related: #8867
2017-09-05[bug] remove incoming child from SoledadResourceVictor Shyba
-- Related: #8867
2017-09-05[pkg] move server.tac to server src folderVictor Shyba
This way the file gets copied during package install. -- Related: #8867
2017-09-05[refactor] add localhost endpoint to server tacVictor Shyba
-- Related: #8867
2017-09-05[feature] add a local realm with file auth checkerVictor Shyba
-- Related: #8867
2017-09-05[feature] new config option for tokens auth fileVictor Shyba
-- Related: #8867
2017-08-31[feat] get config file name from environmentdrebs
For tests, we may want to configure the server with non-default options, and the easiest way to do this is by creating a configuration file in a temporary directory and passing the file name by means of an environment variable. This commit changes the server config file loading scheme to account for a variable called SOLEDAD_SERVER_CONFIG_FILE. If that variable is set, the configuration is read from the file pointed by it. Otherwise, /etc/soledad/soledad-server.conf is used.
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] revert setting of default config that enabled blobs prematurelyKali Kaneko
We do not want to enable blobs on any server that, by mistake, deploys from master or from a released version in the 0.10.x series. for testing it's more sensible to allow instantiating the server with a custom config file.
2017-08-23[bug] add missing DELETE permission for blobsdrebs
2017-08-23[test] use sensible server default config for testingdrebs
2017-08-23[bug] add slash to end of blobs listing url in mapperdrebs
2017-08-23[bug] use correct keyword argumentdrebs
2017-08-23[bug] use correct StringIO classdrebs
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-11[bug] enforce namespace to default on serverVictor Shyba
This commit is complementary to the previous one. It adds a test for the reported bug (listing default namespace was listing others) and fixes it. -- Related: #8882
2017-08-11[feature] add path partitioning to namespacesVictor Shyba
All blobs were being stored in a single folder when using namespaces, this commits adds path partitioning as discussed on #8882, which should help with a large number of files (each folder will hold a smaller subset, allowing the use of better filesystem walk strategies). Also, the default empty namespace is now called 'default' to prevent it from listing other namespaces contents. So everything will always use namespaces, with the option to use it explicitly or just fall to the default one. -- Related: #8882
2017-08-11[refactor] add IIncomingBoxBackendVictor Shyba
IIncomingBoxBackend holds backend specific methods used for IncomingBox implementation. - Resolves: #8888
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[bug] separate preamble from content on incoming resourceVictor Shyba
2017-08-03[bug] flag as PENDING during incoming creationVictor Shyba
Clients will query for blobs flagged PENDING so they can start processing. This commit adds flagging, but still in a hacky way as the backend requires the flags as a json string inside a request. A refactor to separate request handling from the backend itself will solve it in the near future. -- Related: #8874
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[refactor] fixes from reviewVictor Shyba
Improve test naming, creates a "count" method and filter flags files properly.
2017-07-21[docs] add docstrings to blobs clientVictor Shyba
2017-07-21[feature] LIST blobs - filter by flagsVictor Shyba
filter_flag parameter can now be used to filter listing blobs by a specific flags. Eg: I can ask for blobs on incoming namespace flagged as pending. -- Resolves: #8913
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 possibility to count on blob managerVictor Shyba
By using `only_count=True` parameter, instead of returning a full list, server just count the amount of blobs. -- Resolves: #8871
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[feat] use MX as default namepace for incoming blobsdrebs
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[style] fixes from reviewVictor Shyba
Updates IBlobsBackend with list_blobs order_by parameter and add a elif clause to order_by checking, raising if the ordering parameter isn't supported.
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