summaryrefslogtreecommitdiffhomepage
path: root/HTTP.hs
Commit message (Collapse)AuthorAge
* fix PoW deserializationJoey Hess2016-09-14
|
* eliminate half the bloom filters, using HMAC to verify RequestIDsJoey Hess2016-09-13
| | | | | | | | | | | Simplifies code, uses less memory, and don't need to protect against flooding generation of RequestIDs, since the server does not store them at all. Note that the RequestIDSecret is only stored in ram, so restarting the server will invalidate any RequestIds given out before. It would be possible now to store that on disk to avoid that problem, but probably not worth it.
* add proof of work to countobjectsJoey Hess2016-09-12
| | | | In this case, an empty string is hashed to generate the PoW.
* implement client-server Proof Of WorkJoey Hess2016-09-12
| | | | | | | | | | | | | | | | | | | Mashed up a argon2-based PoW with token buckets and bloom filters. This is intended to prevent a few abuses including: * Using a keysafe server for general file storage, by storing a whole lot of chunks. * An attacker guessing names that people will use, and uploading junk to keysafe servers under those names, to make it harder for others to use keysafe later. * An attacker trying to guess the names used for objects on keysafe servers in order to download them and start password cracking. (As a second level of defense, since the name generation hash is expensive already.) Completely untested, but it builds! This commit was sponsored by Andreas on Patreon.
* new moduleJoey Hess2016-09-12
|
* cleanupJoey Hess2016-08-28
|
* simplify http api, remove apiversionJoey Hess2016-08-28
| | | | Not needed since all routes are tagged with the api version.
* return ProofOfWorkRequirement tJoey Hess2016-08-22
| | | | This way the requirement can be varied for different operations.
* http client, and --serverJoey Hess2016-08-20
|
* initial http api using servantJoey Hess2016-08-20