Jon Chambers
3298db8683
Split traffic between the Postgres and Dynamo pre-key stores.
2021-02-04 15:18:53 -05:00
Jon Chambers
d4d9403829
Add a Dynamo-backed key store.
2021-02-04 15:18:53 -05:00
Moxie Marlinspike
5e1a572bd8
Track impact of unsealed sender rate limits ( #374 )
2021-02-03 08:58:47 -08:00
Ehren Kret
0dcb4b645c
Build Dynamo DB backed Message Store ( #358 )
...
* Work in progress...
* Finish first pass draft of MessagesDynamoDb
* Use begins_with everywhere for destination device id
* Remove now unused methods
* First basic test built
* Add another test case
* Remove comment
* Verify more of the message contents
* Ensure all methods are tested
* Integrate MessagesDynamoDb into the MessagesManager
This change plugs the MessagesDynamoDb class into the live serving
flow in MessagesManager.
Tests are not yet as comprehensive for this big a change as they
should be, but they now compile and pass so checkpointing here with a
commit.
* Put DynamoDB before RDBS when deleting specific messages
* Extract method
* Make aws sdk version into a property
* Rename clientBuilder
* Discard messages with no GUID
* Unify batching logic into one function
* Comment on the source of the value in this constant
* Inline method
* Variable name swizzle
* Add timers to all public methods
* Add missing return statements
* Reject messages that are too large with response code 413
* Add configuration to control dynamo DB timeouts
* Set server timestamp from the ReceiptSender
* Change to shorter key names to optimize IOPS
* Fix tests broken by changing column names
* Fix broken copyright template output
* Remove copyright template error text
* Add experiments to control use of dynamo and rds in message storage
* Specify instance profile credentials for the dynamic configuration manager
* Use property for aws sdk version
* Switch dynamo to instance profile credentials
* Add metrics to the batch write loop
* Use placeholders in logging
2021-02-03 10:03:19 -06:00
Jon Chambers
1a27c7eabc
Add a (failing) test for new Ivory Coast phone numbers.
2021-02-01 21:25:14 -05:00
Jon Chambers
408b959441
Require a push challenge when registering (or else require a captcha).
2021-02-01 20:44:21 -05:00
Jon Chambers
8f94ed68a3
Ignore expired devices when checking for GV1->GV2 migration capability.
2021-01-30 16:55:05 -05:00
Jon Chambers
92a0deffcf
Add more robust tests for about/emoji fields.
2021-01-27 10:34:13 -05:00
Jon Chambers
24ea6a9f1d
Revert "Temporarily disable registration abuse system"
...
This reverts commit 22ef058cb6 .
2021-01-25 14:58:27 -05:00
Jon Chambers
225932b4c9
Add emojis/"about" text to profiles
2021-01-20 15:42:47 -05:00
Jon Chambers
6b850b9894
Allow (versioned) profile names up to 380 base64 characters long.
2021-01-20 11:08:10 -05:00
Jon Chambers
a57ce1dd17
Add machinery to allow a percentage of message sends to succeed.
2021-01-15 17:05:16 -05:00
Jon Chambers
81c1ba6eef
Respond to all "message send" attempts with HTTP/503.
2021-01-15 15:34:14 -05:00
Jon Chambers
e5a2c1ab10
Always return an empty list of prekeys.
2021-01-15 12:27:10 -05:00
Jon Chambers
67ed035b36
Retry serializable key transactions.
2021-01-13 17:38:29 -05:00
Jon Chambers
2e01da5ec1
Add a task to enable/disable accelerated crawling.
2021-01-11 19:29:18 -05:00
Jon Chambers
9412a7424c
Return HTTP/429 whenever somebody tries to get contacts from the old directory system.
2021-01-11 19:29:10 -05:00
Ehren Kret
86ccaa52a5
Allow configuration of multiple directory account crawler listeners ( #325 )
...
* Allow configuration of multiple directory account crawler listeners
Only one should update the local redis directory. This one is marked
with replicationPrimary true. The others in the list only serve to
issue replication requests over to CDS replication load balancers.
* Update one more metric name
2021-01-10 17:11:02 -06:00
Jon Chambers
bac268a21c
Don't send a reply to clients until messages are safely in a non-volatile store.
2021-01-10 13:03:40 -05:00
Moxie Marlinspike
22ef058cb6
Temporarily disable registration abuse system
2021-01-09 15:57:55 -05:00
Jon Chambers
3bf0188e7f
Turn off alphanumeric sender ID for all countries.
2021-01-08 06:18:53 -05:00
Jon Chambers
91fc0fd623
Revert "Delete data in the storage service when deleting accounts."
...
This reverts commit ff1a721d5b .
2021-01-08 06:18:39 -05:00
Jon Chambers
ff1a721d5b
Delete data in the storage service when deleting accounts.
2020-12-23 11:35:38 -05:00
Jon Chambers
e551fd2c1b
Revert "Pause checks for GV1 migration when checking for capability downgrades."
...
This reverts commit e7745db36e .
2020-12-10 17:02:41 -05:00
Ehren Kret
299b680013
Always include UUID in UD certificate ( #300 )
2020-12-01 08:56:55 -06:00
Ehren Kret
00a3e562dc
Force use of UCS-2 instead of GSM-7 for SMS to China ( #297 )
2020-11-20 14:41:48 -06:00
Jon Chambers
e7745db36e
Pause checks for GV1 migration when checking for capability downgrades.
2020-11-17 09:25:12 -05:00
Jon Chambers
474b879b16
Only notify CDS if an account attribute change actually changes an account's discoverability.
2020-11-16 10:54:12 -05:00
Ehren Kret
604287244f
Update copyright statement on all source files
...
IntelliJ Copyright Profile used to automate this.
2020-11-04 11:55:35 -05:00
Ehren Kret
5587b7d469
Expose gv1-migration on profile endpoint
2020-10-28 13:00:57 -04:00
Ehren Kret
c2db2d3cbd
Add GV1 Migration capability
2020-10-27 16:17:21 -04:00
Jon Chambers
96d3a69479
Use container-managed executors for APN/GCM senders.
2020-10-23 11:30:03 -04:00
Jon Chambers
23ca011ac1
Record account deletion reasons.
2020-10-20 19:00:34 -04:00
Jon Chambers
05929871c9
Rename PushSender to MessageSender and add docs.
2020-10-19 11:24:35 -04:00
Curt Brune
39c09733d3
Add /v1/payments/auth endpoint
2020-10-08 10:51:01 -04:00
Jon Chambers
e1c397993d
Require Android clients to support the gv2-3 capability
2020-10-06 16:49:49 -04:00
Jon Chambers
2b6811cb1b
Really delete old accounts instead of just removing their push channels.
2020-10-06 11:04:47 -04:00
Jon Chambers
65cdd5fcbe
Drop the 365-day check when deciding if an account is enabled.
2020-10-01 12:54:35 -04:00
Jon Chambers
0c6f05f34a
Add a (failing!) test for sending a sealed-sender message after a non-sealed-sender message.
2020-10-01 11:06:43 -04:00
Jon Chambers
fc71ced660
Persist messages in batches.
2020-09-29 10:58:02 -04:00
Jon Chambers
e6d4620af1
Only allow linking desktop clients if they support the third-generation GV2 capability.
2020-09-25 17:08:32 -04:00
Jon Chambers
656e6db846
Only consider desktop devices GV2-capable if they send the third-gen GV2 capability.
2020-09-25 17:08:32 -04:00
Jon Chambers
a553eba574
Add an API endpoint for deleting accounts.
2020-09-25 11:39:17 -04:00
Jon Chambers
61f515670c
Add plumbing for deleting accounts and all associated data.
2020-09-25 11:39:17 -04:00
Jon Chambers
789af0f8a6
Add support for deleting keys associated with an account.
2020-09-25 11:39:17 -04:00
Jon Chambers
86fae58c96
Add support for deleting account entities from the database.
2020-09-25 11:39:17 -04:00
Jon Chambers
77de0f86dc
Require desktop clients to send the new gv2-2 capability flag.
2020-09-23 12:05:58 -04:00
Jon Chambers
62c31eb202
Revert "Revert keyspace delivery for all messages"
...
This reverts commit 4dc49604b6 .
2020-09-22 10:21:33 -04:00
Jon Chambers
5986145282
Add a second-generation GV2 capability and ignore the old capability for iOS devices.
2020-09-21 18:57:53 -04:00
Jon Chambers
ebc3a251b7
Drop the UUID addressing capability flag entirely.
2020-09-14 15:36:29 -04:00