moiseev-signal
b53778e5aa
keytrans: Support /search and /distinguished APIs through Chat Server
2024-11-13 11:24:47 -08:00
Alex Konradi
9b70d85ff0
Remove MakeChatListener trait
2024-11-12 16:52:01 -05:00
andrew-signal
716e3d0124
Bridge ChatListener to Android
...
Co-authored-by: Jordan Rose <jrose@signal.org >
2024-11-12 15:16:52 -05:00
Jordan Rose
447f3655b5
java: Add a tool to run the backup validator through the bridge
...
./gradlew backup-tool:run --args "--hmac-key abcd --aes-key cdef
path/to/backup"
2024-11-07 10:13:35 -08:00
Jordan Rose
7b75edeecd
Add an API to ConnectionManager to enable/disable "connection fallbacks"
...
This will be off by default, unlike in previous releases of libsignal.
2024-11-05 13:45:52 -08:00
andrew-signal
42fe2b07a9
Nit: correct error in (Un)authenticatedChatService javadoc
2024-11-04 14:41:19 -05:00
andrew-signal
9c18d4ebed
Split Java ChatService into Authenticated and UnauthenticatedChatService; use UnauthenticatedChatService
2024-11-04 08:07:27 -05:00
Alex Konradi
e882c68b00
Expose rate-limited error from Chat
2024-10-31 17:22:25 -04:00
Jordan Rose
b777cbcc90
Improve context for BackupKey key derivations
2024-10-31 09:28:59 -07:00
Jordan Rose
005412660c
Add BackupKey.deriveThumbnailTransitEncryptionKey
...
One last key derivation that was previously omitted.
2024-10-31 09:28:59 -07:00
Jordan Rose
22252be035
Expose additional key derivations to apps via new BackupKey class
2024-10-29 09:47:50 -07:00
Jordan Rose
39e8616479
backup: Expose MessageBackupKey's HMAC and AES keys
...
This lets clients use MessageBackupKey for their own key derivation.
2024-10-28 09:53:23 -07:00
Jordan Rose
595b5d78f3
account-keys: Adjust backup ID derivation
...
The new derivation can be used for both messages and media backup IDs.
2024-10-28 09:53:07 -07:00
Jordan Rose
497d88b0b6
java: Add a shim to handle Base64 on both Android and Oracle Java
2024-10-24 16:59:42 -07:00
Jordan Rose
a328e3278c
backup: Expose new ways of constructing MessageBackupKey
...
And switch the encrypted backup tests over to AccountEntropyPool.
2024-10-23 10:34:09 -07:00
Alex Konradi
01102bbab1
Provide additional information on CDSI errors
2024-10-22 13:57:50 -04:00
gram-signal
0ed3d49d20
Switch SVR3 testing environment.
2024-10-18 09:41:29 -07:00
andrew-signal
9fa6cf51f9
First iteration of JNI API for AccountEntropyPool
2024-10-03 14:59:27 -04:00
Jordan Rose
59cb7df6a3
bridge: Split Chat into AuthChat and UnauthChat
...
This matches the split that has already happened in the TypeScript and
Swift APIs. For now, both AuthChat and UnauthChat are wrappers around
the same type, a fully general chat::Chat, but we expect to eventually
split that into authenticated and unauthenticated variants as well. At
that point we can consider whether the common implementation here is
still pulling its weight.
2024-09-24 16:05:20 -07:00
moiseev-signal
88c2ab1dcc
svr3: Bridge rotate API to mobile platforms
2024-09-13 09:59:56 -07:00
Jordan Rose
a8814d16f8
Move all "testing-fns" APIs into libsignal-bridge-testing
...
This means they'll be shipped to clients, but still filtered out of
the device builds on Android (via having two separate libraries on
disk) and iOS (by not being included in non-simulator builds). The
biggest benefit of this is dropping the :android:makeTestJniLibraries
step for running libsignal's Android tests.
2024-08-27 08:29:06 -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
Sergey Skrobotov
4b283b7b4f
net: dropping reconnect count field
2024-08-07 19:11: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
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
Sergey Skrobotov
d694cff1a1
net: adding a parameter to opt in/out of receiving stories
2024-07-25 14:55:23 -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
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
moiseev-signal
f794998389
SVR3: implement migrate API
2024-07-10 11:40:56 -07: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
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
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
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
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
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
Jordan Rose
99e337f552
bridge: Expose authenticated sends on ChatService
2024-05-15 15:48:47 -07:00
Jordan Rose
a09eb567f0
net: "Poison" the TCP connector if an invalid proxy is set
...
This ensures that if there's an error setting a proxy, the previous
settings won't continue to be used for new connections.
This only applies to the Java, Swift, and TypeScript layers; the Rust
layer's set_proxy isn't a fallible API in the first place today. The
Java API now explicitly throws a checked IOException instead of
IllegalArgumentException.
2024-05-08 16:18:03 -07:00
Sergey Skrobotov
ab733bf00a
libsignal-net: support for User-Agent header
2024-05-01 20:02:08 -07:00
Alex Konradi
32dc8c27d8
Revert "Remove ProfileKeyCredentialPresentationV1"
2024-05-01 17:12:48 -04:00
Sergey Skrobotov
ccf4b8106e
ServiceIdTest refactoring
2024-05-01 11:41:42 -07:00
Jordan Rose
cc12c6f3c8
Make ServiceId Ord/Comparable
...
ACIs are sorted before PNIs, then the UUIDs are sorted by their
(unsigned) bytes. This provides a total order, if a relatively
arbitrary one.
2024-05-01 10:34:21 -07:00
Jordan Rose
e55349e193
java: Update ServiceIdTest to JUnit 4
2024-05-01 10:34:21 -07:00