0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 12:02:18 +02:00
Commit Graph

336 Commits

Author SHA1 Message Date
Max Moiseev
1086531d79 Bump to version 0.47.0 2024-05-21 14:40:12 -07:00
Jordan Rose
a5fa231a1c bridge: Expose ChatService_InjectRawServerRequest for testing 2024-05-21 13:04:18 -07:00
Jordan Rose
a513d61a09 bridge: Expose ChatListener to Swift
(and lay groundwork for the other bridges)
2024-05-21 13:04:18 -07:00
moiseev-signal
70ba17491c
SVR3: Implement remove API 2024-05-21 10:33:33 -07:00
Alex Konradi
f18b39f5b0
Revert "Move message backup proto and I/O to new crate"
This reverts commit 55536686be.
2024-05-20 16:50:03 -04:00
Jordan Rose
1aedf124cd Bump version to v0.46.2 2024-05-16 16:02:06 -07:00
Jordan Rose
9b9bd7cead Bump to version v0.46.1 2024-05-15 16:23:07 -07:00
Alex Konradi
55536686be
Move message backup proto and I/O to new crate
Add a new crate, libsignal-message-backup-io, and move the existing code that 
handles backup decryption, deframing, and protobuf deserialization there. Keep 
the actual validation of the protobuf contents in the libsignal-message-backup 
crate.

This allows the existing example binproto<->json binaries to be built with 
local modifications to the backup.proto file without also requiring all the 
validation code to be modified.
2024-05-15 14:10:53 -04:00
Sergey Skrobotov
254501814c
libsignal-net: custom DNS lookups 2024-05-14 12:09:26 -07:00
Jordan Rose
6370f139cd net: Add a handler for server->client requests 2024-05-13 17:07:49 -07:00
Jordan Rose
2b0e1e5538
bridge: Add cancellation to AsyncRuntime and TokioAsyncContext 2024-05-03 10:03:59 -07:00
Jordan Rose
0ac953032e Bump to version v0.46.0 2024-05-02 15:45:30 -07:00
Sergey Skrobotov
ab733bf00a libsignal-net: support for User-Agent header 2024-05-01 20:02:08 -07:00
Jordan Rose
cc12c6f3c8 Make ServiceId Ord/Comparable
ACIs are sorted before PNIs, then the UUIDs are sorted by their
(unsigned) bytes. This provides a total order, if a relatively
arbitrary one.
2024-05-01 10:34:21 -07:00
Alex Konradi
09bffd5ab4
Use a named type for protocol timestamp 2024-04-30 16:33:11 -04:00
Max Moiseev
46780fb8c5 Bump to version 0.45.1 2024-04-26 13:47:42 -07:00
Jordan Rose
9d622d9bcb android: Add rustls-platform-verifier support 2024-04-24 14:13:30 -07:00
Jordan Rose
ab2144e203 net: Replace rustls-native-certs with rustls-platform-verifier
This (1) actually works on iOS and Android, and (2) will likely be
more full-featured and better-supported going forward. But it does
mean plugging one system's certificate verifier (rustls) into
another's TLS implementation (BoringSSL). Still, having *all* of
rustls used alongside BoringSSL would be redundant.
2024-04-24 13:14:05 -07:00
Jordan Rose
ada822434e Bump to version v0.45.0 2024-04-19 15:15:20 -07:00
Jordan Rose
8ff2bc4dd6 net: Remove unused hyper dependency
We can add it back when we make non-websocket requests again.
2024-04-17 10:21:26 -07:00
Alex Konradi
fcdd48bb54
Derive std::error::Error for more types
Also make use of displaydoc::Display and generated From impls in more places.
2024-04-17 10:37:19 -04:00
Jordan Rose
8447be898a Update boring to v4 2024-04-15 09:52:36 -07:00
Alex Konradi
0904a624dd
Handle padding in encrypted message backup
Handle encrypted & compressed message backup files with additional padding 
after the compressed contents (the padding bytes are encrypted, but not 
compressed). Update the example encrypter binary to add padding by default.
2024-04-11 16:01:52 -04:00
Sergey Skrobotov
02e03ee057 Bump to version v0.44.0 2024-04-02 17:27:23 -07:00
Alex Konradi
5d30eaa9c5
Add a TransportConnector impl via proxy 2024-04-02 07:48:34 -04:00
Alex Konradi
3ace227578 Bump to version v0.43.0 2024-04-01 15:05:31 -04:00
Alex Konradi
819606dab9
Add a test for TCP SSL connector
Add a test using a local server with a generated self-signed certificate. Also 
miscellaneous improvements that made the test easier to write and debug.
2024-03-29 17:31:10 -04:00
Alex Konradi
94432e2e32
Handle all CDSI server error codes
Match against all the error codes the documentation says the server can 
produce. Map these to error types in the app languages.
2024-03-26 16:41:12 -04:00
Alex Konradi
ed19489470
Improve CDSI errors
Add bridging tests for all the CDSI error types, and diversify the types of 
exceptions that can be thrown from Java code.
2024-03-25 13:39:06 -04:00
Alex Konradi
26ebd007ab
Split up NetError type
Split up the NetError type into errors for specific services (CDSI, SVR3, 
Chat). Return these from their respective bridged functions.
2024-03-20 15:54:59 -04:00
Jordan Rose
d9f6c0ee3c Bump to version v0.42.0 2024-03-19 16:47:08 -07:00
moiseev-signal
66809f0ed2
SVR3: Implement AMD SEV SNP with TPM2 attestation
Co-authored-by: Jordan Rose <jrose@signal.org>
2024-03-19 16:20:33 -07:00
Jordan Rose
fa24a77dee attest: Use strum::EnumCount instead of variant_count
No real difference, but strum is a more popular crate that we use
elsewhere, might as well not have both.
2024-03-18 09:22:17 -07:00
Alex Konradi
3aa3c583bf Move CDSI code to libsignal-bridge::net::cdsi
Move the implementation of the CDSI service into its own module to provide
better scoping. Move the CdsiError that is used only for bridging out of
libsignal-net and into the bridging crate.
2024-03-18 09:57:16 -04:00
Jordan Rose
7e3965f01b
Update Rust dependencies
- `cargo update`, except clap and assert_cmd, which bumped their MSRV
- net: Update hyper and hyper-body-util off of RCs
- attest: Update asn1
2024-03-11 17:42:57 -07:00
Jordan Rose
ce93eebd11 bridge: Add IntoParallelIterator for ServiceIdSequence
This will be used by GroupSendEndorsementsResponse::receive_with_service_ids.
2024-03-11 13:41:48 -07:00
Alex Konradi
560cc9af8c
Use strong types for zkgroup reserved bytes
Use stronger types for the bytes in zkgroup structs that are either reserved or 
used as version identifiers.
2024-03-08 09:59:31 -05:00
Sergey Skrobotov
dffb203cbe Bump to version v0.41.1 2024-03-07 14:29:14 -08:00
Jordan Rose
1c8fd06486 zkgroup: Implement GroupSendEndorsements
This involves a family of new types that will be used for issuing and
verifying these endorsements.

