summaryrefslogtreecommitdiff
path: root/src/leap/soledad/server
AgeCommit message (Collapse)Author
2017-11-22[feature] make logs less noisy by monkey-patching ↵drebs
twisted.internet.protocol.Factory
2017-11-22[bug] ensure shutdown happens only after reactor startdrebs
2017-11-21[bug] use os._exit to ensure a clean log on startup failuredrebs
2017-11-20[bug] log and exit on server startup errorsdrebs
Some errors during server startup could leave the server in a zombie state (running, but not listening). This commit makes sure the server stops if errors occur during deferreds created on server startup. Closes #8997.
2017-11-20[bug] use reactor.stop() to exit when server startup checks faildrebs
Our current use of sys.exit(20) to stop the server when startup checks fail affects logging in a bad way. This commit uses a system event trigger to exit with the desired status code when startup checks fail. Closes: #8996
2017-11-19[feature] allow setting couchdb url from environmentdrebs
2017-11-14[refactor] factor server twisted app to it's own .py filedrebs
2017-11-14[style] comment fix and variable renamingdrebs
2017-11-14[bug] use custom logger everywhere in serverdrebs
2017-11-14[bug] remove unneeded delayed initialization of couch statedrebs
2017-11-14[bug] wait for checks before running serversdrebs
2017-11-14[refactor] rename entrypoints to match design docsdrebs
2017-11-14[pkg] add binary command for soledad-serverdrebs
2017-11-13[style] fixes from code reviewVictor Shyba
2017-11-13[feature] list deleted files from serverVictor Shyba
-- Related: #8961
2017-10-31[feat] improve speed of server startupdrebs
To avoid corrupting data, Soledad Server checks all user databases during startup to make sure all of them use the correct schema version. This was done synchronously, so when there are many databases startup would take a long time. This commit makes that verification asynchronous, thus speeding up server startup.
2017-10-27[style] E722 do not use bare exceptVictor Shyba
2017-10-23[bug] revert unintentional changes from last commitdrebs
2017-10-23[doc] add script for copying doc to leap_se repodrebs
2017-10-16[bug] use all default server config valuesdrebs
Server config dictionary was being poorly updated, and not all default values were being added in runtime. This was mainly a problem in tests, but fixing may avoid possible bugs with this implementation in the future.
2017-10-12[feature] make concurrent blob writes configurabledrebs
2017-10-11[bug] limit concurrent blob writes in serverdrebs
If there's no limit to the number of concurrent blob writes in the server, the maximum limit of open files will eventually be reached, and the processing of requests will start crashing. This commit adds a semaphore to limit the number of concurrent writes in the server. Related: #8973
2017-10-10[feature] log OS errors when writing blobsdrebs
2017-10-10[bug] handle put errors in the incoming blobs apidrebs
An errback was missing in the PUT renderer method of the incoming API. Because of that, requests to that endpoint were not being correctly finished in case of errors when writing blobs. That was causing delivery requests to hang until timeout. Closes: #8977
2017-10-05[bug] refuse to start if blobs is misconfiguredVictor Shyba
As kali pointed out, one can disable blobs after enabling it, which would cause data loss as blobs documents would become unreacheable. This commit adds a warning and refuses to start the server. -- Resolves: #8866
2017-10-05[style] fix typos on filenames and commentsVictor Shyba
2017-09-30[bug] fix argument passing in blobs queriesdrebs
2017-09-29[bug] check all http response status codesdrebs
2017-09-14[pkg] standardize location of services tokens filedrebs
Introduction of local services authentication added a configuration file containing the auth tokens for each service. There were different names for that file, and this commit standardizes all of them to the same value: /etc/soledad/services.tokens
2017-09-14[pkg] use /var/lib/soledad/blobs to store blobsdrebs
Soledad Server was previously using something in /srv to store blobs in the server side. Debian/lintian doesn't like that at all, so we are changing to /var/lib/soledad/blobs. Closes: #8948
2017-09-11[bug] close consumer on FileBodyProducerVictor Shyba
It isn't closed by Twisted like the producer is. -- Resolves: #8924 -- Related: #8932
2017-09-08[bug] allow POST to blobs resource8938drebs
2017-09-05[doc] document environment variablesdrebs
2017-09-05[feat] cache session data in serverdrebs
2017-09-05[refactor] follow new resource class style namingdrebs
2017-09-05[bug] add schema to incoming couchdb backendVictor Shyba
Schema was using a default value instead of using the one passed as a parameter. Additional test for formatter is also included. -- Related: #8867
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-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