Commit Graph

927 Commits

Author SHA1 Message Date
gram-signal 781cd0ca3f
Truncate SVR2 IDs to 16 bytes rather than 10. 2023-03-30 17:19:18 -06:00
Chris Eager 3ccfeb490b Add retry after exceptions during a cluster topology change event callback 2023-03-29 11:41:19 -05:00
Chris Eager 0cc84131de Add `enabled` to SVR2 configuration 2023-03-29 11:40:21 -05:00
Chris Eager 4fa08fb189 Add secure value recovery 2 to `AccountsManager#delete()` 2023-03-29 11:40:21 -05:00
Chris Eager 2a551d1d41 Add `SecureValueRecovery2Client` 2023-03-29 11:40:21 -05:00
Chris Eager 391aa9c518 Wrap runtime exceptions during WebSocket auth into AuthenticationException 2023-03-29 10:08:55 -05:00
Chris Eager f5c62a3d85 Migrate from bounded elastic to dedicated executor for message delivery 2023-03-22 12:57:44 -05:00
Chris Eager 6075d5137b Add `/v2/accounts/data_report` 2023-03-22 12:57:21 -05:00
ravi-signal 890293e429
change v1/challenge response for invalid captcha 2023-03-21 17:38:30 -05:00
Ravi Khadiwala ee53260d72 Add filter-provided captcha score thresholds 2023-03-21 17:34:58 -05:00
Ravi Khadiwala a8eb27940d Add per-action captcha site-key configuration
- reject captcha requests without valid actions
- require specific site keys for each action
2023-03-21 17:34:58 -05:00
Katherine Yen a3a7d7108b
Change reglock expiration check to be > 0 instead of >= 0 2023-03-21 12:46:35 -07:00
Jon Chambers 35606a9afd Send "account already exists" flag when creating registration sessions 2023-03-20 15:18:55 -04:00
Chris Eager 292f69256e Refactor WebSocket message sending error and completion to subscriber from “doOn…” 2023-03-17 12:42:57 -05:00
Sergey Skrobotov c14ef7e6cf migrate token bucket redis record format from json to hash: phase 2 2023-03-16 09:15:22 -07:00
Sergey Skrobotov 483e444174 migrate token bucket redis record format from json to hash: phase 1 2023-03-15 16:01:06 -07:00
Sergey Skrobotov ebf8aa7b15 fixing embedded redis based tests 2023-03-15 13:56:40 -07:00
Sergey Skrobotov 4c85e7ba66 Moving RateLimiter logic to Redis Lua and adding async API 2023-03-13 14:50:26 -07:00
Katherine Yen 46fef4082c
Add metrics for registration lock flow 2023-03-09 09:07:21 -08:00
Ravi Khadiwala c06313dd2e Drop tagging for legacy user agents 2023-03-09 10:43:45 -06:00
Ravi Khadiwala 59bc2c5535 Add by-action captcha score config
Enable setting different captcha score thresholds for different captcha
actions via configuration
2023-03-09 10:43:16 -06:00
Chris Eager 437bc1358b Use server timestamp for queue score 2023-03-06 11:31:11 -06:00
Chris Eager 179f3df847 Allow `DisabledPermittedAuthenticatedAccount` at `/v1/accounts/me` 2023-03-03 13:17:17 -06:00
Chris Eager 8a889516b0 Improve `LoggingUnhandledExceptionMapper` combination with `CompletionExceptionMapper` 2023-03-03 13:17:07 -06:00
Chris Eager ef2cc6620e Add `@Produces` annotation for validation error response 2023-02-27 16:33:18 -06:00
Sergey Skrobotov b9b4e3fdd8 Adding a uniform configuration for all json/yaml mapper use cases: part 1 2023-02-23 16:38:48 -08:00
Sergey Skrobotov 7529c35013 Rate limiters code refactored 2023-02-23 10:49:06 -08:00
erik-signal 378b32d44d
Add missing token field to OutgoingMessageEntity 2023-02-23 11:18:07 -05:00
Chris Eager 35286f838e
Add `/v1/verification` 2023-02-22 14:27:05 -06:00
Jon Chambers e1ea3795bb Reuse registration sessions if possible when requesting pre-auth codes 2023-02-22 12:45:26 -05:00
erik-signal 95237a22a9
Relax validation to allow null reporting tokens. 2023-02-22 11:06:51 -05:00
Katherine Yen 11c93c5f53
Keep username hash during reregistration 2023-02-21 09:07:30 -08:00
Jon Chambers b59b8621c5 Add reporter platform as a reported message dimension 2023-02-17 16:44:13 -05:00
Chris Eager 44c61d9a58 Allow updates if the profile already has a payment address 2023-02-17 16:44:01 -05:00
Katherine Yen c03060fe3c
Phone number discoverability update endpoint 2023-02-10 11:52:51 -08:00
Chris Eager c16006dc4b Add `PUT /v2/account/number` 2023-02-10 12:09:03 -06:00
Sergey Skrobotov 8fc465b3e8
removing redundant logic in new registration flow 2023-02-09 09:06:48 -08:00
Chris Eager e23386ddc7
Remove unused JUnit extension from test 2023-02-09 09:05:11 -08:00
Jon Chambers 0f17d63774
Add tests for `ProvisioningController` 2023-02-09 09:04:52 -08:00
Katherine Yen 4fc3949367
Add zkproof validation in username flow 2023-02-09 09:02:53 -08:00
Sergey Skrobotov 7558489ad0 Registration Recovery Password support in `/v1/registration` 2023-02-08 13:20:23 -08:00
Katherine Yen 4a3880b5ae
`usernameHashes` on reserve request can't be null 2023-02-07 08:44:04 -08:00
Chris Eager a4a45de161
Add `/v1/registration` 2023-02-06 16:11:59 -06:00
Chris Eager 358a286523
Use `java.util` Hex and Base64 codecs 2023-02-06 12:16:59 -06:00
Sergey Skrobotov 8afe917a6c Registration recovery passwords store and manager 2023-02-03 16:33:03 -08:00
Katherine Yen 24f515ccb4
Revert "Revert "Stored hashed username"" 2023-02-02 11:20:44 -08:00
Katherine Yen c98b54ff15
Revert "Stored hashed username" 2023-02-01 14:31:44 -08:00
Katherine Yen d93d50d038
Stored hashed username 2023-02-01 12:08:25 -08:00
Sergey Skrobotov 8d0e23bde1 AuthenticationCredentials name changed to SaltedTokenHash 2023-01-30 15:45:24 -08:00
Sergey Skrobotov dc8f62a4ad `/v1/backup/auth/check` endpoint added 2023-01-30 15:39:42 -08:00
Jon Chambers cd4a4b1dcf Retire `VoiceVerificationController` 2023-01-30 16:28:14 -05:00
Jon Chambers 38a0737afb Retire `ReportSpamTokenHandler` interface in favor of `ReportedMessageListener` 2023-01-30 16:27:54 -05:00
Jon Chambers 4a2768b81d Add spam report token support to `ReportedMessageListener` 2023-01-30 16:27:54 -05:00
Jon Chambers 00e08b8402 Simplify parsing/validation of spam report tokens 2023-01-30 16:27:54 -05:00
erik-signal a89e30fe75
Clarify naming around spam filtering. 2023-01-27 11:40:33 -05:00
Sergey Skrobotov c934405a3e fixing config field names 2023-01-25 17:28:03 -08:00
Sergey Skrobotov eb499833c6 refactoring of ExternalServiceCredentialGenerator 2023-01-25 15:20:28 -08:00
Chris Eager dd98f7f043 Support changing just the currency of an existing subscription 2023-01-25 15:14:17 -06:00
Chris Eager e8978ef91c Add tests for `SubscriptionController#setSubscriptionLevel` 2023-01-25 15:14:17 -06:00
erik-signal ab26a65b6a
Introduce spam report tokens 2023-01-19 11:13:43 -05:00
Chris Eager f361f436d8
Support PayPal for recurring donations 2023-01-17 12:20:17 -06:00
Chris Eager e6ab97dc5a Update enabled-required authenticator metrics 2023-01-13 14:05:56 -06:00
Chris Eager b8967b75c6 Update dropwizard to 2.0.34 2023-01-13 12:17:39 -06:00
Fedor Indutny 96b753cfd0
Add an extra kb to max sticker size 2023-01-13 12:07:45 -06:00
Jon Chambers 5a89e66fc0 Convert `AccountIdentityResponse` to a record 2023-01-13 12:36:17 -05:00
Jon Chambers b4a143b9de Convert `RegistrationLockFailure` to a record 2023-01-13 12:36:02 -05:00
Jon Chambers 050035dd52 Convert `ExternalServiceCredentials` to a record 2023-01-13 12:36:02 -05:00
Jon Chambers 7018062606 Explicitly create registration sessions 2023-01-09 15:27:07 -05:00
Jon Chambers 9e1485de0a Assume stored verification codes will always have a session ID instead of a verification code 2023-01-09 15:27:07 -05:00
Jon Chambers 4e358b891f Retire `StoredVerificationCode#twilioVerificationSid` 2023-01-09 15:27:07 -05:00
Chris Eager b02b00818b Remove `Subscriptions.PCI` attribute 2023-01-04 11:31:46 -06:00
Chris Eager 010f88a2ad Remove `Subscriptions.C` attribute 2023-01-04 11:31:46 -06:00
Jon Chambers a60450d931 Convert `UserCapabilities` to a record 2022-12-21 16:26:07 -05:00
Katherine Yen cb5d3840d9
Add paymentActivation capability 2022-12-20 09:20:42 -08:00
Fedor Indutny 9aceaa7a4d
Introduce ArtController 2022-12-19 11:58:16 -08:00
Ravi Khadiwala 65ad3fe623 Add hCaptcha support 2022-12-16 11:28:30 -06:00
Katherine Yen 26f5ffdde3
Enable case-sensitive usernames 2022-12-13 07:59:37 -08:00
Chris Eager 2f21e930e2 Add `minimum` one-time donation amont to validation error map 2022-12-06 16:21:15 -06:00
Sergey Skrobotov 9cf2635528 some accounts classes refactorings 2022-12-05 09:30:40 -08:00
Chris Eager 2ecbb18fe5 Add support for one-time PayPal donations 2022-12-01 18:11:35 -06:00
Chris Eager df8fb5cab7 Move messages cache stale discard to a separate scheduler 2022-12-01 18:09:28 -06:00
katherine-signal 99ad211c01 Enforce minimum amount by currency for one time donations 2022-11-28 11:44:59 -08:00
katherine-signal fb4ed20ff5
Remove groups v2 capability
* wip removing groups v2 capabilities

