Commit Graph

646 Commits

Author SHA1 Message Date
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
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