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
Chris Eager
62315f423c
Record duration of successful verifications
2021-04-26 14:31:52 -05:00
Chris Eager
5ee56b022c
Add CustomFriendlyName parameter to Twilio Verify requests
2021-04-26 14:31:52 -05:00
Chris Eager
6c37b658ac
Migrate VoiceVerificationControllerTest to JUnit 5
2021-04-26 14:31:52 -05:00
Chris Eager
1f53900345
Migrate VoiceVerificationController to Util#findBestLocale
2021-04-26 14:31:52 -05:00
Chris Eager
deece33a0d
Fix parameterized testWhoAmI
2021-04-26 14:31:52 -05:00
Chris Eager
13053da97f
Add Twilio Verify experiment to AccountController
2021-04-26 14:31:52 -05:00
Chris Eager
4c019aef15
Migrate PendingAccountsTest to JUnit 5
2021-04-26 14:31:52 -05:00
Chris Eager
bab5e5769b
Add TwilioVerifyExperimentEnrollmentManager
2021-04-26 14:31:52 -05:00
Chris Eager
f68390e96f
Add Twilio Verify methods to SmsSender
2021-04-26 14:31:52 -05:00
Chris Eager
76cbf734ad
Add TwilioVerifySender to TwilioSmsSender
2021-04-26 14:31:52 -05:00
Chris Eager
17ba630014
Add TwilioVerifySender
2021-04-26 14:31:52 -05:00
Chris Eager
3121867f72
Remove incorrect license header
2021-04-23 13:27:22 -05:00
Chris Eager
f190462879
Fully implement unsealed sender cardinality rate limiter
2021-04-23 11:45:53 -05:00
Chris Eager
ac72c8b2de
Remove log
2021-04-22 18:15:52 -05:00
Chris Eager
6c6f073bc2
Pass re-migration account in test
2021-04-22 17:11:10 -05:00
Chris Eager
0663fe30df
Add cancellation reason codes to error logging
2021-04-22 17:11:10 -05:00
Chris Eager
b6cb23cbb5
Handle potentially null item from Dynamo delete outcome
2021-04-22 15:24:58 -04:00
Chris Eager
b75456acf3
Allow migration thread pool to be scaled up
2021-04-21 15:23:02 -05:00
Chris Eager
abafa2ccac
Include ATTR_MIGRATION_VERSION in update()
2021-04-21 14:13:13 -05:00
Jon Chambers
b75dec40ac
Drop syslog4j in favor of Dropwizard's/Logback's syslog appender.
2021-04-21 11:23:52 -05:00
Chris Eager
5974328d9c
Ensure accounts are deleted after batch migration; store migration failures for later processing
2021-04-21 11:13:07 -05:00
Chris Eager
a472774734
Add threadpoool to increase Accounts → Dynamo migration throughput
2021-04-21 11:13:07 -05:00
Chris Eager
166d203e8e
Don’t PUT unmigrated accounts in update()
2021-04-21 11:13:07 -05:00
Chris Eager
f2a1a65a45
Migrate MessageControllerTest to JUnit 5
2021-04-20 13:00:29 -05:00
Chris Eager
b7c56108ca
Rate limit unsealed sender by E164
2021-04-20 13:00:29 -05:00
Jon Chambers
52478e7de0
Test the account crawler against a real redis cluster.
2021-04-20 13:58:27 -04:00
Chris Eager
59bbd0c43c
Add Accounts DynamoDB
...
* Add additional test cases to AccountsTest
* Migrate AccountsManagerTest to JUnit 5
* Add AccountsDynamoDbConfiguration
* Add Account.dynamoDbMigrationversion
* Add DynamicAccountsDynamoDbMigrationConfiguration
* Add AccountsDynamoDb to AccountsManager
* Add AccountsDynamoDbMigrator
2021-04-16 14:24:24 -05:00
Jon Chambers
4d33ba48cc
Discard some tools intended to detect abusive behavior that turned out to not actually be that helpful.
2021-04-14 11:18:19 -04:00
Sanket.Ghenand@tomtom.com
14f5271c20
logger use current class
2021-04-13 11:44:59 -05:00