Commit Graph

840 Commits

Author SHA1 Message Date
Jordan Rose
3b91a5d708 net: Parse RetryLater info for SVR-B
Essentially, promotes "decide whether an HTTP status is interesting"
up to the generic "enclave" handling instead of being CDS-specific,
and then propagates the new case all the way out to apps.
2025-08-06 16:05:28 -07:00
Max Moiseev
a357e1c8f4 Reset for version v0.78.2 2025-08-06 11:28:06 -07:00
Jordan Rose
9feb3de9d2 net: SvrError::ConnectionTimeout -> AllConnectionAttemptsFailed
The same error is being used both for timeouts and for "all attempts
failed"; if we're going to coalesce them (reasonable, given that the
only option in either case is "retry" or "don't"), "all attempts
failed" is a less misleading choice.

This changes the particular enum case in Swift from connectionTimedOut
to connectionFailed. Java continues to use NetworkException and
TypeScript the IoError code.
2025-08-01 14:02:54 -07:00
Jordan Rose
59ce2f3f0c Reset for version v0.78.1 2025-07-31 14:00:29 -07:00
Jordan Rose
be9e9a3ab6 Expose SvrB.createNewBackupChain(), make secret data non-optional 2025-07-31 12:37:02 -07:00
andrew-signal
4cff0b3911 Remove the timeout from testToResultFutureCancellationPropagation so it flakes less. 2025-07-31 15:33:15 -04:00
gram-signal
72935510d4 Immediately after a restore, use the same enc_salt/pw_salt for the next backup.
Co-authored-by: Jordan Rose <jrose@signal.org>
2025-07-30 20:14:26 -07:00
Andrew
b76a09d9c7 Reset for version v0.77.2 2025-07-29 20:31:28 -04:00
andrew-signal
f9ca652baf Extend testToResultFutureCancellationPropagation baseFuture.await() timeout 2025-07-29 19:05:23 -04:00
Alex Bakon
bb05cc016e Streamline bridging of SVR-B function arguments 2025-07-29 14:18:16 -04:00
Andrew
b7ebe6833b Reset for version v0.77.1 2025-07-28 19:10:50 -04:00
andrew-signal
d70f913780 Skip non-hermetic SVR-B tests if username or password is not set 2025-07-28 18:51:30 -04:00
andrew-signal
3055e8e2b3 Bridge SVR-B to Kotlin 2025-07-28 18:05:13 -04:00
Jordan Rose
9e9c375db9 Expose BackupForwardSecrecyToken-aware MessageBackupKey derivation 2025-07-28 13:53:19 -07:00
andrew-signal
5bdc3e54f2 Expect correct kind of exception in testConnectCancellationUnauth 2025-07-25 19:31:43 -04:00
Alex Bakon
303b6313bd Expose SVR-B logic from Rust 2025-07-25 17:36:12 -04:00
Jordan Rose
d225a1008d Add CompletableFuture.handle
Co-authored-by: Andrew <andrew@signal.org>
2025-07-25 14:09:07 -07:00
Jordan Rose
a881fcf0f3 java: Align CompletableFuture cancellation behavior with OpenJDK's 2025-07-25 13:24:29 -07:00
gram-signal
3ae977841f Modify backup forward-secrecy-token storage to be more resilient to SVRB communication failures.
Co-authored-by: Alex Bakon <akonradi@signal.org>
2025-07-25 12:35:01 -07:00
andrew-signal
47a4eeabb5 Bridge BackupForwardSecrecyToken to Swift/Kotlin/TypeScript 2025-07-23 19:57:16 -04:00
andrew-signal
ec3c273219 Expose Rust API for SVR-B 2025-07-23 18:59:54 -04:00
Alex Bakon
c913c90aca Reset for version v0.76.8 2025-07-22 16:56:33 -04:00
Alex Bakon
7aef688310 Split Base64 utility to reduce reflection 2025-07-22 15:33:22 -04:00
Max Moiseev
fa287c9fdd Reset for version v0.76.7 2025-07-21 18:04:47 -07:00
Jordan Rose
69f1a54f0c Reset for version v0.76.6 2025-07-18 09:59:41 -07:00
Jordan Rose
821dee54e5 java: Add CompletableFuture.completedFuture()
Matches java.util.concurrent.CompletableFuture's method.
2025-07-17 18:27:39 -07:00
Jordan Rose
04e9d83995 MessageBackupValidationTest.java: "expected, actual" in assertEquals 2025-07-17 10:57:29 -07:00
Jordan Rose
0dc81d3131 backup: Replace bespoke TooShort with io::ErrorKind::UnexpectedEof 2025-07-17 10:57:29 -07:00
moiseev-signal
ca28564e0b java: Address deprecation warning in Curve25519Test 2025-07-16 11:26:31 -07:00
Jordan Rose
d3a54c3c19 java: Fix deprecated ENV syntax in Dockerfile 2025-07-15 18:20:13 -07:00
Jordan Rose
7489feaca4 java: Don't apply Kotlin plugins in the top-level project
Otherwise, IDEs can get confused, since our top-level project has no
'repositories' section.
2025-07-15 18:14:56 -07:00
Jordan Rose
bff304625f java: Only verify dependencies strictly in CI+Docker
Some IDEs download additional artifacts that a plain command-line
Gradle build won't use, which means Gradle won't automatically manage
them in verification-metadata.xml either. Compromise by only strictly
checking dependencies at certain boundaries, rather than on every
build action.
2025-07-15 16:34:29 -07:00
Jordan Rose
a410849578 crypto: Add a stripped-down HPKE API for our Curve25519 keys 2025-07-15 16:17:23 -07:00
andrew-signal
a323900858 Refactor so tests generate legacy key format encrypted file; client tests can use that. 2025-07-15 13:16:06 -04:00
Andrew
c91d44a873 Reset for version v0.76.5 2025-07-14 12:42:28 -04:00
andrew-signal
36797e6eca Update MessageBackupKey derivation logic to use nonce if provided 2025-07-09 13:57:09 -04:00
Jordan Rose
25613c488a android: Add a sealed-sender encrypt benchmark 2025-07-03 11:07:01 -07:00
Jordan Rose
c904fc88bd Set CXXFLAGS in addition to CFLAGS 2025-07-02 13:37:25 -07:00
moiseev-signal
4d187d2452 ci: Run proxy tests in Slow Tests workflow 2025-07-02 13:25:57 -07:00
andrew-signal
7167436147 Expand InvalidSessionException to take a cause 2025-07-02 04:55:16 -04:00
Andrew
3ae165add7 Reset for version v0.76.4 2025-07-01 13:57:06 -04:00
andrew-signal
4a7758e378 Update Sonatype destination URLs as old ones have been deprecated
See: https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/
2025-07-01 13:01:42 -04:00
Andrew
a400a0078c Reset for version v0.76.3 2025-07-01 04:38:10 -04:00
moiseev-signal
71c44d47e1 java: Fix incremental mac finalization. Again. 2025-06-30 18:54:21 -07:00
Jordan Rose
2f6e1cca98 jni: Explicitly keep bridge_handle objects alive while using them
As a bonus, we get a partial check for misuse of mutating APIs.
2025-06-30 15:54:24 -07:00
Alex Bakon
a7f823771f Combine CreateSession push_token, push_token_type
These fields should always be present or absent together.
2025-06-26 17:19:05 -07:00
Max Moiseev
f60748b4aa Reset for version v0.76.2 2025-06-26 12:20:27 -07:00
moiseev-signal
f395e1cb7d java: Make CertificateValidator inheritable for tests 2025-06-25 15:19:36 -07:00
Jordan Rose
8070d6a4e6 Send Accept-Language when connecting a chat socket 2025-06-25 13:16:37 -07:00
Max Moiseev
4f0d39c334 Reset for version v0.76.1 2025-06-24 13:52:50 -07:00