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

2498 Commits

Author SHA1 Message Date
gram-signal
2fd3b19283
SVR - implement new protocol client restore logic and test it 2024-08-16 12:55:59 -07:00
Jordan Rose
a36a554fef backup: Serialize CustomColorMap *as* a (sorted) map 2024-08-16 11:58:14 -07:00
Jordan Rose
f1b93b508d backup: Sort group invitees when serializing 2024-08-16 11:58:14 -07:00
Jordan Rose
52912c7c75 backup: Sort OutgoingSend records when serializing 2024-08-16 11:58:14 -07:00
Jordan Rose
fe864ec139 backup: Sort text ranges when serializing 2024-08-16 11:58:14 -07:00
gram-signal
7d87f692ba
SVR - initial methods for generating Create requests for new backup protocol. 2024-08-16 09:15:38 -07:00
Alex Konradi
d5ba8b1947
Don't parse mp4san or webpsan with cbindgen 2024-08-14 15:10:10 -04:00
Alex Konradi
f89e616a4c
Run cargo clean with same toolchain 2024-08-14 13:03:02 -04:00
Jordan Rose
1c06569d2f backup: Update Backup.proto 2024-08-14 09:16:38 -07:00
Alex Konradi
8cec4c19c7
Inline some named unit test utility functions 2024-08-14 11:57:07 -04:00
Alex Konradi
7c8a3e957d
java: include unexpected exception name in message 2024-08-13 14:05:59 -04:00
moiseev-signal
9a6898a136
keytrans: Prefer expect() to unwrap() and more code deduplication 2024-08-13 10:59:07 -07:00
Jordan Rose
360b335cff Bump to version v0.55.1 2024-08-13 09:52:44 -07:00
Jordan Rose
d2919ea461 backup: Update Backup.proto
Major changes to SendStatus, minor changes elsewhere.
2024-08-12 16:25:08 -07:00
Jordan Rose
d44fdc92ca backup: Canonicalize Timestamps and Durations as milliseconds
This is closer to the raw value used for most protobuf fields, and
avoids printing as an object containing secs+nsecs.
2024-08-12 13:54:32 -07:00
Jordan Rose
ea8aeb71fc backup: Remove length restrictions on call link adminKey 2024-08-12 13:54:01 -07:00
moiseev-signal
33836ff5c2
keytrans: Add libsignal-keytrans crate
Co-authored-by: Brendan McMillion <brendanmcmillion@gmail.com>
2024-08-09 16:13:02 -07:00
Sergey Skrobotov
a8bc95bc7e Bump to version v0.55.0 2024-08-09 11:30:00 -08:00
Jordan Rose
524eb7cdb3 swift: Add ConnectionEventsListener for UnauthenticatedChatService
This follows Node in splitting out a base protocol for "disconnected"
events that the existing ChatListener protocol extends. It's a bit
more involved because of the helper class that keeps track of both the
listener and the ChatService, which can't be made generic because
Swift generics aren't monomorphized (and thus won't work as C function
pointers).

