Commit Graph

175 Commits

Author SHA1 Message Date
Moxie Marlinspike 4fab67b0f5 Switch to production APN endpoint.
// FREEBIE
2014-11-27 16:25:02 -08:00
Moxie Marlinspike 2525304215 Account for websocket-resources changes.
// FREEBIE
2014-11-15 09:48:09 -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 fd662e3401 Add vacuum command.
// FREEBIE
2014-11-04 19:32:35 -08:00
Moxie Marlinspike 30017371df Reconnect even when Smack thinks it doesn't need to. 2014-10-01 14:07:12 -07: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 160c0bfe14 Switch from Java serialization to JSON for memcache storage. 2014-07-23 18:02:35 -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 69de9f6684 Fix stored message retrieval.
// FREEBIE
2014-07-21 01:20:14 -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 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 98d277368f Final migration step, remove identity_key column from keys table. 2014-06-25 21:51:22 -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 0c5da1cc47 Schema migration for identity keys. 2014-06-25 18:55:26 -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 35e212a30f Make migration more sane. 2014-02-13 16:56:08 -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 a0768e219a Fix account deletion for fetch'd messages 2014-01-09 09:26: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 2dc5857645 Add PreKeyList hashCode 2014-01-08 16:10:18 -10:00
Matt Corallo 7d8336fd30 Remove useless setter 2014-01-08 16:06:47 -10:00
Matt Corallo f9d7c1de57 Fix StoredMessages calls (now all api calls have at least been tested on a running server...) 2014-01-08 16:04:03 -10:00
Matt Corallo 648812a267 AUthHeader indentation fix 2014-01-08 15:34:34 -10:00
Matt Corallo ef1160eda8 New API to support multiple accounts per # (FREEBIE) 2014-01-08 14:46:33 -10:00
Moxie Marlinspike 96435648d3 Change SMS/Voice code delivery priorities.
1) Honor a twilio.international configuration boolean that
   specifies whether to use twilio for international destinations.

2) If a nexmo configuration is specified, and Twilio fails to
   deliver, fall back and attempt delivery again with nexmo.
2013-12-10 16:35:25 -08:00
Moxie Marlinspike c194ce153d Add support for Twilio voice verification. 2013-12-09 17:50:25 -08:00
Moxie Marlinspike 4ad0dad3d9 Squashed History 2013-12-08 23:11:09 -08:00