* comments

* finish removing groups v2 references

* hardcode gv1migration flag on user capability, remove other references
2022-11-21 09:31:47 -08:00
Jon Chambers cb50b44d8f Allow the account cleaner to operate on multiple accounts in parallel 2022-11-18 11:15:00 -05:00
Jon Chambers 2881c0fd7e Allow the account cleaner to act on all accounts in a crawled chunk 2022-11-18 11:15:00 -05:00
Chris Eager 483fb0968b Use badge name in level configuration for one-time donations 2022-11-18 11:05:23 -05:00
Jon Chambers e8ee4b50ff Retire the legacy "abusive hosts" system in favor of newer tools 2022-11-18 10:54:25 -05:00
Chris Eager 4f8aa2eee2 Mark flaky test `@Disabled` 2022-11-17 13:23:42 -06:00
Chris Eager 397d3cb45a
Add consolidated subscription configuration API 2022-11-16 12:27:00 -06:00
Chris Eager 986545a140
Set `error_if_incomplete` for subscription payment behavior 2022-11-16 12:08:21 -06:00
Sergey Skrobotov 836307b0c7 adding a metric for ipv4/ipv6 requests count 2022-11-15 11:17:01 -08:00
Sergey Skrobotov c32067759c refactoring: use constants for header names 2022-11-15 11:16:49 -08:00
Chris Eager f41bdf1acb Make `MessagesController#getPendingMessages` fully async 2022-11-11 13:19:57 -06:00
Chris Eager 77d691df59 Always use reactived message processing in `WebSocketConnection` 2022-11-11 13:14:39 -06:00
Jon Chambers a01f96e0e4 Temporarily disable account freezing on contention 2022-11-10 18:53:58 -05:00
Jon Chambers d3f0ab8c6d
Introduce an alternative exchange rate data provider 2022-11-10 10:25:06 -05:00
erik-signal 80a3a8a43c Lock account when number owner lacks registration lock. 2022-11-09 14:03:09 -05:00
Chris Eager e0178fa0ea Move additional handling of `MessagesManager#delete` to executor 2022-11-03 13:02:25 -05:00
Jon Chambers afda5ca98f Add a test for checking push challenge tokens 2022-11-03 11:14:59 -05:00
Chris Eager fbf6b9826e tests: only call `SQLite.setLibraryPath` once 2022-11-03 11:08:43 -05:00