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

571 Commits

Author SHA1 Message Date
Jordan Rose
21dbd79192 java: Update to Gradle 8.6 and AGP 8.4.1 to match Signal-Android 2024-08-22 09:23:16 -07:00
Jordan Rose
4a1ed695b0 java: Specify working directory relative to project root 2024-08-22 09:23:16 -07:00
Jordan Rose
134324c8c4 Bump to version v0.56.0 2024-08-20 16:27:15 -07:00
Jordan Rose
5e81e01a38 java: {Signed,Kyber}PreKeyRecord.getKeyPair throws InvalidKeyException
Since the usual constructor is strongly typed, this can only happen
when the serialized data is corrupted. But that is a possibility.
2024-08-20 14:54:46 -07:00
Alex Konradi
7c8a3e957d
java: include unexpected exception name in message 2024-08-13 14:05:59 -04:00
Jordan Rose
360b335cff Bump to version v0.55.1 2024-08-13 09:52:44 -07:00
Sergey Skrobotov
a8bc95bc7e Bump to version v0.55.0 2024-08-09 11:30:00 -08:00
Sergey Skrobotov
4b283b7b4f
net: dropping reconnect count field 2024-08-07 19:11:43 -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
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
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
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
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
Jonathan Klabunde Tomer
c3b6b85243
build_jni.sh: don't use modern bash features 2024-07-31 11:22:35 -07:00
Jonathan Klabunde Tomer
3d1c45f15d
build multiarch server jar from make targets by default 2024-07-31 10:07:54 -07:00
Jordan Rose
a561392cff
Expose the "network changed" event to apps 2024-07-30 15:27:42 -07:00
Jonathan Klabunde Tomer
0453438d98
Prepare libsignal-server Java build for arm64 2024-07-30 13:37:55 -07:00
Sergey Skrobotov
b86d58e8d6 Bump to version v0.54.0 2024-07-26 14:02:22 -08:00
Sergey Skrobotov
d694cff1a1
net: adding a parameter to opt in/out of receiving stories 2024-07-25 14:55:23 -07:00
Jordan Rose
9d729ff083
Re-apply "android: Don't strip debug info out of the AAR"
A revised version of the earlier 23192280:
- Uses --build-id for all archs, not just aarch64
- Also raises Gradle's memory limits
2024-07-25 14:22:56 -07:00
Jordan Rose
f2ae8436b3 Bump to version v0.53.0 2024-07-23 14:57:28 -07:00
Chris Eager
4a3d4aecd5 Add SealedSenderMultiRecipientMessage#serializedRecipientView
This allows a server to parse and validate a multi-recipient message once,
and then efficiently store per-recipient views for future delivery.
2024-07-23 10:16:02 -07:00
Jordan Rose
8835b7febe java: Enable Gradle dependency checksums 2024-07-22 15:56:02 -07:00
Alex Konradi
8ba0f2731c Bump to version v0.52.5 2024-07-19 13:41:34 -04:00
Alex Konradi
4c0bb6d87f
Revert "android: Don't strip debug info out of the AAR" 2024-07-19 11:25:58 -04:00
Alex Konradi
d33ce0bea5 Bump version number to 0.52.4 2024-07-19 09:34:42 -04:00
Jordan Rose
5a1144b8ac java: Update code size checker to measure post-stripping size
Previously the Android libraries were stripped as part of the build,
but what we're really trying to track is the download size and
size-on-disk for Android users, so the stripped library is more
relevant (and lets us continue to compare against previous releases).
2024-07-18 14:31:20 -07:00
Jordan Rose
e50ddd215b java: ChatServiceExtension now extends IOException
...for consistency with other network-related exceptions in the Java
ecosystem.
2024-07-18 13:08:59 -07:00
Alex Konradi
0b7d2856fe
Use ResourceReader in test 2024-07-18 14:48:18 -04:00
Alex Konradi
671febbde8
java docker: set default file encoding to UTF-8 2024-07-18 14:32:12 -04:00
Jordan Rose
2319228027 android: Don't strip debug info out of the AAR
This *greatly* increases the size of the artifacts uploaded to Maven,
but it looks like the libraries do correctly get stripped when the
final APK is built. (This was not true in the past.)

Also, make sure the built library includes a "build ID", or else the
stripped version of the library will be treated as a different
library, and all the line tables will go to waste.
2024-07-18 10:26:02 -07:00
Alex Konradi
f7e0af4c30
java: read expected backup file as UTF-8 2024-07-17 15:42:19 -04:00
Alex Konradi
a6a8eae650
Fix expected canonical test case output 2024-07-16 15:40:43 -04:00
Alex Konradi
66cd3f0133
backup: bridge canonical serialization as ComparableBackup 2024-07-16 14:20:31 -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
moiseev-signal
f794998389
SVR3: implement migrate API 2024-07-10 11:40:56 -07:00
Jordan Rose
773530ecd1 Add type annotations to all our Python scripts
The main benefit of this is not our *own* type-checking; it's that
mypy will error out if you try to use a too-new Python API. And in
fact, we were already relying on Python 3.9 and didn't realize.

check_code_size.py works with JSON, so it still uses Any a fair bit.
2024-07-09 17:01:10 -07: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
Alex Konradi
c6857dd58e
Don't assume EOF on 0-length read for Node
Remove the special handling code that detects EOF now that the upstream crate 
has fixed the bug that was being worked around. This also fixes a bug where EOF 
was being incorrectly detected when the provided buffer was empty. Add a test 
case to prevent regression in the future.
2024-07-09 11:58:43 -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
Chris Eager
f26fd13631 Add SealedSenderMultiRecipientMessage#serialized 2024-06-26 17:01:01 -05:00
Chris Eager
2b5b51c7b3 Fix error string whitespace 2024-06-21 16:34:27 -07:00
Jordan Rose
db18a102f2 Use Docker's ADD command for remote resources 2024-06-21 11:35:08 -07:00
Jordan Rose
2e2896fc23 Bump to version v0.51.1 2024-06-20 17:02:58 -07:00