Jon Chambers
0a6d724f2c
Remove GCMSender
2022-08-02 17:31:35 -04:00
Ehren Kret
c38572307d
Remove unused imports
2022-05-20 10:20:45 -07:00
Jon Chambers
7ba0f604e6
Tag the push challenge request counter by country
2022-03-17 16:07:48 -04:00
Jon Chambers
2f6b0b1a55
Tag push challenge attempt metrics by country code
2022-03-16 15:00:04 -04:00
Jon Chambers
c048074c31
Tag captcha attempt metrics with UA platform
2022-03-16 15:00:04 -04:00
Jon Chambers
3a1c716c73
Remove an unused rate limiter
2022-02-25 13:50:17 -08:00
Ravi Khadiwala
f5a75c6319
Simplify RateLimitExceeded with no retry-duration
...
- Avoid passing negative durations in error cases
- Drop unused message
- Return a duration for a bad forwarded-for
2022-02-23 15:25:24 -06:00
Jon Chambers
cbbdea1ba4
Impose more stringent requirements on cardinality checks
2022-01-26 16:13:12 -05:00
Jon Chambers
14cff958e9
Migrate challenge-issuing rate limiters to the abusive message filter
2021-12-03 11:52:58 -05:00
Jon Chambers
9628f147f1
Separate statically- and dynamically-configured rate limiters
2021-12-03 11:01:15 -05:00
Jon Chambers
975f753c2b
Add an endpoint for testing whether an account with a given ACI or PNI exists
2021-11-16 15:08:10 -05:00
Jon Chambers
3b764bed7a
Make DynamicConfigurationManager generic
2021-10-19 11:52:29 -04:00
Chris Eager
b3e6a50dee
Send 508 status code for legacy clients that produce rate limit challenges
2021-08-11 11:57:30 -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
33fb7a72de
Use RecaptchaClient interface
2021-08-02 13:14:44 -05:00
Ehren Kret
2aaddd721f
Rename existing captcha client
2021-08-02 13:14:44 -05:00
Chris Eager
28cfc54170
Update FunctionCounter builder to use non-null object and method
2021-06-11 11:27:45 -05:00
Chris Eager
85e4de6933
Switch platform value from null to "unrecognized" in metrics
2021-05-17 15:41:11 -05:00
Jon Chambers
03dac2bf7e
Break down rate limit overruns by country.
2021-05-13 18:16:47 -04:00
Jon Chambers
d45154f2aa
Measure captcha challenge success rates.
2021-05-12 12:20:53 -05:00
Jon Chambers
46110d4d65
Add client challenges for prekey and message rate limiters
2021-05-11 16:21:32 -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
Sanket.Ghenand@tomtom.com
37bda0b035
remove unused imports
2021-04-13 11:44:59 -05:00
Jon Chambers
af2a8548c3
Use Durations everywhere, drop unused constructors, and add tests.
2021-03-05 12:47:36 -05:00
brock-signal
1faedd3870
Return Retry-After time to clients when they are rate limited ( #421 )
...
* Return Retry-After time to clients when they are rate limited
* Update based on feedback
- New exception type that is mapped differently
- Always report time until allowed on rate limits
- Consume and transform into a differnt exception if we think it will be
allowed later
2021-03-05 10:23:03 -07:00
Jon Chambers
e0ed8fa0b8
Introduce a hyper-log-log-based cardinality rate limiter
2021-02-11 10:36:26 -05:00
Jon Chambers
71510a8199
Decommission the old directory cache.
2021-02-10 11:02:11 -05:00
Moxie Marlinspike
5e1a572bd8
Track impact of unsealed sender rate limits ( #374 )
2021-02-03 08:58:47 -08: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
Jon Chambers
5717dc294e
Combine the read/write breakers for Redis clusters.
2020-08-14 17:15:56 -04:00
Jon Chambers
eea073f882
Decommission the old cache.
2020-07-28 10:29:28 -04:00
Jon Chambers
fc1d88f5bb
Read exclusively from the cache cluster.
2020-07-27 15:11:40 -04:00
Jon Chambers
c5d0d4acd0
Revert "Move rate limiter logic to Lua scripts"
...
This reverts commit b585c6676d .
2020-07-09 12:30:25 -04:00
Jon Chambers
b585c6676d
Move rate limiter logic to Lua scripts
2020-07-06 10:10:13 -04:00
Jon Chambers
7454e55693
Write synchronously to the cache cluster.
2020-06-17 15:38:56 -04:00
Jon Chambers
11196436e9
Time rate limiter validation calls.
2020-06-12 14:43:50 -04:00
Jon Chambers
4c623ca3c5
Compare Redis reads using Lettuce's synchronous path.
2020-06-11 11:50:36 -04:00
Jon Chambers
0671f05c05
Introduce experiment comparison methods for suppliers.
2020-06-11 11:50:36 -04:00
Jon Chambers
52310b5dd9
Compare results of reads from old and new Redis caches.
2020-06-07 18:27:11 -04:00
Jon Chambers
1b5dc0e434
Fixed a potential issue where locks could get out of sync between Redis instances.
2020-06-07 18:27:11 -04:00
Jon Chambers
1388103919
Mirror writes to the cache cluster.
2020-06-06 20:37:48 -04:00
Moxie Marlinspike
ac1153c7cf
Additional limits
2020-03-14 18:10:07 -07:00
Moxie Marlinspike
99c228dd6d
Support for setting and looking up usernames
2019-11-20 12:36:22 -08:00
Moxie Marlinspike
10724fee04
Support for sticker pack uploads
2019-07-24 16:29:56 -07:00