Ehren Kret
fc10108788
Make fields final in Badge entity
2021-09-07 15:39:48 -05:00
Ehren Kret
fbbc1bec58
Add badge entity to profile
2021-09-07 15:39:48 -05:00
Graeme Connell
2059bb5ef8
Update test to handle read-then-write in ContactDiscoveryWriter.
2021-09-07 13:41:47 -06:00
gram-signal
b080a5db4d
Get-and-set accounts, since other updates may have made them stale.
...
Co-authored-by: Chris Eager <79161849+eager-signal@users.noreply.github.com>
2021-09-07 13:41:47 -06:00
Graeme Connell
b4aabd799b
Canonical discoverability writing.
2021-09-07 13:41:47 -06:00
Jon Chambers
92f035bc2a
Add a "change number" device/account capability
2021-09-07 15:07:30 -04:00
Chris Eager
18a6df34bd
Add timers to `processChunk` and `deleteRecentlyDeletedUuids`
2021-09-03 14:54:51 -07:00
Chris Eager
b1274125c9
Add start/chunk/sleep logging to crawler
2021-09-03 14:54:51 -07:00
Chris Eager
dceebc1c8d
Consistently use `whenCompleteAsync(…, migrationThreadPool)`
2021-09-03 14:02:51 -07:00
Chris Eager
6aadb4b458
Parameterize registration lock constructor when updating account attributes
2021-09-03 14:02:27 -07:00
Fedor Indutnyy
703405b874
Start WebSocket before registering its presence
2021-08-27 16:41:07 -04:00
Jon Chambers
d1735c7e57
Retire `AmbiguousIdentifier`
2021-08-27 13:40:46 -04:00
Jon Chambers
1f815b49dd
Measure APNs rejections by reason
2021-08-27 11:52:29 -04:00
Jon Chambers
a9339b7037
Update to Pushy 0.15.0
2021-08-27 11:52:29 -04:00
Jon Chambers
f2c6ca182d
Include the current server version in the tag list for Dropwizard metrics
2021-08-27 11:52:11 -04:00
Jon Chambers
b946c27a20
Remove a metric aggregator
2021-08-27 11:52:11 -04:00
Jon Chambers
8a8a848fac
Record error metrics from Twilio Verify
2021-08-26 12:22:17 -04:00
Chris Eager
aeb9f67266
Migrate MessageSenderTest to JUnit 5
2021-08-25 12:25:10 -05:00
Chris Eager
e08c5a412e
Insert ephemeral messages in the standard cache queue
2021-08-25 12:25:10 -05:00
Chris Eager
a7443a9ece
Don’t persist ephemeral messages; clear ephemeral field when sending to clients
2021-08-25 11:17:00 -05:00
Chris Eager
54fe3b9a43
Update TextSecure.proto
2021-08-25 11:17:00 -05:00
Ehren Kret
ba522b1691
Clean redis message cache structure
2021-08-24 10:30:52 -05:00
Jon Chambers
739c5bf22c
Add a counter to estimate announcement group adoption
2021-08-23 17:31:34 -04:00
Chris Eager
7cdadeb791
Register circuit breaker metrics for FaultTolerantPubSubConnection
2021-08-23 15:49:19 -05:00
Chris Eager
dadf43b93e
Consolidate directory reconciliation on v3 endpoints
2021-08-19 14:18:38 -05:00
Chris Eager
19f7b207b7
Extract configuration for WebSocket max message sizes
2021-08-19 14:09:57 -05:00
Chris Eager
a398e2269c
Update `AccountsManager` mismatch comparison
2021-08-19 14:08:48 -05:00
Chris Eager
2e28fb97a4
Delete DynamoDB accounts with invalid UUIDs in AccountsManager#create
2021-08-19 14:05:21 -05:00
Chris Eager
5c68d83a93
Add integration test for re-registration with and without Dynamo DB
2021-08-19 14:05:21 -05:00
Chris Eager
0b7c3ad745
.editorconfig formatting
2021-08-16 16:32:26 -05:00
Chris Eager
0cde06557d
Catch and log unexpected exceptions keyspace notification executor service
2021-08-16 16:32:26 -05:00
Chris Eager
27844fe692
Add JUnit 5 RedisClusterExtension
2021-08-13 12:07:04 -05:00
Ehren Kret
779051ef9f
Add minThreads(64) to multiRecipientMessageExecutor
2021-08-12 13:03:40 -05:00
Ehren Kret
d13741fbd5
Change from using parallel streams to using an ExecutorService
2021-08-12 12:05:01 -05:00
Ehren Kret
f7f870fe62
Execute send multi-recipient message loop in parallel
2021-08-12 12:05:01 -05:00
Chris Eager
de59aa099d
Add uncaught exception handler
2021-08-12 11:10:05 -05:00
Ehren Kret
57a478b898
Remove unused local variable
2021-08-12 10:26:23 -05:00
Ehren Kret
3e8d79e147
Remove unused lua script to delete by sender and timestamp
2021-08-11 17:38:55 -05:00
Ehren Kret
a46045d987
Remove unused methods that delete messages by sender and timestamp
2021-08-11 17:30:39 -05:00
Ehren Kret
662c905b80
Remove deprecated delete messages endpoint
...
DELETE /v1/messages/{source}/{timestamp} has been deprecated a long
time and has minimal usage each day at this point. Dropping support
for this endpoint to improve message cache storage flexibility.
2021-08-11 16:17:44 -05:00
Chris Eager
31022aeb79
Use refreshing `AuthenticatedAccount` for `@Auth`
2021-08-11 14:52:25 -05:00
Chris Eager
b3e6a50dee
Send 508 status code for legacy clients that produce rate limit challenges
2021-08-11 11:57:30 -05:00
Chris Eager
d29764d11f
Only process updates for enabled devices in PushFeedbackProcessor
2021-08-11 11:54:42 -05:00
Chris Eager
f8e4f6727a
Reorder crawler listeners so updates happen after read-only processing
2021-08-11 11:54:20 -05:00
Ehren Kret
63d05df8a3
Fix indentation
2021-08-10 10:02:04 -05:00
Ehren Kret
52d13d1d62
Remove unused lua script
2021-08-10 10:02:04 -05:00
Ehren Kret
f58a320223
Remove unused method from MessagesCache
2021-08-10 10:02:04 -05:00
Chris Eager
3e01bc1174
Add metric for content-length header distribution
2021-08-06 14:41:16 -05:00
Jon Chambers
d1ada7f998
Revert "Continue to verify rate limiters by e164 during UUID migration period"
...
This reverts commit ce5edbb7fc
.
2021-08-06 14:33:59 -05:00
Jon Chambers
73c368ea86
Use UUIDs instead of e164s to associate accounts with push notifications.
2021-08-04 14:38:28 -04:00
Jon Chambers
ce5edbb7fc
Continue to verify rate limiters by e164 during UUID migration period
2021-08-04 14:15:21 -04:00
Jon Chambers
a680639718
Use UUIDs as rate limiter keys.
2021-08-04 14:15:21 -04:00
Ehren Kret
becf6afbdd
Block until all UUID bytes are read or EOF
2021-08-03 17:59:48 -05:00
Ehren Kret
1dda015c6a
Update multi-recipient message sending to handle unrestricted destinations
2021-08-03 17:31:39 -05:00
Chris Eager
cfd31e98ff
Move version comparison to after more meaningful checks
2021-08-03 11:03:41 -05:00
Jon Chambers
bcb89924b4
Simplify optimistic write logic
2021-08-03 11:54:26 -04:00
Ehren Kret
1f6318a919
Rename constant
2021-08-02 13:14:44 -05:00
Ehren Kret
b0667b258b
Implement EnterpriseRecaptchaClient
2021-08-02 13:14:44 -05:00
Ehren Kret
4c3a48f5be
Use more specific prefix for recaptcha transition
2021-08-02 13:14:44 -05:00
Ehren Kret
33fb7a72de
Use RecaptchaClient interface
2021-08-02 13:14:44 -05:00
Ehren Kret
2c808e369c
Create a transitional recaptcha client for upgrading
2021-08-02 13:14:44 -05:00
Ehren Kret
906d0be382
Setup recaptcha client interface
2021-08-02 13:14:44 -05:00
Ehren Kret
2aaddd721f
Rename existing captcha client
2021-08-02 13:14:44 -05:00
Jon Chambers
4e2284b83f
Retire old GV2 adoption metrics.
2021-08-02 12:51:49 -05:00
Chris Eager
d5d9978e48
Use non-stale account in mutator when adding a new device
2021-08-02 11:38:03 -05:00
Chris Eager
d45659ac76
Reduce contention when updating `device.lastSeen`
2021-08-02 11:26:15 -05:00
Jon Chambers
13a07dc6cd
Drop the active user counter.
2021-07-29 15:40:27 -04:00
Chris Eager
51b7a8d868
Add excluded E164s configuration to pre-registration experiment
2021-07-29 14:16:40 -05:00
Chris Eager
df9c0051c9
Reconcile inactive and undiscoverable accounts when using v3 endpoints
2021-07-29 10:56:44 -05:00
Jon Chambers
331ff83cd5
Drop legacy PIN-based registration lock plumbing
2021-07-29 11:51:14 -04:00
Jon Chambers
44838d6238
Verify that nobody's addressing API calls by e164 any more.
2021-07-29 11:50:36 -04:00
Chris Eager
5400abb065
Better support unhandled exception logging on websocket requests
2021-07-28 14:06:09 -05:00
Jon Chambers
f47fefb73e
Lock accounts for the duration of deletion operations.
2021-07-27 13:12:39 -04:00
Jon Chambers
cdef745a7a
Drop a not-very-helpful metric (logging works better in this case).
2021-07-27 13:12:39 -04:00
Jon Chambers
1a1eab4ec0
Also clear profiles on re-registration.
2021-07-27 13:05:54 -04:00
Jon Chambers
3a966ef345
Reuse account UUIDs when registering an account with a recently-deleted e164.
2021-07-27 13:05:54 -04:00
Jon Chambers
be20c04cd8
Identify accounts for which to delete keys by UUID.
2021-07-27 13:05:54 -04:00
Jon Chambers
d09dcc90fe
Add methods for getting, clearing, locking recently-deleted account records.
2021-07-27 13:05:54 -04:00
Jon Chambers
0117fc12c7
Actually increment the moved "new user" counter.
2021-07-27 12:09:51 -04:00
Jon Chambers
ef9a7fda9a
Publish outstanding SQS operation count as a gauge.
2021-07-27 11:15:41 -04:00
Chris Eager
13447df1e0
Update validation for NotNull items in IncomingMessagesList
2021-07-27 10:39:30 -04:00
Jon Chambers
3608c5bfb0
Wait for outstanding requests to be resolved before shutting down the directory queue.
2021-07-27 10:36:53 -04:00
Jon Chambers
34dbff6786
Switch to an async SQS client.
2021-07-27 10:36:53 -04:00
Jon Chambers
a6066bfc2f
Migrate DirectoryQueueTest to JUnit 5.
2021-07-27 10:36:53 -04:00
Jon Chambers
8579190cdf
Consolidate account creation/directory updates into `AccountsManager`
2021-07-27 10:27:47 -04:00
Chris Eager
917f667229
Remove AccountController and KeysController from websocket
2021-07-26 14:27:43 -05:00
Chris Eager
317a551bdb
Migrate MetricsRequestEventListenerTest to JUnit 5
2021-07-26 12:06:29 -05:00
Chris Eager
27e9271473
Add request path and user agent to unhandled exception logging
2021-07-26 12:06:29 -05:00
Fedor Indutny
11dff6c546
more controllers
2021-07-26 12:06:17 -05:00
Fedor Indutny
e6712937ca
fix indent
2021-07-26 12:06:17 -05:00
Fedor Indutny
cf8887bb5a
Provide more WebSocket endpoints
2021-07-26 12:06:17 -05:00
Chris Eager
696340f780
Migrate DeviceControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
86ddcbaa08
Migrate CertificateControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
2144d2a8d8
Migrate AttachmentControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
f7af861b31
Migrate SecureStorageControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
208a09b3ae
Migrate RemoteConfigControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
831023e41d
Migrate PaymentsControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
ff627793d6
Migrate DirectoryControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
f971c76a99
Migrate StickerControllerTest to JUnit 5
2021-07-26 11:18:17 -05:00
Chris Eager
8f41176c76
Enable "sms" transport for +98
2021-07-26 10:40:05 -05:00
Ehren Kret
31bbbbb5e0
Raise default message TTL to 14 days
2021-07-20 14:08:08 -05:00
Jon Chambers
effcd6038d
Also record dimensional metrics for circuit breakers and retries.
2021-07-19 16:56:16 -04:00
Jon Chambers
12be7d49c2
Clear one-time pre-keys on re-registration.
2021-07-19 10:05:01 -04:00
Jon Chambers
14863b575e
Clear one-time pre-keys when a device is unlinked.
2021-07-19 10:05:01 -04:00
Jon Chambers
32a95f96ff
Add a pessimistic locking system for operations on recently-deleted account records
2021-07-16 16:52:58 -04:00
Jon Chambers
b757d4b334
Measure how many "send message" requests are still using e164-based addressing.
2021-07-16 16:52:58 -04:00
Chris Eager
bd03d910fe
Set authenticated device after updating last seen
2021-07-16 16:52:58 -04:00
Chris Eager
01ef855157
Return a non-stale account from base authenticator when last seen is updated
2021-07-16 16:52:58 -04:00
Chris Eager
817866caf3
Use fresh accounts to update in PushFeedbackProcessor
2021-07-16 16:52:58 -04:00
Chris Eager
158d65c6a7
Add optimistic locking to account updates
2021-07-16 16:52:58 -04:00
realturner
62022c7de1
Migrate AppConfig to SDK v2 to detect and use web identify token
2021-07-16 16:48:33 -04:00
Chris Eager
a824b5575d
Add dynamic configuration for using DynamoDB in AccountsDatabaseCrawler
2021-07-06 13:01:24 -05:00
Jon Chambers
78819d5382
Remove expiration logic when checking token validity.
...
The data store will no longer return tokens that have expired, and we no longer need to check for expiration in application space.
2021-07-06 11:03:49 -04:00
Jon Chambers
d128bc782a
Retire Postgres-backed pending account/device tables.
2021-07-06 11:03:49 -04:00
Chris Eager
530b2a310f
Ensure active future is always completed
2021-07-02 15:05:11 -05:00
Chris Eager
d5b0d99a54
Remove unused method
2021-07-02 15:05:11 -05:00
Chris Eager
43be72d076
Add test for ManagedPeriodicWork; fix shutdown not awaiting active execution
2021-07-02 15:05:11 -05:00
Chris Eager
0f6c866c8d
Update imports
2021-07-02 15:05:11 -05:00
Chris Eager
bac78e9291
Switch DeletedAccountsTableCrawler metrics to a basic Metrics#summary
2021-07-02 15:05:11 -05:00
Chris Eager
c22ea78672
Add crawler to process migration retry accounts
2021-07-02 15:05:11 -05:00
Chris Eager
a85afe827d
Avoid NPE by using scheduledFuture as the Gauge state object
2021-07-02 15:05:11 -05:00
Chris Eager
abaed821ec
Add additional case to unit test
2021-07-02 15:05:11 -05:00
Chris Eager
6fa9dcd954
Refactor to use shared recurringJobExecutor
2021-07-02 15:05:11 -05:00
Chris Eager
819d59cd79
Update reconciliation crawler to use secondary index
2021-07-02 15:05:11 -05:00
Chris Eager
2f88f0eedb
Refactor to use single threaded scheduled executor
2021-07-02 15:05:11 -05:00
Chris Eager
74ff491671
Rename ManagedPeriodicWorkCache to ManagedPeriodicWorkLock
2021-07-02 15:05:11 -05:00
Chris Eager
eac48a6617
Don’t delete accounts after reconciling
2021-07-02 15:05:11 -05:00
Chris Eager
19617c14f8
Improved logging in ManagedPeriodcWork
2021-07-02 15:05:11 -05:00
Chris Eager
fc7291c3e8
Migrate DeletedAccountsTableCrawler to ManagedPeriodicWork
2021-07-02 15:05:11 -05:00
Chris Eager
88db808298
Add abstract ManagedPeriodicWork
2021-07-02 15:05:11 -05:00
Chris Eager
5193abdab3
Add DeletedAccountsTableCrawler
2021-07-02 15:05:11 -05:00
Chris Eager
a315c9be92
Add DeletedAccounts DynamoDB table
2021-07-02 15:05:11 -05:00
Chris Eager
fc1541591a
Add AbstractDynamoDbStore#scan
2021-07-02 15:05:11 -05:00
Chris Eager
ae97c4db9f
Use editorconfig in AbstractDynamoDbStore
2021-07-02 15:05:11 -05:00
Chris Eager
26bc5973b5
Clear message queue before and after removing a device
2021-07-02 10:48:42 -05:00
Chris Eager
e52b8c8423
Implement DatadogConfig in DatadogConfiguration
2021-07-02 10:48:05 -05:00
Jon Chambers
7395489bac
Add tests for pending account/device managers.
2021-07-02 11:30:13 -04:00
Jon Chambers
b384ed7f5c
Add a counter for requests for delivery certificates with/without e164s.
2021-07-01 10:59:10 -04:00
Jon Chambers
e3afcae7d3
Gather data to verify safety of retiring legacy reglock system.
2021-07-01 10:58:47 -04:00
Jon Chambers
9faeed7b20
Count E164 authentications versus UUID authentications.
2021-07-01 10:51:34 -04:00
Jon Chambers
49adcca80e
Use Optional.isEmpty().
2021-07-01 10:51:34 -04:00
Jon Chambers
49c43a6816
Simplify distribution summary for "days since last seen."
2021-07-01 10:51:34 -04:00
Jon Chambers
84f85ae098
Collapse various account meters into a single, multi-dimensional counter.
2021-07-01 10:51:34 -04:00
Jon Chambers
3d581941ab
Add plumbing and configuration to migrate pending accounts/devices to DynamoDB.
2021-07-01 10:50:52 -04:00
Jon Chambers
d2d39baede
Add a DynamoDB-backed stored verification code store.
2021-07-01 10:50:52 -04:00
Jon Chambers
111f5ba024
Use java.time classes for stored verification code expiration; add tests.
2021-07-01 10:50:52 -04:00
Jon Chambers
ce3fb7fa99
Extract a common base class for verification code store tests.
2021-07-01 10:50:52 -04:00
Jon Chambers
fc421d3f21
Introduce a common interface for verification code stores.
2021-07-01 10:50:52 -04:00
Jon Chambers
71bea759c6
Consolidate StoredVerificationCode constructors.
2021-07-01 10:50:52 -04:00
Jon Chambers
bf1dd791a5
Drop caching for pending accounts/devices.
2021-07-01 10:50:52 -04:00
Chris Eager
4c99577c08
Add configuration for Datadog batch size
2021-06-30 16:44:25 -05:00
Graeme Connell
5d5c63e6d4
Update profile controller to S3 AWSv2.
2021-06-30 13:09:18 -06:00
Graeme Connell
42ff3f8432
Switch SQS to Amazon SDKv2.
2021-06-30 12:46:12 -06:00
Ehren Kret
7883352b74
Match random capability generation in test
2021-06-21 17:32:31 -05:00
Ehren Kret
982d122d18
Match random capability generation in test
2021-06-21 17:32:31 -05:00
Ehren Kret
d8d94407c6
Create announcement group capability
2021-06-21 17:32:31 -05:00
Chris Eager
28cfc54170
Update FunctionCounter builder to use non-null object and method
2021-06-11 11:27:45 -05:00
Jon Chambers
2ee7279743
Pause nstat counters.
2021-06-11 12:26:56 -04:00
Jon Chambers
eb1b073385
Add a hostname-aware reporter factory.
2021-06-10 14:23:05 -04:00
Jon Chambers
c634185b6f
Standardize a utility method for getting local host names.
2021-06-10 14:23:05 -04:00
Jon Chambers
2c33d22a30
Stop recording specific client versions in metrics until we know we need them again.
2021-06-08 12:25:31 -04:00
Jon Chambers
58d3a12eff
Set hostname to lowercase to avoid strange case mismatch issues; log hostname failures.
2021-06-07 17:17:46 -04:00
Jon Chambers
88c4b2be97
Correct a misunderstanding about the metrics host tag.
2021-06-07 16:29:44 -04:00
Jon Chambers
6cbd57f19f
Include environment/service/version as common metric tags.
2021-06-04 18:17:09 -04:00
Jon Chambers
5522376584
Include a host tag with metrics.
2021-06-04 18:17:09 -04:00
Jon Chambers
5089c37d28
Drop a pair of unused commands.
2021-06-04 12:35:06 -04:00
Jon Chambers
1ccf24e68c
Add a command to check dynamic config files.
2021-06-04 12:34:48 -04:00
Jon Chambers
411f7298f2
Enforce validation constraints for dynamic configuration objects.
2021-06-04 12:34:48 -04:00
Jon Chambers
5b0214c6f2
Make pre-key `take` operations more null-safe
2021-06-04 11:18:59 -04:00
Jon Chambers
735573e61b
Make reporting intervals configurable.
2021-06-03 17:50:41 -04:00
Graeme Connell
c545cff1b3
Switch DynamoDB to AWSv2.
...
Switch from using com.amazonaws.services.dynamodbv2 to using
software.amazon.awssdk.services.dynamodb for all current DynamoDB uses.
2021-06-03 13:37:10 -06:00
Jon Chambers
cbd9681e3e
Configure histograms and exclude high-cardinality metrics.
2021-06-03 14:12:02 -04:00
Jon Chambers
ca876e40ca
Add a second metric aggregator.
2021-06-03 14:12:02 -04:00
Jon Chambers
76f5a71727
Include server version in logging tags
2021-06-03 11:24:25 -04:00
Jon Chambers
117de2382d
Verify that API consumers can skip/clear VOIP tokens.
2021-06-02 16:50:49 -05:00
Jon Chambers
25e7036451
Send a payload with mutable content for non-VOIP topics.
2021-06-02 16:50:49 -05:00
Jon Chambers
3131bd3dd9
Allow iOS callers to specify whether they're providing a VOIP token for preauth.
2021-06-02 16:50:49 -05:00
brock-signal
c97be15e79
Fix NPE when a null message comes in from a client
2021-06-01 15:00:41 -06:00
Ehren Kret
164fc40990
Rename receipt type and add new client-to-client plaintext type for decryption error receipts
2021-05-28 11:33:44 -05:00
Ehren Kret
6456af6284
Upgrade to latest protobuf
...
This upgrades to protobuf 3.17 and uses maven to automatically rebuild
the generated code instead of using prefabricated checked in Java
files.
2021-05-28 11:33:44 -05:00
Ehren Kret
6f0750790c
Add metric to count number of legacy messages sent
2021-05-27 11:13:42 -05:00
Chris Eager
3e61b5c49d
Add call chain and mismatch check for push token timestamp
2021-05-27 11:10:58 -05:00
Chris Eager
5ee093f87c
Add mismatch for signed pre-key; remove mismatch for migration version
2021-05-26 10:58:23 -05:00
Chris Eager
67067f1d2d
Remove last-seen and registration lock comparisons
2021-05-25 10:47:57 -05:00
Ehren Kret
07f9bb112e
Use separate object for multi recipient response
...
`needsSync` was being sent back from the server in the JSON response
which is an unnecessary and constantly false field in multi-recipient
message sending endpoint as it's always sealed sender.
2021-05-25 10:30:39 -05:00
Ehren Kret
417d48c452
Block downgrading sender key support
...
Disallow linking an additional device to an account that has already
upgraded to having sender key support where the linked device does not
have sender key support. This should prompt the person attempting to
link the older application to upgrade in order to complete the linking
process.
2021-05-25 10:30:26 -05:00
Chris Eager
215621a9b0
Remove temporary adaptation for nested `IncomingMessage.online`
2021-05-24 11:36:15 -05:00
Graeme Connell
c3f53c4dd9
Fix infinite loop in TorExitNodeManager.
2021-05-21 14:50:15 -06:00
Graeme Connell
c10b64c367
Simplify S3ObjectMonitor API, try-with-resource.
2021-05-21 14:50:15 -06:00
Graeme Connell
722055c8b5
Switch S3ObjectMonitor to AWSv2 SDK.
2021-05-21 14:50:15 -06:00
Ehren Kret
5290656c3b
Fix typo
2021-05-20 15:11:44 -05:00
Ehren Kret
cf59d849b0
@Min does not apply to byte[] use @Size instead
2021-05-20 10:15:49 -05:00
Ehren Kret
ee3b91e4fb
Register MultiRecipientMessageProvider with the websocket interface too
2021-05-20 10:15:49 -05:00
Jon Chambers
94ac3f6cc8
Return Optional.empty() for present-but-not-routed IPs.
2021-05-18 17:43:30 -04:00
Jon Chambers
b89de860d3
Add support for getting country codes for ASNs.
2021-05-18 17:43:30 -04:00
Jon Chambers
f8c623074b
Introduce an ASN-to-IP manager.
2021-05-18 17:43:30 -04:00
Jon Chambers
1160af9522
Add a utility class for associating IP addresses with ASNs.
2021-05-18 17:43:30 -04:00
Jon Chambers
3056ea8cbc
More clearly separate concerns for explicitly getting monitored objects.
2021-05-18 17:00:30 -04:00
Jon Chambers
28e3b23e8c
Add an "excessively large object" safeguard.
2021-05-18 17:00:30 -04:00
Jon Chambers
fbaf4a09e2
Use the S3 object monitor to retrieve Tor exit node lists.
2021-05-18 17:00:30 -04:00
Jon Chambers
cfa8cbedc1
Introduce an S3 object monitor.
2021-05-18 17:00:30 -04:00
Chris Eager
bacf524ae6
Add optional logging for mismatches
2021-05-18 14:39:30 -05:00
Graeme Connell
aa65d34c36
Set min/max threads for backup/storage service.
...
From https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html :
When a new task is submitted in method execute(java.lang.Runnable),
and fewer than corePoolSize threads are running, a new thread is
created to handle the request, even if other worker threads are idle.
If there are more than corePoolSize but less than maximumPoolSize
threads running, a new thread will be created only if the queue is full.
Since we utilize an unbounded queue, we'll never hit the condition that
the queue is full, so the pool will never grow past corePoolSize. Given
that, explicitly state that our max is 1 thread. This should be a noop
operationally.
Thanks to https://github.com/dropwizard/dropwizard/pull/834 for building
in warnings to help us find this.
2021-05-18 13:34:59 -06:00
Ehren Kret
0cd3640f13
Add more tests
2021-05-18 13:09:40 -05:00
Ehren Kret
c595d9415c
Change from quadratic scan to use more memory instead
2021-05-18 13:09:40 -05:00
Ehren Kret
1a604d8c79
Add unit test to readU16
2021-05-18 13:09:40 -05:00
Ehren Kret
f76e6705c0
Add handling of registration id in multi recipient send payload
2021-05-18 13:09:40 -05:00
Chris Eager
89470ff536
Add class prefix to counter
2021-05-17 17:17:48 -05:00
Chris Eager
d252e579f4
Get more detailzed serialization mismatches
2021-05-17 15:42:54 -05:00
Chris Eager
30b2c2b5ad
Fix observed mismatches by swapping in original UUID
2021-05-17 15:42:17 -05:00
Chris Eager
282f39141e
Add additional tests for AccountStore#create
2021-05-17 15:42:17 -05:00
Chris Eager
85e4de6933
Switch platform value from `null` to "unrecognized" in metrics
2021-05-17 15:41:11 -05:00
Chris Eager
00c9023e74
Include server GUID when sending messages over websocket
2021-05-14 17:10:15 -05:00
Chris Eager
2a3ea13c9e
Classify DynamoDB mismatches in AccountsManager
2021-05-14 15:57:47 -05:00
Ehren Kret
6906336dfb
Include the uuid with the list of mismatched devices
2021-05-14 14:46:56 -05:00
Chris Eager
df01be2dca
Don’t throw exceptions from ReportMessageManager#store()
2021-05-13 18:33:02 -05:00
Chris Eager
e320626c6e
Add report message API
2021-05-13 17:19:34 -05:00
Jon Chambers
03dac2bf7e
Break down rate limit overruns by country.
2021-05-13 18:16:47 -04:00
Ehren Kret
57ff9f86f5
Refactor repeated use of the UserCapabilities constructor
2021-05-13 12:08:59 -05:00
Ehren Kret
bfd2c32d4e
Add sender key capability
2021-05-12 18:15:25 -05:00
Ehren Kret
e9a3d52d7f
Add an optional description to the payment intent request
2021-05-12 18:14:33 -05:00
Jon Chambers
d45154f2aa
Measure captcha challenge success rates.
2021-05-12 12:20:53 -05:00
Chris Eager
760462f8fb
Add configuration for regional SMS verification text
2021-05-12 12:20:46 -05:00
Jon Chambers
46110d4d65
Add client challenges for prekey and message rate limiters
2021-05-11 16:21:32 -05:00
Ehren Kret
02d06af3fc
Replace use of MDC with custom fields on the appender
2021-05-11 14:08:20 -05:00
Ehren Kret
b100f09205
Actually instantiate the donation controller in the service
2021-05-11 10:03:04 -05:00
Ehren Kret
670b69df24
Add host and service tags
2021-05-11 10:03:04 -05:00
Ehren Kret
13ecbe7e53
Fix missing defaults
2021-05-11 10:03:04 -05:00
Ehren Kret
17047513c3
Create stripe api endpoint for apple pay donations
2021-05-11 10:03:04 -05:00
Chris Eager
4571042814
Add missing increment to counter
2021-05-10 10:45:46 -04:00
Ehren Kret
9cb89b42bf
Create a logstash tcp socket appender factory
2021-05-07 16:02:55 -05:00
Jon Chambers
bf32b766a5
Don't generate stack traces for rate limit exceptions.
2021-05-07 10:44:31 -04:00
Jon Chambers
f0a8b5a54a
Allow the environment to manage the Tor exit node manager's lifecycle.
2021-05-06 15:38:24 -04:00
Jon Chambers
b81b811400
Actually instantiate the Tor exit node manager.
2021-05-06 12:21:30 -04:00
Jon Chambers
b41f97233e
Measure source country for all pre-key requests.
2021-05-06 11:58:14 -04:00
Jon Chambers
350de1c759
Add a simple utility class for testing if an IP belongs to a Tor exit node.
2021-05-06 11:57:18 -04:00
Jon Chambers
dfb8a419e7
Include message IDs when sending message batches.
2021-05-04 16:15:04 -04:00
Jon Chambers
cf495ef7cf
Key the message rate limiter to sender e164, not UUID.
2021-05-04 15:18:59 -04:00
Jon Chambers
8fdbcbef44
Send directory updates in batches.
2021-05-04 15:18:43 -04:00
Ehren Kret
1a8c40c02a
Patch code to use new Base64
2021-05-04 13:34:27 -05:00
Ehren Kret
20677d4be1
Fix logic error
2021-05-04 13:34:27 -05:00
Ehren Kret
c448c37cc9
Add logic to handle sending a common payload to multiple recipients
2021-05-04 13:34:27 -05:00
Chris Eager
fac4538f6f
Migrate rate limiters to rate limiter cluster
2021-05-03 10:57:34 -05:00
Chris Eager
7e805d1592
Add rate limiters cluster to all RateLimiters
2021-04-30 17:18:56 -05:00
Chris Eager
0e6cfb460d
Fix potential NullPointerException in RateLimiter
2021-04-30 16:15:36 -05:00
Chris Eager
4f6b132449
Add secondaryCacheCluster to RateLimiter
2021-04-30 15:26:17 -05:00
Ehren Kret
e4dbb8efe7
Fix deserialization for Duration in dynamic config
2021-04-28 15:57:23 -05:00
Jon Chambers
59e401f41e
Use a MIME Base64 decoder for attachment signing keys.
2021-04-26 18:53:15 -04:00
Jon Chambers
6196856a7c
Use the JDK-provided Base64 encoder/decoder.
2021-04-26 18:17:03 -04:00
Jon Chambers
0e8d4f9a61
Drop Bouncy Castle as a dependency.
2021-04-26 17:58:19 -04:00