Andrew
a282afe43f
Fix testFutureFromRustCancel
2025-05-20 15:11:19 -04:00
Alex Bakon
bf1e08b427
Check for cancellation of Rust task in test
2025-05-20 14:15:23 -04:00
Jordan Rose
0e1ec3909b
bridge: Require that PreKeyBundles have Kyber pre-keys
...
Support for starting sessions with pre-quantum X3DH has been removed
from Swift, Java, and TypeScript. PQXDH will be required going
forward.
2025-05-19 12:25:53 -07:00
moiseev-signal
a823fd4a14
keytrans: Remove SearchResult type
2025-05-16 11:33:31 -07:00
andrew-signal
eaa32e1b4c
Bridge CompletableFuture Cancellation to Android
2025-05-16 11:23:37 -04:00
Alex Bakon
5f56145e74
Bridge re-register account function
2025-05-15 16:00:29 -04:00
moiseev-signal
15f398452b
Java: fix the incremental mac test failure
2025-05-13 17:15:25 -07:00
moiseev-signal
4975cf230a
Java: Improve native handle management for incremental MAC
2025-05-13 13:30:24 -07:00
Michelle Tang
f1142dbebd
Java: Improve incremental MAC InputStream implementation
...
Co-authored-by: Max Moiseev <moiseev@signal.org >
2025-05-13 12:46:12 -07:00
Jordan Rose
26d92fb09e
jni: Add a debug mode to type-tag bridged object handles
...
Use `./gradlew -P jniTypeTagging` to build with type tags enabled.
This has a moderate code size cost, and an unmeasured cost in run-time
performance. On 64-bit targets, the tagging relies on bits 48..56 of
pointers produced by the default Rust memory allocator being unused
(specifically 0), which they are on all our current targets.
2025-05-12 08:37:08 -07:00
andrew-signal
ec49709fa6
Fix deadlock in CompletableFuture by releasing lock while calling completion callbacks
2025-05-01 14:10:50 -05:00
andrew-signal
483070bc61
Add more detailed context to Java exceptions thrown due to failed futures
2025-05-01 12:31:39 -05:00
Alex Bakon
b95359ced8
Allow using registration client to check SVR2 credentials
2025-05-01 08:51:00 -04:00
Alex Bakon
890ac9e006
Enable account registration via Java registration service client
2025-04-29 13:41:51 -04:00
Alex Bakon
8f1baf561c
Use an enum value for IdentityKeyStore.saveIdentity in libraries
2025-04-25 12:52:58 -04:00
Alex Bakon
e0e79e567c
Bridge register account error to Java
2025-04-25 10:33:12 -04:00
Alex Bakon
b749afc059
Bridge RegisterAccountResponse to Java
2025-04-22 14:30:14 -04:00
Alex Bakon
a8d4849c9e
Add Java type for public parts of a signed prekey
2025-04-21 16:29:56 -04:00
Alex Bakon
f0b83376e4
Don't bridge SessionRecord test-only code in real .so
2025-04-18 15:06:32 -04:00
Alex Bakon
a88a1b873e
Accept languages list for SMS/call verification
2025-04-11 16:57:04 -04:00
Alex Bakon
0d916d3aa0
Bridge registration client to Java
2025-04-09 18:57:07 -04:00
Alex Bakon
5d7ce2d165
Remove app language code marked as deprecated
2025-04-09 15:41:35 -04:00
Jordan Rose
73494c21a0
java: Demote BridgedStringMap.dump() to package visibility
...
Testing-only API should be restricted as much as possible, so it
doesn't accidentally get referenced in prod.
2025-04-04 10:54:36 -07:00
Jordan Rose
5563e4d277
net: Add "remote config" string-to-string map to Net/ConnectionManager
...
This can be set at creation time as well as updated later without
recreating the Net instance.
2025-04-03 15:16:35 -07:00
Jordan Rose
fed4a6e54a
bridge: Add BridgedStringMap
...
This is a utility class that should not be exposed directly in
app-facing APIs.
2025-04-03 15:16:35 -07:00
andrew-signal
5b0d993cab
GSE/Node: Allow toToken to take CallLinkSecretParams
2025-04-03 14:27:11 -04:00
Alex Bakon
d13bc958e2
Remove fallback CDSI connect code
2025-04-02 13:39:38 -04:00
Alex Bakon
8756d1ab1d
Java: inherit from NativeHandleGuard.SimpleOwner
2025-03-21 16:56:40 -04:00
Alex Bakon
c08602eebe
Enable creating a fake unauthenticated chat connection
2025-03-20 08:18:25 -04:00
Alex Bakon
24d2870b60
Use separate error types for chat connect vs. send ( #1431 )
2025-03-10 15:42:42 -04:00
Jordan Rose
835611fc7b
Expose preconnectChat() to Swift and Java
...
Also added a JUnit Rule for initializing the libsignal logger to
print to stderr.
2025-03-07 10:35:07 -08:00
Jordan Rose
7ac3ce5d68
Implement preconnecting and expose it to Node
2025-03-06 10:56:56 -08:00
Jordan Rose
340324f5e4
Add X-Signal-Alert callbacks for Android and iOS
2025-03-05 15:02:20 -08:00
Jordan Rose
2ebd7cd2b3
Check for X-Signal-Alert header, and report it in a callback
...
This on-connect header will be used for lightweight "alerts" from the
server to an authenticated client. For now, it's only threaded through
to the Node implementation; the iOS and Android ones will come later.
2025-03-04 15:07:23 -08:00
adel-signal
83810ddbe0
Extract Endorsement keys from Server(Public/Private)Params
2025-03-01 21:10:04 -08:00
Alex Bakon
2ba84ac051
Bridge chat response sending as synchronous
2025-02-21 15:29:20 -05:00
Alex Bakon
efd6ef2424
Expose both CDSI connect methods
2025-02-19 14:19:56 -05:00
moiseev-signal
3a8bb9581f
keytrans: Replace monitor with monitor_and_search in Android bridge
2025-02-12 13:05:35 -08:00
moiseev-signal
e949adc53f
Java: fix javadoc warnings, enable non-hermetic tests in Docker builds
2025-02-11 15:17:16 -08:00
Alex Bakon
b34d84575f
Remove chat service from bridge
2025-02-07 15:30:38 -05:00
Alex Bakon
23005551f2
Test chat connection send path
...
Add a test for the request send path and response receive path using the fake
chat connection. This would have caught the bug fixed by bf680b09 .
2025-02-05 15:15:34 -05:00
Milan Stevanovic
7785b8c3f6
Milan/mp4san update to v0 5 3 ( #1343 )
...
Propagating the mp4san new feature through all the layers of libsignal.
The feature allows seamless handling of transcoded MP4 files on Android, where multiple MDAT boxes (one per chunk of A/V streams) are first compounded and then passed to mp4san for format correction.
2025-02-04 11:17:35 -08:00
Jordan Rose
bd9a11f943
bridge: Separate proxy validation from proxy setting
...
And expose an explicit setInvalidProxy, both for testing and in case
apps want to do their own connection-poisoning.
This makes it easier to be consistent about "if you try to set a proxy
that turns out not to be valid, the ConnectionManager should end up in
the invalid state until explicitly cleared", whether the validation is
done on the Rust side of the bridge or the app language side.
2025-02-03 14:09:56 -08:00
andrew-signal
3bfbf95850
Catch all Throwables for System.loadLibrary(jni-testing) call
2025-02-03 12:27:13 -05:00
Jordan Rose
029b867b52
bridge: Add round-trip tests for u64 as well
2025-01-31 14:03:53 -08:00
Jordan Rose
9f496569ff
Node: use JavaScript's URL class to provide Net.setProxyFromUrl
...
Also improves tests around proxies for all three languages.
2025-01-31 13:24:24 -08:00
Alex Bakon
c42963cfdf
Write listener bridging tests for chat connection
2025-01-31 14:03:52 -05:00
Jordan Rose
6cc50a7ce9
bridge: Use IllegalArgumentException for out-of-range integers
...
...instead of a generic RuntimeException.
2025-01-31 10:55:17 -08:00
Jordan Rose
c49145fe3d
bridge: Fix negative integer values coming from Node being rejected
...
And add tests for round-tripping integers to Java and Node, since the
types don't always match up as nicely as with C.
2025-01-31 10:55:17 -08:00
Alex Bakon
020f8f5a7b
Include signal_jni fns in signal_jni_testing
2025-01-31 10:31:45 -05:00