Commit Graph

59 Commits

Author SHA1 Message Date
Moxie Marlinspike
6fac7614f5 Allow device to query their currently stored signed prekey. 2014-07-16 14:44:00 -07:00
Moxie Marlinspike
b724ea8d3b Renamed 'device key' to 'signed prekey'. 2014-07-11 10:37:19 -07:00
Moxie Marlinspike
06f80c320d Introduce V2 API for PreKey updates and requests.
1) A /v2/keys controller.

2) Separate wire protocol PreKey POJOs from database PreKey
   objects.

3) Separate wire protocol PreKey submission and response POJOs.

4) Introduce a new update/response JSON format for /v2/keys.
2014-07-10 18:06:45 -07:00
Moxie Marlinspike
dd36c861ba Pipeline directory update redis flow for a 10x speedup. 2014-07-10 17:31:39 -07:00
Moxie Marlinspike
405802c492 Get JSON metrics response code. 2014-06-30 12:18:16 -07:00
Moxie Marlinspike
e15f3c9d2b By default, dont try to gunzip 2014-06-29 19:48:47 -07:00
Moxie Marlinspike
885af064c9 Support unrecognized properties. 2014-06-29 18:16:43 -07:00
Moxie Marlinspike
40529dc41f Fix JSON reporter. 2014-06-27 19:49:21 -07:00
Moxie Marlinspike
4c543e6f06 Update websocket close codes to comply with RFC 2014-06-26 16:08:29 -07:00
Moxie Marlinspike
7a33cef27e Updated iOS message delivery.
1) Use WebSockets for delivery if a client is connected.

2) If a client isn't connected, write to a redis queue and send
   an APN push.
2014-06-26 16:08:29 -07:00
Moxie Marlinspike
b433b9c879 Upgrade to dropwizard 0.7. 2014-06-26 16:08:29 -07:00
Moxie Marlinspike
ba05e577ae Treat account object as authoritative source for identity keys.
Step 3 in migration.
2014-06-25 21:26:25 -07:00
Moxie Marlinspike
437eb8de37 Write identity key into 'account' object.
This is the beginning of a migration to storing one identity
key per account, instead of the braindead duplication we're
doing now.  Part one of a two-part deployment in the schema
migration process.
2014-06-25 11:34:54 -07:00
Moxie Marlinspike
f14c181840 Add host system metrics. 2014-04-12 14:14:18 -07:00
Moxie Marlinspike
6913e4dfd2 Add contacts histogram and directory controller test. 2014-04-04 20:19:12 -07:00
Moxie Marlinspike
aea3f299a0 JSON metrics reporting. 2014-03-19 14:31:31 -07:00
Moxie Marlinspike
b263f47826 Support for querying PreKey meta-information. 2014-03-18 18:46:00 -07:00
Moxie Marlinspike
a63cdc76b0 Disallow registration from clients registered on another relay. 2014-02-25 17:04:46 -08:00
Moxie Marlinspike
129e372613 Fix for federated message flow to support source IDs. 2014-02-23 18:24:48 -08:00
Moxie Marlinspike
53de38fc06 Directory update bug fix. 2014-02-21 11:34:43 -08:00
Moxie Marlinspike
67e5794722 Support DataDog Reporting. 2014-02-21 09:14:05 -08:00
Moxie Marlinspike
f4ecb5d7be Add support for "registrationId" session enforcement. 2014-02-20 09:32:42 -08:00
Moxie Marlinspike
a6463df5bb Make WebSocket optional, disabled by default. Add tests. 2014-02-12 14:39:45 -08:00
Moxie Marlinspike
a9994ef5aa Fix IncomingMessage requirements. 2014-02-03 11:51:22 -08:00
Moxie Marlinspike
6e0ae70f02 Fixes for some multi-device bugs. 2014-02-02 16:44:02 -08:00
Moxie Marlinspike
a0889130e5 Include device source and destination 2014-02-02 12:10:25 -08:00
Moxie Marlinspike
8e763f62f5 Require exact device id match on message deliver. 2014-01-24 16:44:31 -08:00
Moxie Marlinspike
866f8bf1ef basic websocket test 2014-01-24 16:07:32 -08:00
Moxie Marlinspike
7bb505db4c Refactor WebSocket support to use Redis for pubsub communication. 2014-01-24 12:33:40 -08:00
Moxie Marlinspike
519f982604 Add device limiters 2014-01-19 09:37:55 -08:00
Moxie Marlinspike
2f85cd214e Pass non-success response codes through federated client. 2014-01-19 09:32:45 -08:00
Moxie Marlinspike
74f71fd8a6 Initial multi device support refactoring.
1) Store account data as a json type, which includes all
   devices in a single object.

2) Simplify message delivery logic.

3) Make federated calls a pass through to standard controllers.

4) Simplify key retrieval logic.
2014-01-18 23:45:07 -08:00
Matt Corallo
6f9226dcf9 One query to get set of accounts and long-existing logic error. 2014-01-11 17:40:00 -10:00
Matt Corallo
eedaa8b3f4 Simplify message handling by returning early and throwing out maps 2014-01-11 16:30:37 -10:00
Matt Corallo
d3830a7fd4 Split Account into Device and Account definitions. 2014-01-11 13:59:49 -10:00
Matt Corallo
ce9d3548e4 s/accountCache/deviceCache/g 2014-01-11 10:57:50 -10:00
Matt Corallo
0bd82784a0 Add missing file 2014-01-11 10:56:59 -10:00
Matt Corallo
542bf73a75 Fix some whitespace 2014-01-11 10:56:50 -10:00
Matt Corallo
bd6cf10402 Auto refactor Only: s/Account/Device/g 2014-01-11 10:56:29 -10:00
Matt Corallo
5a837d4481 Fix jersey warning 2014-01-10 22:16:34 -10:00
Matt Corallo
b08eb0df5c Clean up whitespace/copyright/includes + minor test tweak. 2014-01-10 22:16:34 -10:00
Matt Corallo
e39016ad35 Add CORS header to allow any origin.
We don't need CORS protection because we don't use cookies at all
(so a different origin cant exploit cookie saving to steal our
session).
2014-01-10 22:16:34 -10:00
Matt Corallo
8c74ad073b Rework messages API to fail if you miss some deviceIds per number 2014-01-09 15:20:06 -10:00
Matt Corallo
918ef4a7ca s/IterablePair.Pair/Pair/ 2014-01-09 12:15:35 -10:00
Matt Corallo
2473505d4e Make first account "master" for directory purposes 2014-01-09 11:54:48 -10:00
Matt Corallo
591d26981e Remove a DB query for resetting a number. 2014-01-09 11:01:44 -10:00
Matt Corallo
605e88d4bf Remove all differences in url parameters. 2014-01-09 11:01:44 -10:00
Matt Corallo
48fe609d53 Fix logging init 2014-01-09 11:01:44 -10:00
Matt Corallo
40a988c0cd /v1/devices 2014-01-08 17:29:57 -10:00
Matt Corallo
5845d2dedd Move /v2/keys/{number} to /v1/keys/multikeys/{number} 2014-01-08 17:14:01 -10:00