Ravi Khadiwala
19944bfdb2
Update to libsignal 0.45 and use libsignal's BackupLevel
2024-04-25 16:54:41 -05:00
Jon Chambers
8999f0104f
Trigger pub/sub events for one-time donations via Braintree (PayPal)
2024-04-24 09:19:21 -04:00
Jon Chambers
516c481e94
Pass a `CurrencyConversionManager` to `BraintreeManager`
2024-04-24 09:19:21 -04:00
Jonathan Klabunde Tomer
f0dcd8e07b
Group Send Endorsement support for unversioned profile fetch
2024-04-23 14:58:19 -07:00
ravi-signal
9ef1fee172
Add DELETE `v1/archives`
2024-04-23 16:50:11 -05:00
Jonathan Klabunde Tomer
b3bd4ccc17
simplify profile auth
2024-04-23 14:49:04 -07:00
Jon Chambers
ed72d7f9ec
Attach client platforms when creating donations
2024-04-22 09:31:57 -04:00
Jonathan Klabunde Tomer
b8f64fe3d4
Group Send Endorsement support for pre-key fetch endpoint
2024-04-19 15:40:46 -07:00
Chris Eager
ab64828661
Update custom Gauges to Micrometer MeterBinders
2024-04-17 17:43:34 -05:00
Jonathan Klabunde Tomer
ada589d0c3
accept Group Send Endorsements for single-recipient message send
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2024-04-16 15:06:40 -07:00
Chris Eager
a302275187
Use a single cluster instance in MessagesCache
2024-04-16 12:04:18 -05:00
Chris Eager
b734d58ab7
Coalesce all Redis clusters to per-shard circuit breakers
2024-04-16 12:04:18 -05:00
Chris Eager
9cad2c6b7d
Improve test Redis cluster setup and teardown
2024-04-15 15:58:23 -05:00
ravi-signal
00ca7d5942
Add cdn number query parameter to `/archives/auth/read`
2024-04-15 13:59:14 -05:00
ravi-signal
d36df3eaa9
Add new upload-for-copy backup endpoint
2024-04-15 13:47:46 -05:00
ravi-signal
e5d654f0c7
Add `/v1/archives/redeem-receipt`
2024-04-15 13:47:02 -05:00
Chris Eager
fc1f471369
Use per-shard circuit breakers for additional Redis clusters
2024-04-15 13:45:24 -05:00
Chris Eager
2dc707d86e
Add per-shard Redis circuit breakers
2024-04-12 11:22:41 -05:00
Chris Eager
05a92494bb
Remove X-Forwarded-For from RemoteAddressFilter
2024-04-11 11:03:37 -05:00
Alex Konradi
39fd955f13
Allow clients to request zkc-based auth creds
...
Allow clients to pass a zkcCredential=true query parameter to request the new
auth credential format implemented with the zkcredential Rust library.
2024-04-11 11:00:10 -05:00
ravi-signal
4863e1d227
Add backup levels to subscription configuration response
2024-04-11 10:58:40 -05:00
Jonathan Klabunde Tomer
2b652fe2a9
accept group send endorsements for multi-recipient sends
2024-04-10 16:51:09 -07:00
Chris Eager
5b97bc04e0
Add ExternalRequestFilter
2024-04-04 16:24:20 -05:00
Ravi Khadiwala
63c8b275d1
Return 401 instead of 404 on unknown backup-ids
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
1ebc17352f
Check presentation before verifying the signature
2024-04-04 10:56:48 -05:00
Ravi Khadiwala
3a1ecb342f
allow striping clients in FaultTolerantHttpClient
2024-04-04 10:47:34 -05:00
Jon Chambers
796dce3cd3
Always use the "peek" strategy for counting one-time pre-keys
2024-04-02 10:31:20 -04:00
Katherine
d002e5dda8
Hardcode `paymentActivation` flag to `true`
2024-04-01 15:07:11 -07:00
Chris Eager
89cb821c97
Remove vavr dependency
2024-04-01 17:06:55 -05:00
Ravi Khadiwala
831c9ff5bf
Make backupDir/mediaDir indirect
2024-04-01 13:45:21 -05:00
Ravi Khadiwala
de37141812
Add a crawler that expires old backups
2024-04-01 13:45:21 -05:00
Ravi Khadiwala
de9eaa98db
404 instead of 400 on unknown source cdn
2024-03-27 17:00:37 -05:00
ravi-signal
37b657cbbd
avoid baos::writeTo on virtual threads
2024-03-27 16:58:38 -05:00
Jon Chambers
8a587d1d12
Rename `NoiseStreamHandler` to `NoiseTransportHandler` for consistency with Noise specification terminology
2024-03-27 17:57:46 -04:00
Jon Chambers
aec6ac019f
Introduce a Noise-over-WebSocket client connection manager
2024-03-22 15:20:55 -04:00
Ravi Khadiwala
075a08884b
Preserve backupCredentialRequest across rereg
2024-03-22 14:19:35 -05:00
Jon Chambers
6fcb2ab5dd
Remove username phased rollout plumbing (usernames are now available to everybody)
2024-03-21 13:42:20 -04:00
ameya-signal
7f0f045f29
Minor cleanup of report spam endpoint ( #1979 )
2024-03-21 10:41:25 -07:00
Ravi Khadiwala
e7d1eadf8e
Fix experiments in BackupAuthManager
2024-03-20 11:43:07 -05:00
Chris Eager
2c2b5d555e
Rename obsolete uses of recaptcha
2024-03-13 16:40:32 -05:00
Alex Konradi
0ab2428d87
Don't produce zkgroup auth creds with PNI as ACI
2024-03-13 16:22:45 -05:00
Chris Eager
8574494573
Support "captcha" rename in AnswerChallengeRequest.type
2024-03-13 16:19:05 -05:00
Chris Eager
3dadaf9334
Migrate DynamicConfigurationManager to use java.util.concurrent
2024-03-08 13:53:28 -06:00
Ravi Khadiwala
9e510a678c
disable response buffering on the websocket
...
Jersey buffers responses (by default up to 8192 bytes) just so it can
add a content length to responses. We already buffer our responses to
serialize them as protos, so we can compute the content length
ourselves. Setting the buffer to zero disables buffering.
2024-03-08 13:46:00 -06:00
Chris Eager
9f6a6d7f5b
Include HTTP/2 stream idle timeouts in IOExceptionMapper
2024-03-06 11:11:39 -06:00
Ravi Khadiwala
3cc740cda3
Temporarily hold a username after an account releases it
2024-03-06 11:09:25 -06:00
Ravi Khadiwala
47b24b5dff
Simplify username operations in `Accounts`
...
- Group username table constants together
- Rethrow JsonProcessingException earlier
- Use UpdateAccountSpec.forAccount in username operations
- Inline confirm/clear transaction helpers
2024-03-06 11:09:25 -06:00
adel-signal
8f100a792e
calling: update TurnCallRouter to reduce returned options
2024-03-05 11:26:19 -08:00
ravi-signal
2adf1e5017
Avoid modification of Account from `@ReadOnly` endpoint
2024-02-28 15:18:12 -06:00
Jon Chambers
d1d03f45c5
Resolve warnings throughout `AccountControllerTest`
2024-02-26 16:11:03 -05:00
Jon Chambers
d018efe2a5
Require non-null proofs in "confirm username hash" requests
2024-02-26 10:30:52 -05:00
Katherine
12c6af23ee
Map TransactionConflict to ContestedOptimisticLockException in username flows
2024-02-23 14:06:03 -08:00
Ravi Khadiwala
69330f47fd
Explicitly call spam-filter for verification session updates
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 16:04:24 -06:00
Ravi Khadiwala
4f40c128bf
Explicitly call spam-filter for challenges
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-23 15:58:52 -06:00
adel-signal
665a26d164
update call routing to return ipv6 ips in RFC3986 format
2024-02-23 11:57:58 -05:00
Jon Chambers
a5774bf6ff
Introduce a (dormant) Noise/WebSocket for future client/server communication
2024-02-23 11:42:42 -05:00
Jon Chambers
d2716fe5cf
Add an endpoint for checking that clients and the server have a common view of the client's repeated-use keys
2024-02-23 11:41:58 -05:00
Jon Chambers
279f877bf2
Validate pre-key signatures via the legacy "set signed pre-key" endpoint
2024-02-23 11:33:41 -05:00
Ravi Khadiwala
26ffa19f36
Lifecycle management for Account objects reused accross websocket requests
2024-02-22 12:05:32 -06:00
Jon Chambers
29ef3f0b41
Add tests and metrics for parsing invalid keys
2024-02-21 15:32:25 -05:00
Jon Chambers
6ac2460eb0
Drop the "key without version byte" counter
2024-02-21 15:32:25 -05:00
Jon Chambers
4aa4246695
Clear account records from the account cache after username operations
2024-02-20 12:11:29 -05:00
Chris Eager
1bebceb29c
Actually fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-20 10:52:04 -06:00
Jon Chambers
a2139ee236
Revert "Add diagnostic dimensions to the "get keys" counter"
...
This reverts commit cd64390141
.
2024-02-18 20:14:05 -05:00
Jon Chambers
8c55f39cdf
Revert "Use a phased enrollment strategy for the `pnp` compatibility flag"
...
This reverts commit 3e12a8780d
.
2024-02-18 20:08:39 -05:00
Chris Eager
0329184c94
Fix flaky test in MetricsHttpChannelListenerIntegrationTest
2024-02-18 20:08:29 -05:00
Jon Chambers
cd64390141
Add diagnostic dimensions to the "get keys" counter
2024-02-18 18:10:58 -05:00
Jon Chambers
3e12a8780d
Use a phased enrollment strategy for the `pnp` compatibility flag
2024-02-18 17:59:00 -05:00
Chris Eager
9ce2b7555c
Add static servlet paths to MetricsHttpChannelListener
2024-02-14 17:09:30 -06:00
Jon Chambers
5ff092e541
Retire the `pni` device capability
2024-02-14 18:04:23 -05:00
Chris Eager
9745854ab8
Switch MetricsHttpChannelListener to ContainerResponseFilter
2024-02-14 13:43:23 -06:00
Jon Chambers
7124621f66
Use pre-calculated pre-key counts when possible
2024-02-14 14:28:33 -05:00
Jonathan Klabunde Tomer
40d698f2db
Remove last vestiges of stale capabilities.
...
Not for deployment until 2024-02-06!
2024-02-14 14:23:05 -05:00
Chris Eager
699b0c775a
Add dynamic configuration to enable detailed Lettuce metrics
2024-02-13 10:33:43 -06:00
Chris Eager
ff59ef8094
Add MetricHttpChannelListener
2024-02-13 10:29:03 -06:00
adel-signal
d1f68eacd9
Add call routing API endpoint for turn servers
2024-02-09 11:12:23 -08:00
Jon Chambers
4f45f23094
Prevent old versions of the Android app from carrying out "change phone number" requests
2024-02-09 09:58:38 -05:00
Jon Chambers
c5dc01ee11
Restore high-cardinality Lettuce metrics for debugging
2024-02-08 19:27:56 -05:00
Ravi Khadiwala
3b44ed6d16
Explicitly call spam-filter for messages
...
Pass in the same information to the spam-filter, but just use explicit
method calls rather than jersey request filters.
2024-02-07 14:30:32 -06:00
Chris Eager
0965ab8063
Move HeaderUtils#getMostRecentyProxy to RemoteAddressFilter
2024-02-07 14:28:37 -06:00
Chris Eager
2ab14ca59e
Refactor remote address/X-Forwarded-For handling
2024-02-05 13:37:06 -06:00
Chris Eager
c838df90ef
Add HttpServletRequestUtil
2024-01-31 17:53:47 -06:00
Chris Eager
2d4d37f96a
Translate TransactionCanceledException to ContestedOptimisticLockException in Accounts#changeNumber
2024-01-31 17:27:16 -06:00
Ravi Khadiwala
50f1ed7851
Add a virtual-thread backed `@ManagedAsyncExecutor`
2024-01-31 14:38:50 -06:00
ravi-signal
b483159b3a
reintroduce VirtualThreadPinEventMonitor
2024-01-31 14:28:12 -06:00
ravi-signal
480abebf7e
Offload account lock updates to accountLockExecutor
2024-01-31 14:27:16 -06:00
Ravi Khadiwala
b924dea045
Remove VirtualThreadPinEventMonitor
2024-01-30 13:49:39 -06:00
Ravi Khadiwala
2c1e7e5ed6
Disable flaky VirtualThreadPinEventMonitorTest
2024-01-30 13:29:58 -06:00
Ravi Khadiwala
4dfd74906c
Add timeouts to VirtualThreadPinEventMonitorTest
2024-01-30 13:10:43 -06:00
ravi-signal
0e6242373e
Add a monitor for virtual thread pin events
2024-01-30 12:48:07 -06:00
ravi-signal
36e7772f74
Put some validation on to profile version strings
...
Co-authored-by: Jon Chambers <63609320+jon-signal@users.noreply.github.com>
2024-01-26 15:24:38 -06:00
Jon Chambers
6c13193623
Add a data store for client public keys for transport-level authentication/encryption
2024-01-26 10:29:59 -05:00
Ravi Khadiwala
1428ca73de
Make identity token fetcher more async friendly
...
After the identity token expires a subsequent call would do a blocking
operation to retrieve the new token. Since we're making use of an async
gRPC client, this tends to block a thread we don't want to be blocking
on.
Instead, switch to periodically refreshing the token on a dedicated
thread.
2024-01-25 13:01:21 -06:00
Katherine
498ace0488
Remove iOS special case handling logic for SEPA/iDEAL
2024-01-25 10:52:17 -08:00
Jon Chambers
595cc55578
Retire the `returnPqKey` flag when fetching pre-keys
2024-01-23 16:01:40 -05:00
Jonathan Klabunde Tomer
21d0ffc990
Allow "reserving" one's own committed username hash
2024-01-23 12:44:55 -08:00
Ravi Khadiwala
3820a231ec
Strictly enforce ACI service identifier strings have no prefix
2024-01-22 11:23:33 -06:00
Ravi Khadiwala
f5080f9bd6
Support configurable verification code sender overrides
2024-01-19 13:58:17 -06:00
ravi-signal
70134507f8
Add metric for ServiceId string parsing
2024-01-19 13:56:47 -06:00
Ravi Khadiwala
360a4793ae
Remove global lock in RateLimitChallengeManager
2024-01-19 13:56:09 -06:00