Commit Graph

551 Commits

Author SHA1 Message Date
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
Jordan Rose
95bf4e7715 Bump to version v0.51.0 2024-06-13 16:42:29 -07:00
Jordan Rose
4e2a7de574 Expose the 'Stopped' event to Swift and Node
Swift: ChatListener.chatServiceConnectionWasInterrupted(_:)
Node: ChatServiceListener.onConnectionInterrupted()
2024-06-13 15:54:21 -07:00
Jordan Rose
3cebfb0ec4 java: Build reproducible jars
The *contents* were already identical, but jars preserve timestamps by
default, and might not sort their inputs. Fortunately Gradle has
options for both of those.
2024-06-13 13:44:54 -07:00
Jordan Rose
4791773954 java: Add -P debugLevelLogs as a Gradle build option
Similar to the previous commits, but for Java/Android. If invoking
build_jni.sh directly, use `--debug-level-logs` like build_ffi.sh.

As a consequence, LOGGING IS NO LONGER AUTOMATICALLY ENABLED FOR
JAVA/ANDROID. Clients must call SignalProtocolLoggerProvider.
initializeLogging() in addition to setting a provider.
2024-06-13 12:08:31 -07:00
Jordan Rose
e968ab4b62 Bump to version v0.50.0 2024-06-07 09:32:25 -07:00
moiseev-signal
38a5f01f6f net: Short circuit MultiRouteConnectionManager on fatal errors 2024-06-06 18:06:59 -07:00
Jordan Rose
44b6057bce java (mostly): audit for checked AttestationFailedException
The "mostly" is because there was one place in the Rust layer where
establishing attestation could *additionally* generate a Noise error
(theoretically, not in practice), which gets turned into an
SgxCommunicationFailureException (suboptimally named now that we have
non-SGX enclaves, but oh well). Change that to treat that as an
AttestationData error as well, since it *is* about the data that comes
from the attestation blob rather than the actual Noise handshake.
2024-06-05 15:59:21 -07:00
Jordan Rose
69ed266c0d java: Remove superfluous java_test Makefile target
Gradle's "build" action includes running tests; it's "assemble" that
doesn't. So we've been redundantly asking to run tests for a while,
and that currently does extra work due to the testing-fns variant
builds of the Android libraries. Just remove it.
2024-05-31 12:42:06 -07:00
Max Moiseev
347791c88c Bump to version 0.49.0 2024-05-31 12:27:59 -07:00
Jordan Rose
8313a2cfbd Remove app-layer tests that rely on connection timeouts
This was previously done for Node in 62f347e866, while the Java and
Swift tests *did* pass but...very...slowly. Make them all consistent.
2024-05-30 13:28:07 -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
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
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
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
Jordan Rose
b9e021659b java: Check for invalid key sizes more thoroughly in ECPublicKey 2024-05-20 10:41:55 -07:00