Commit Graph

53 Commits

Author SHA1 Message Date
Moxie Marlinspike
1f5ee36a6b Switch to postgresql-backed message DB.
// FREEBIE
2015-01-29 13:25:33 -08:00
Moxie Marlinspike
45a0b74b89 Device provisioning fixes.
// FREEBIE
2015-01-21 15:15:40 -08:00
Moxie Marlinspike
f7132bdbbc Rearrange provisioning flow. Add needsMessageSync response.
// FREEBIE
2015-01-21 13:56:58 -08:00
Moxie Marlinspike
d2dbff173a Adjust encoding 2015-01-19 19:03:06 -08:00
Moxie Marlinspike
79f83babb3 Support for ephemeral provisioning communication channels.
// FREEBIE
2015-01-18 18:09:25 -08:00
Moxie Marlinspike
41d15b738b Refactor direct connect delivery pipeline and message store.
1) Make message store contents more memory efficient.

2) Make notification pipeline simpler and more memory efficient.

3) Don't b64 encode websocket message bodies.

// FREEBIE
2014-12-06 20:00:39 -08:00
Moxie Marlinspike
fdb35d4f77 Switch to WebSocket-Resources
// FREEBIE
2014-11-14 17:59:50 -08:00
Moxie Marlinspike
222c7ea641 Support for signature token based account verification. 2014-11-13 14:56:24 -08:00
Moxie Marlinspike
c9a1386a55 Fix for PubSub channel.
1) Create channels based on numbers rather than DB row ids.

2) Ensure that stored messages are cleared at reregistration
   time.
2014-07-26 20:41:25 -07:00
Moxie Marlinspike
4eb88a3e02 Server side support for delivery receipts. 2014-07-25 15:48:34 -07:00
Moxie Marlinspike
4cd098af1d Switch to GCM CCS and add support for APN feedback processing. 2014-07-23 18:00:49 -07:00
Moxie Marlinspike
820a2f1a63 Break FederationController into V1 and V2 2014-07-16 17:24:01 -07:00
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
885af064c9 Support unrecognized properties. 2014-06-29 18:16:43 -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
6913e4dfd2 Add contacts histogram and directory controller test. 2014-04-04 20:19:12 -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
f4ecb5d7be Add support for "registrationId" session enforcement. 2014-02-20 09:32:42 -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
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
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
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
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
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
Matt Corallo
cb185a6552 Remove very overzealous protobuf change. 2014-01-08 16:45:37 -10:00
Matt Corallo
ef1160eda8 New API to support multiple accounts per # (FREEBIE) 2014-01-08 14:46:33 -10:00