Commit Graph

677 Commits

Author SHA1 Message Date
Alex Bakon
ffdb35f59f Improve error handling for ChatConnection 2025-02-21 16:06:37 -05: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
Jordan Rose
4215bdb1b6 Reset for version v0.66.3 2025-02-13 15:03:40 -08: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
Andrew
719772a0fe Reset for version v0.66.2 2025-02-11 16:13:22 -05:00
Andrew
c1ba7d54f1 Reset for version v0.66.1 2025-02-11 15:05:28 -05: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
Andrew
a071849ae5 Reset for version v0.65.7 2025-02-04 17:05:54 -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
Alex Bakon
6f05a32b17 Add a smoke test for Android without _testing.so 2025-02-04 13:59:08 -05:00
Alex Bakon
0c02dd710c Fix Android benchmark compilation 2025-02-04 13:16:11 -05:00
Andrew
5522925a07 Reset for version v0.65.6 2025-02-03 17:51:54 -05: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
bf680b095a Remove ChatConnection.Response, use ChatService.Response instead 2025-02-03 15:05:29 -05: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
Alex Bakon
b13def1b52 Java: check for debugLevelLogs on project 2025-01-29 14:53:05 -05:00
Alex Bakon
4277227203 Enable producing an array as output from Sho[Api] 2025-01-28 10:15:34 -05:00
Jordan Rose
c1ad890487 Expose a more complete Net.setProxy(...) to apps
This takes a full set of components describing the connection to a
proxy: a scheme, a host, and optionally a port and auth information.
The previous `setProxy(String, u16)` signature is still available for
Signal TLS proxies in particular, but now we have the flexibility to
support other kinds of proxies as well.
2025-01-27 17:53:09 -08:00
Jordan Rose
3bd5a0a73b Reset for version v0.65.5 2025-01-27 13:00:01 -08:00
Jordan Rose
527222cf1f Revert "Implement and expose Net.setProxyFromUrl()"
This adds more code size than expected.
2025-01-22 11:49:14 -08:00
Jordan Rose
7e1be4700d Implement and expose Net.setProxyFromUrl()
This takes a full URL (as a string) to use as a proxy. The previous
`setProxy(String, int)` signature is still available for Signal TLS
proxies in particular, but now we have the flexibility to support
other kinds of proxies as well.
2025-01-22 11:42:00 -08:00
Alex Bakon
6eab52c405 Support KeyTransparencyClient with chat connection 2025-01-22 11:09:08 -05:00
andrew-signal
37da5d806e Update release notes to running methodology 2025-01-21 15:05:06 -10:00
Andrew
10dcf92058 Bump to version v0.65.3 2025-01-21 10:16:23 -10:00
Alex Bakon
0b5650f0c2 Pass null to Java chat interrupted cbs if intentional 2025-01-17 15:20:34 -05:00
Alex Bakon
f5d34398fb Bridge ChatConnection to Java 2025-01-17 11:44:07 -05:00
andrew-signal
9c0f28715b Bump the version of com.library.android to match Signal-Android 2025-01-16 13:45:33 -05:00
Jordan Rose
864a1a1a87 Bump to version v0.65.2 2025-01-15 15:44:44 -08:00
Alex Bakon
908fa98ee4 Bump to version v0.65.1 2025-01-15 11:51:42 -05:00
Jordan Rose
701895d541 Bump to version v0.65.0 2025-01-07 14:38:17 -08:00
Alex Konradi
a060aa6f74 Add fn to check that an AccountEntropyPool string is valid 2024-12-19 15:39:15 -05:00
Jordan Rose
0b47709e98 Sink EC key types from libsignal_protocol to libsignal_core::curve
This is necessarily a breaking change because the EC key operations
can no longer return SignalProtocolError. However, the types are still
exported through libsignal_protocol, and SignalProtocolError
implements From<CurveError>, so hopefully any clients will be guided
to update to the new usage.

Other changes:

- PublicKey::public_key_bytes no longer uses Result; any future curve
  types will also need to keep their public key in a borrowable form.

- PublicKey::verify_signature also no longer uses Result; if a future
  curve type does not support verifying a signature, or if the
  signature is structurally invalid, that should be treated the same
  as a verification failure. (This is already how structurally invalid
  Curve25519 signatures were being treated.)

This change allows other crates to depend on the smaller
libsignal_core rather than all of libsignal_protocol (though it also
means libsignal_core is no longer as small as it used to be).
2024-12-18 10:12:25 -08:00
Alex Konradi
e28081415e Remove support for deprecated auth credential format 2024-12-16 16:28:47 -05:00
Alex Konradi
0e85fdfbd0 Update Rust compiler to nightly-2024-12-11 2024-12-16 10:02:46 -05:00
moiseev-signal
cf98c1a054 Remove SVR3 bridge from all platforms 2024-12-12 17:11:26 -08:00
moiseev-signal
0321d6d920 keytrans: Bridge monitor API to JNI 2024-12-06 16:00:55 -08:00
Jordan Rose
4b78ebfeea Bump to version v0.64.1 2024-12-06 13:05:30 -08:00
Alex Konradi
1e62c19346 Bump to version v0.64.0 2024-12-06 11:21:49 -05:00
Alex Konradi
975f9b31c7 Pass tokio runtime handle to ws2::Chat::new 2024-12-06 06:04:07 -05:00
moiseev-signal
fc5b786fb7 keytrans: Remove ChatSearchContext type 2024-12-05 15:51:00 -08:00
moiseev-signal
107479ec4f keytrans: Rework the Store abstraction 2024-12-03 17:10:35 -08:00