This is a breaking change in practice because the name of the callback
has changed (from chatServiceConnectionWasInterrupted to just
connectionWasInterrupted).
2024-08-09 11:23:49 -07:00
Jordan Rose
2dd3896bba protocol: Remove legacy SSv2 receive support 2024-08-08 15:10:25 -07:00
Alex Konradi
192fbbd2a9
net: don't connect to remote servers in unit tests 2024-08-08 15:21:28 -04:00
Sergey Skrobotov
4b283b7b4f
net: dropping reconnect count field 2024-08-07 19:11:43 -07:00
Sergey Skrobotov
55ac7166e0
net: dropping auto-reconnect logic 2024-08-07 16:38:45 -07:00
Jordan Rose
aa3f6532b2 Bump to version v0.54.3 2024-08-07 12:06:46 -07:00
Jordan Rose
669b43f12d java: Compare strings correctly in ee552962 2024-08-07 12:01:24 -07:00
Jordan Rose
83e18251c7 Bump to version v0.54.2 2024-08-06 13:06:03 -07:00
Jordan Rose
7161d20819 CI: Use larger runners for Java Docker builds
11 configurations of libsignal_jni, plus all the dependencies needed
to build them, uses a lot of disk space, it turns out.
2024-08-06 13:05:57 -07:00
Jordan Rose
de035db0b0 CI: Check that backup.proto is in sync with the test cases 2024-08-06 12:24:43 -07:00
Jordan Rose
29924b1cf0 backup: Put singleton recipients first in serialized form 2024-08-06 12:24:43 -07:00
Jordan Rose
9e5d2fdac4 backup: Update shared backup tests 2024-08-06 12:24:43 -07:00
Jordan Rose
a33bc1eefa backup: Sort reactions when serializing 2024-08-06 12:24:43 -07:00
Jordan Rose
cf808475ce backup: Omit the backup timestamp from the canonical string 2024-08-06 12:24:43 -07:00
Fedor Indutny
367e2399ab
Don't use binary encoding for Node streams 2024-08-06 14:46:43 -04:00
Jordan Rose
ee552962b9 java: Special-case the arch-specific load to account for "x86_64"
0453438d added the capability to prefer arch-specific versions of
libsignal_jni, but it turns out that some Java implementations use
"x86_64" rather than the "amd64" we expected. Rather than doing
something clever and general, just handle this one special case. If
this happens again with "arm64" vs "aarch64", we can spend more time
on it then.
2024-08-06 10:18:10 -07:00
Alex Konradi
3c01c95616
backup: dist. list w/ privacy ALL has no members 2024-08-05 15:46:28 -04:00
Jordan Rose
d9187a4db3 jni: Handle absurd numbers of recipients in multi-recipient messages
Previously we tried to be Fast by allocating a big local frame, enough
references for all the recipients we parsed. However, that backfired
if there were so many recipients that we couldn't allocate the local
frame. Switch to using AutoLocal references, so we have a fixed
overhead.

One interesting consequence of this is that we can't build the array
of excluded recipients in one go; instead, we now use a helper
java.util.ArrayList that we push into. Fortunately, we only exposed a
List in the public interface anyway.
2024-08-05 11:23:40 -07:00
Alex Konradi
bde424779c
backup: Parse BackupLocator mediaName 2024-08-05 14:21:32 -04:00
Jordan Rose
89e626a1e3 Remove references to removed crates in doctests
Normally we'd add these back as dev-dependencies, but in this case the
doctests are all purely syntactic -- they have
`#[cfg(ignore_even_when_running_all_tests)]` in their bodies.
2024-08-02 13:47:04 -07:00
Jordan Rose
30eaf2e457 Remove unused dependencies for specific crates
Found via cargo-machete.
2024-08-02 13:47:04 -07:00
Jordan Rose
a0c3194cd6 Update to boring v4.9.0 2024-08-02 11:38:49 -07:00
Jordan Rose
5a29f08ffb CI: Build Java release Mac binaries using macos-latest (arm64)
...instead of macos-12 (x86_64)
2024-08-02 09:54:43 -07:00
Jordan Rose
11544c6718 java: Omit native libraries from the sources jars
...at least partly to cut down on the space used during a build that
includes all supported architectures.
2024-08-02 09:54:43 -07:00
Jordan Rose
47f221e9ab build_jni.sh: error out if no target is provided 2024-08-02 09:54:43 -07:00
Jordan Rose
5480f12ec6 CI: Build NPM release using macos-latest (arm64)
...rather than macos-12 (x64)
2024-08-02 09:54:27 -07:00
Jordan Rose
03b71fea23 backup: Validate quoted attachments 2024-08-02 09:39:02 -07:00
Jordan Rose
f2b9ad59d5 backup: Validate GroupMemberAddedUpdate.inviterAci more specifically 2024-08-02 09:38:48 -07:00
Jordan Rose
7fa901aa14
backup: Validate FilePointers and MessageAttachments 2024-08-01 14:41:57 -07:00
Jordan Rose
ee321f2697 Bump to version v0.54.1 2024-07-31 16:58:52 -07:00
Jordan Rose
d3adfba263 java: Adjust how we handle manual cross-compilation
Follow-up to 0453438d. Previously, setting CARGO_BUILD_TARGET before
manually calling build_jni.sh merely did a Cargo build with the same
settings as the host build. However, adding support for cross-compiles
for the server build broke this "ad hoc" cross-compilation.
Fortunately, it was used only in one place: providing both flavors of
Mac library in a built libsignal-client and libsignal-server. We can
use the *new* cross-compilation support for this instead, reducing
special cases.

This also limits the conditions where build_jni.sh will automatically
set CC and other environment variables, and allows that behavior to be
overridden by manually setting them.
2024-07-31 16:27:25 -07:00
Jordan Rose
3e064082f3 backup: Validate e164s (they must not be 0) 2024-07-31 11:28:49 -07:00