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

2365 Commits

Author SHA1 Message Date
Alex Konradi
0cf9d20e21
backup: track more message backup fields 2024-05-30 11:17:38 -04:00
moiseev-signal
26ffef9ce0
net: Use EndpointParams in EnclaveEndpoint 2024-05-28 17:24:57 -07:00
moiseev-signal
75be990387
net+svr3: Enforce RaftConfig on type level 2024-05-28 14:02:38 -07:00
Jordan Rose
8b0f6f27a3 cargo update 2024-05-28 13:14:32 -07:00
moiseev-signal
71031786dc
SVR3: Support production enclaves 2024-05-28 10:09:18 -07:00
Alex Konradi
31d6015522
backups: add shared message backup test cases 2024-05-24 15:59:44 -04:00
Alex Konradi
e925c5d9d9 Bump to version 0.48.0 2024-05-24 15:06:29 -04:00
Jordan Rose
e90cf320f6 net: Improve logs for websocket connection failures 2024-05-24 10:07:30 -07:00
Alex Konradi
18f35aa316
Treat subscriber ID and currency as optional 2024-05-24 11:42:49 -04:00
Alex Konradi
f015765008
Import backup proto definition
Notable changes:
- addition of chat styles
2024-05-24 08:59:53 -04:00
Jordan Rose
e718c20095 net: Warn on excessive backpressure for server->client requests 2024-05-23 17:58:23 -07:00
Jordan Rose
e71180811a bridge: Name tokio's worker threads explicitly 2024-05-23 17:17:36 -07:00
Jordan Rose
9a8429da46 net: Add AppExpired and DeviceDeregistered errors for ChatService
And check bridging for every high-level ChatServiceError like we do
with CdsiLookupErrors.
2024-05-23 10:27:28 -07:00
Sergey Skrobotov
62f347e866
net: consolidating timeout constants 2024-05-22 16:50:53 -07:00
Jordan Rose
770dd1bbc2 node: Add cancellation support via AbortController 2024-05-22 13:11:09 -07:00
Jordan Rose
422b6098ed swift: Fix format string used for logging in tests 2024-05-22 13:10:39 -07:00
Jordan Rose
de252fd84d swift: Remove reference to deleted Logging.m 2024-05-22 13:10:39 -07:00
Jordan Rose
0cea81bb66 swift: ChatService.didReceiveIncomingMessage's sendAck is @escaping
...since acks of incoming messages are asynchronous (they don't happen
until the message is either fully processed or saved durably).
2024-05-22 13:10:39 -07: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
b81c6393ff
Split up backup/chat.rs
Move code for various categories of messages into their own modules. This is a 
functional no-op.
2024-05-22 10:47:20 -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
Jordan Rose
878d3d4332 bridge: Move Chat-related items into a submodule 2024-05-21 16:28:22 -07: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
Jordan Rose
a31d5b0dbc gen_ts_decl: Ignore "unused" warnings
It's common, especially during development, that certain items will
only be used by one bridge.
2024-05-21 13:04:18 -07:00
moiseev-signal
70ba17491c
SVR3: Implement remove API 2024-05-21 10:33:33 -07:00
moiseev-signal
c55aa17a9f
SVR3: Propagate tries_remaining on restore failure 2024-05-20 15:49:59 -07:00
Jon Chambers
59addf10ec Make ECPrivateKey#<init>(byte[]) public 2024-05-20 18:09:50 -04:00
Alex Konradi
404c52df99
Remove timeout for multi-route connection manager
The multi-route manager wraps individual connection managers with their own 
internal timeouts, so it doesn't need one of its own. Refactor the logic to 
make the error cases more clear.
2024-05-20 17:16:48 -04: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
e1aa542bd5 ffi: Expose LibsignalLogger protocol rather than depending on DDLog
This drops the SignalCoreKit dependency for the CocoaPod, but does
mean clients will have to register their own logger explicitly.
2024-05-20 13:43:39 -07:00
Alex Konradi
3e1c50a4d5
Keep all message backup account data and call fields during validation
When converting account data and call-related protobuf messages into in-memory 
forms, retain the values of all fields instead of discarding some. This is the 
first step in making it possible to compare the in-memory versions of backups 
for testing.
2024-05-20 16:17:17 -04:00
Jordan Rose
b9e021659b java: Check for invalid key sizes more thoroughly in ECPublicKey 2024-05-20 10:41:55 -07:00
moiseev-signal
bc5875b225
SVR3: Propagate tries_remaining upon successful restore 2024-05-20 08:54:46 -07:00
Max Moiseev
1e1acff7ba SVR3: Make the tpm2 attestation test resilient to enclave changes 2024-05-20 08:43:02 -07:00
Max Moiseev
bd8e552b3f SVR3: Support new staging enclaves 2024-05-20 08:43:02 -07:00
Alex Konradi
38092e9ab0
Update backup proto from specs
Major changes:
- addition of call links
- split of Call message into IndividualCall, GroupCall, AdHocCall
- moving AdHocCall back to top-level frame type
2024-05-20 10:31:37 -04:00
Alex Konradi
f86cbdcdf0
Fix class loading issue with GraalVM
Co-authored-by: Sebastian <asamk@gmx.de>
2024-05-17 17:09:14 -04:00
Jordan Rose
7dc63b99af ffi: Expose cancellation to Swift 2024-05-17 11:30:24 -07:00
Jordan Rose
6d3c192208 ffi: Wrap promise callbacks and contexts in a struct
...and pass that struct by reference.

This has some benefits and some drawbacks:

+ Type inference is (usually) more reliable; invokeAsyncFunction no
  longer needs a "returning:" parameter for disambiguation.

+ We can add more fields to the promise structs as needed.

+ We can use the same argument for input and output.

- Before, every promise that produced an OpaquePointer could share one
  protocol implementation on the Swift side. Now, they're separate.

- The manual type erasure code in the implementation of Completer has
  gotten worse.

- Using the same argument for input and output may be confusing.
2024-05-17 11:30:24 -07:00
Alex Konradi
4f630a60f4
Stop tracking call IDs in message backups
Call identifiers are not required to be unique across a client, and unlike chat 
IDs and recipient IDs, call IDs are not used as foreign keys elsewhere in a 
backup file. Calls shouldn't be checked for uniqueness and therefore don't need 
to be tracked at the top level.
2024-05-17 10:39:58 -04:00
Jordan Rose
1aedf124cd Bump version to v0.46.2 2024-05-16 16:02:06 -07:00
Sergey Skrobotov
aea24d02e6 net: restoring a practical Default for DnsResolver 2024-05-16 15:36:08 -07:00
Jordan Rose
3c7acdbdb4 net: Fix use of rustls-platform-verifier on non-Linux 2024-05-16 15:34:35 -07:00
Sergey Skrobotov
953b07ec0d
net: test that one route is attempted until it goes into cooldown 2024-05-16 11:09:06 -07:00
Sergey Skrobotov
052fd5bed2
net: clear in-flight requests map on ipv6_enabled flag change 2024-05-16 11:08:50 -07:00
Jordan Rose
9b9bd7cead Bump to version v0.46.1 2024-05-15 16:23:07 -07:00
Jordan Rose
99e337f552 bridge: Expose authenticated sends on ChatService 2024-05-15 15:48:47 -07:00
Jordan Rose
99bb74ee21 net: Debounce connection requests with pessimistic timeouts
Specifically, if a connection attempt takes a while to get started,
such that there's less than 500ms left on the timeout, don't even
bother sending a request that would probably fail anyway.
2024-05-15 11:16:37 -07:00