This is a breaking change for zkgroup: it adds a new key to
ServerSecretParams and ServerPublicParams.
2024-03-06 12:22:38 -08:00
Sergey Skrobotov
ce37388552 Bump to version v0.41.0 2024-03-01 14:49:33 -08:00
Alex Konradi
274b680ef4
Expose message backup purpose as an argument
Add a flag to the CLI validation tool and an argument to the bridged validation 
functions so users can specify whether a provided message backup should be 
validated according to the rules for device-to-device transfers or backups 
intended for remote storage.
2024-03-01 09:53:00 -05:00
Sergey Skrobotov
ec49a9774b libsignal-net: ChatService node bridge 2024-02-27 11:07:57 -08:00
Jordan Rose
f0f18e82b3 node: Update to Neon 1.0
- Feature flags removed for unconditionally-provided APIs.
- A function's this() is no longer guaranteed to be an object,
  so we have to check and error out more often.
- Use of usize instead of i32 in a few places.
- Convenience for fetching globals.
2024-02-23 13:40:44 -08:00
Alex Konradi
f30edf082f Add benchmark for poksho 2024-02-22 16:16:20 -05:00
moiseev-signal
6f783269db
SVR3: JNI bridge 2024-02-22 12:22:10 -08:00
Alex Konradi
5b5b85e715
Expose CDSI lookup via FFI 2024-02-22 10:31:01 -05:00
Jordan Rose
4d5ae34c1a Make "endorsements" the name of the New thing, instead of "passes"
And demote the thing we called "pass" to a plain bag of bytes, like a
hash.
2024-02-21 18:09:45 -08:00
Jordan Rose
bcbba73917 bridge: Filter out log messages that aren't from libsignal 2024-02-21 15:16:46 -08:00
Jordan Rose
6d8f559df8
Implement 3HashSDHI-based "passes" in zkcredential
(further tweaks to come)
2024-02-20 16:33:12 -08:00
Alex Konradi
f980fccd8a Bump to version v0.40.1 2024-02-20 09:48:25 -05:00