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

374 Commits

Author SHA1 Message Date
Jordan Rose
ee321f2697 Bump to version v0.54.1 2024-07-31 16:58:52 -07:00
Sergey Skrobotov
aace02380b rolling back Cargo.lock/acknowledgments changes 2024-07-26 16:53:26 -07:00
Sergey Skrobotov
b86d58e8d6 Bump to version v0.54.0 2024-07-26 14:02:22 -08:00
Jordan Rose
85e0de9207
Update Rust dependencies
`cargo update` performed with Cargo 1.72 to avoid advancing our MSRV. assert_cmd, clap, protobuf, and protobuf-json-mapping needed to be manually held back.

Plus, explicit bumps for
- env_logger 0.11
- heck 0.5
- itertools 0.13
- num_enum 0.7
- prost 0.13
- tungstenite 0.23

And disallowing downgrading curve25519-dalek below the security update in 4.1.3.
2024-07-25 13:33:09 -07:00
Jordan Rose
f2ae8436b3 Bump to version v0.53.0 2024-07-23 14:57:28 -07:00
Jordan Rose
213ad4b30d
net: Add a "network changed" event
This adds a new utility type ObservableEvent, which synchronously runs
any registered callbacks when the event fires. CustomDnsResolver can
then subscribes to a "network changed" event on creation, clearing its
cache. At the other end of the stack, the ConnectionManager contains
the event, to eventually be exposed to the app languages as part of
the Net abstraction.

Additional parts of libsignal-net will subscribe to the "network
changed" event in the future. In particular, it should reset
persistent connection cooldowns.
2024-07-19 16:24:07 -07:00
Alex Konradi
8ba0f2731c Bump to version v0.52.5 2024-07-19 13:41:34 -04:00
Alex Konradi
d33ce0bea5 Bump version number to 0.52.4 2024-07-19 09:34:42 -04:00
Alex Konradi
66cd3f0133
backup: bridge canonical serialization as ComparableBackup 2024-07-16 14:20:31 -04:00
Alex Konradi
535241d423
backup: add canonically-serializable type
Add a type with a canonical serialized form that, for the same logical backup 
contents (even with frame reorderings), will always serialize to the same value.
2024-07-15 14:48:59 -04:00
Alex Konradi
784164d4bb
backup: Make message backup types serializable 2024-07-12 15:20:25 -04:00
Jordan Rose
a4a0663528 Bump to version v0.52.3 2024-07-11 14:10:27 -07:00
Jordan Rose
7261c37b46 Bump to version v0.52.2 2024-07-11 12:33:46 -07:00
Jordan Rose
1e8b7388e3 net: Avoid hot loops in reconnect
This can happen if we get into an error state, or if we have a bug
that has the connection attempt early-exit. We don't want to spin in
place trying to connect.
2024-07-10 17:59:17 -07:00
Alex Konradi
6d3c1b057f
Add libsignal-bridge-testing for Swift
Use a similar strategy as for Node, but with an additional crate that serves as 
the target for running cbindgen. The expectation is that since iOS links with 
the native signal_ffi statically, the linker will be able to prune out the 
unsued test-only code.
2024-07-10 17:45:53 -04:00
Alex Konradi
7af57ad1dd
backup: make recipient type vary with method
This replaces the recipient ID, which is a weak logical reference to external 
data, with one of two types, depending on the mode. For streaming validation, 
only the minimal data is kept. For validation via the CLI or (soon) for 
canonicalization, the full data is kept behind an Arc.
2024-07-10 17:07:34 -04:00
Alex Konradi
31759a5680
Add libsignal-bridge-testing for Node
Unlike Java, just bundle it into the exiting signal_node shared library. We 
don't care as much about code size here and splitting it into a separate 
library is significantly more complicated (though it might be worth it some 
day).
2024-07-10 14:09:35 -04:00
Alex Konradi
5816c03a2f
Use zerocopy for safe transmutes 2024-07-10 09:30:51 -04:00
Alex Konradi
0e4d420f69
Add libsignal-jni-testing crate with test-only functions for Java
This parallels the exiting libsignal-jni crate but exports functions from 
libsignal-bridge-testing instead of libsignal-bridge. The crate is compiled as 
a separate shared object that is included in the published libsignal package, 
but which can be excluded at Android packaging time.
2024-07-09 13:07:36 -04:00
Max Moiseev
2b48d18d23 Bump to version 0.52.1 2024-06-28 15:16:18 -07:00
Alex Konradi
e13e3de8b2 Bump to version v0.52.0 2024-06-28 14:55:58 -04:00
Alex Konradi
fc4e1dbcd6
Switch to JSON5 for backup .jsonproto parsing 2024-06-26 15:35:40 -04:00
Alex Konradi
b064ec78c5
Upgrade rustc to latest nightly 2024-06-25 11:31:59 -04:00
Alex Konradi
5b4570625b
Split types out of libsignal-bridge crate
Separate `libsignal-bridge` into two crates:
- `libsignal-bridge-types`, which contains types and methods for bridging,
  declares conversion traits, and implements those traits
- `libsignal-bridge`, which defines `extern "C"` functions that get exported
  into the app-language libraries

This will allow creating a second test-only crate, parallel to
`libsignal-bridge`, that can use the same types and macros for exporting
functions.
2024-06-21 16:39:14 -04:00
Jordan Rose
2e2896fc23 Bump to version v0.51.1 2024-06-20 17:02:58 -07:00
Jordan Rose
8bca9ace30 Update curve25519-dalek 2024-06-20 12:04:44 -07:00
Alex Konradi
66436b7c48
Remove unused dependencies 2024-06-18 16:05:21 -04:00
Jordan Rose
95bf4e7715 Bump to version v0.51.0 2024-06-13 16:42:29 -07:00
Jordan Rose
fee55949cd net: Differentiate chat-server HTTP responses from proxy responses
...by looking for the x-signal-timestamp header, which won't be set by
some intermediate server. For other connections, we don't (yet?) have
anything to key off of, so they'll continue conservatively treating
any HTTP response as having come from the real server.
2024-06-13 13:46:47 -07:00
Alex Konradi
24c234a5fe
Update message backup proto definition 2024-06-13 15:37:26 -04:00
Jordan Rose
e968ab4b62 Bump to version v0.50.0 2024-06-07 09:32:25 -07:00
Max Moiseev
347791c88c Bump to version 0.49.0 2024-05-31 12:27:59 -07:00
Alex Konradi
0cf9d20e21
backup: track more message backup fields 2024-05-30 11:17:38 -04:00
Jordan Rose
8b0f6f27a3 cargo update 2024-05-28 13:14:32 -07:00
Alex Konradi
e925c5d9d9 Bump to version 0.48.0 2024-05-24 15:06:29 -04:00
Alex Konradi
f015765008
Import backup proto definition
Notable changes:
- addition of chat styles
2024-05-24 08:59:53 -04:00
Alex Konradi
eb63e3037c
Import latest backup proto definition
Notable changes:
- addition of payment notifications
2024-05-22 15:25:05 -04:00
Alex Konradi
c4917d6329
Track values in chat-related protos
Validate some missed values from chat protos and retain the values in-memory 
for use in the backup comparator.
2024-05-22 10:02:55 -04:00
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