mirror of
https://github.com/AsamK/signal-cli.git
synced 2026-05-17 13:11:00 +00:00
Update libsignal-service
This commit is contained in:
parent
e6635d1bb0
commit
6286a054eb
@ -3,6 +3,7 @@ slf4j = "2.0.17"
|
|||||||
junit = "6.0.3"
|
junit = "6.0.3"
|
||||||
micronaut-json-schema = "2.0.0-M8"
|
micronaut-json-schema = "2.0.0-M8"
|
||||||
micronaut-core = "4.9.3"
|
micronaut-core = "4.9.3"
|
||||||
|
signal-service = "2.15.3_unofficial_145"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
bouncycastle = "org.bouncycastle:bcprov-jdk18on:1.84"
|
bouncycastle = "org.bouncycastle:bcprov-jdk18on:1.84"
|
||||||
@ -18,7 +19,7 @@ slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
|||||||
slf4j-jul = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" }
|
slf4j-jul = { module = "org.slf4j:jul-to-slf4j", version.ref = "slf4j" }
|
||||||
logback = "ch.qos.logback:logback-classic:1.5.32"
|
logback = "ch.qos.logback:logback-classic:1.5.32"
|
||||||
|
|
||||||
signalservice = "com.github.turasa:signal-service-java:2.15.3_unofficial_144"
|
signalnetwork = { module = "com.github.turasa:signal-network", version.ref = "signal-service" }
|
||||||
sqlite = "org.xerial:sqlite-jdbc:3.53.0.0"
|
sqlite = "org.xerial:sqlite-jdbc:3.53.0.0"
|
||||||
hikari = "com.zaxxer:HikariCP:7.0.2"
|
hikari = "com.zaxxer:HikariCP:7.0.2"
|
||||||
junit-jupiter-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
junit-jupiter-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
||||||
|
|||||||
@ -18,9 +18,9 @@ val libsignalClientPath = project.findProperty("libsignal_client_path")?.toStrin
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
if (libsignalClientPath == null) {
|
if (libsignalClientPath == null) {
|
||||||
implementation(libs.signalservice)
|
implementation(libs.signalnetwork)
|
||||||
} else {
|
} else {
|
||||||
implementation(libs.signalservice) {
|
implementation(libs.signalnetwork) {
|
||||||
exclude(group = "org.signal", module = "libsignal-client")
|
exclude(group = "org.signal", module = "libsignal-client")
|
||||||
}
|
}
|
||||||
implementation(files(libsignalClientPath))
|
implementation(files(libsignalClientPath))
|
||||||
|
|||||||
@ -17,6 +17,9 @@ import org.asamk.signal.manager.util.KeyUtils;
|
|||||||
import org.signal.core.models.storageservice.StorageKey;
|
import org.signal.core.models.storageservice.StorageKey;
|
||||||
import org.signal.core.util.SetUtil;
|
import org.signal.core.util.SetUtil;
|
||||||
import org.signal.libsignal.protocol.InvalidKeyException;
|
import org.signal.libsignal.protocol.InvalidKeyException;
|
||||||
|
import org.signal.network.service.StorageServiceService;
|
||||||
|
import org.signal.network.service.StorageServiceService.ManifestIfDifferentVersionResult;
|
||||||
|
import org.signal.network.service.StorageServiceService.WriteStorageRecordsResult;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.whispersystems.signalservice.api.push.exceptions.NotFoundException;
|
import org.whispersystems.signalservice.api.push.exceptions.NotFoundException;
|
||||||
@ -25,9 +28,6 @@ import org.whispersystems.signalservice.api.storage.SignalStorageManifest;
|
|||||||
import org.whispersystems.signalservice.api.storage.SignalStorageRecord;
|
import org.whispersystems.signalservice.api.storage.SignalStorageRecord;
|
||||||
import org.whispersystems.signalservice.api.storage.StorageId;
|
import org.whispersystems.signalservice.api.storage.StorageId;
|
||||||
import org.whispersystems.signalservice.api.storage.StorageRecordConvertersKt;
|
import org.whispersystems.signalservice.api.storage.StorageRecordConvertersKt;
|
||||||
import org.whispersystems.signalservice.api.storage.StorageServiceRepository;
|
|
||||||
import org.whispersystems.signalservice.api.storage.StorageServiceRepository.ManifestIfDifferentVersionResult;
|
|
||||||
import org.whispersystems.signalservice.api.storage.StorageServiceRepository.WriteStorageRecordsResult;
|
|
||||||
import org.whispersystems.signalservice.internal.storage.protos.ManifestRecord;
|
import org.whispersystems.signalservice.internal.storage.protos.ManifestRecord;
|
||||||
import org.whispersystems.signalservice.internal.storage.protos.StorageRecord;
|
import org.whispersystems.signalservice.internal.storage.protos.StorageRecord;
|
||||||
|
|
||||||
@ -504,7 +504,7 @@ public class StorageHelper {
|
|||||||
final var result = dependencies.getStorageServiceRepository()
|
final var result = dependencies.getStorageServiceRepository()
|
||||||
.readStorageRecords(storageKey, manifest.recordIkm, storageIds);
|
.readStorageRecords(storageKey, manifest.recordIkm, storageIds);
|
||||||
return switch (result) {
|
return switch (result) {
|
||||||
case StorageServiceRepository.StorageRecordResult.DecryptionError decryptionError -> {
|
case StorageServiceService.StorageRecordResult.DecryptionError decryptionError -> {
|
||||||
if (decryptionError.getException() instanceof InvalidKeyException) {
|
if (decryptionError.getException() instanceof InvalidKeyException) {
|
||||||
logger.warn("Failed to read storage records, ignoring.");
|
logger.warn("Failed to read storage records, ignoring.");
|
||||||
yield List.of();
|
yield List.of();
|
||||||
@ -514,11 +514,11 @@ public class StorageHelper {
|
|||||||
throw new IOException(decryptionError.getException());
|
throw new IOException(decryptionError.getException());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case StorageServiceRepository.StorageRecordResult.NetworkError networkError ->
|
case StorageServiceService.StorageRecordResult.NetworkError networkError ->
|
||||||
throw networkError.getException();
|
throw networkError.getException();
|
||||||
case StorageServiceRepository.StorageRecordResult.StatusCodeError statusCodeError ->
|
case StorageServiceService.StorageRecordResult.StatusCodeError statusCodeError ->
|
||||||
throw statusCodeError.getException();
|
throw statusCodeError.getException();
|
||||||
case StorageServiceRepository.StorageRecordResult.Success success -> success.getRecords();
|
case StorageServiceService.StorageRecordResult.Success success -> success.getRecords();
|
||||||
default -> throw new IllegalStateException("Unexpected value: " + result);
|
default -> throw new IllegalStateException("Unexpected value: " + result);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,13 @@ import org.asamk.signal.manager.util.Utils;
|
|||||||
import org.signal.libsignal.metadata.certificate.CertificateValidator;
|
import org.signal.libsignal.metadata.certificate.CertificateValidator;
|
||||||
import org.signal.libsignal.net.Network;
|
import org.signal.libsignal.net.Network;
|
||||||
import org.signal.libsignal.zkgroup.profiles.ClientZkProfileOperations;
|
import org.signal.libsignal.zkgroup.profiles.ClientZkProfileOperations;
|
||||||
|
import org.signal.network.api.CallingApi;
|
||||||
|
import org.signal.network.api.CdsApi;
|
||||||
|
import org.signal.network.api.CertificateApi;
|
||||||
|
import org.signal.network.api.LinkDeviceApi;
|
||||||
|
import org.signal.network.api.RateLimitChallengeApi;
|
||||||
|
import org.signal.network.api.UsernameApi;
|
||||||
|
import org.signal.network.service.StorageServiceService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
||||||
@ -15,26 +22,19 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender;
|
|||||||
import org.whispersystems.signalservice.api.SignalSessionLock;
|
import org.whispersystems.signalservice.api.SignalSessionLock;
|
||||||
import org.whispersystems.signalservice.api.account.AccountApi;
|
import org.whispersystems.signalservice.api.account.AccountApi;
|
||||||
import org.whispersystems.signalservice.api.attachment.AttachmentApi;
|
import org.whispersystems.signalservice.api.attachment.AttachmentApi;
|
||||||
import org.whispersystems.signalservice.api.calling.CallingApi;
|
|
||||||
import org.whispersystems.signalservice.api.cds.CdsApi;
|
|
||||||
import org.whispersystems.signalservice.api.certificate.CertificateApi;
|
|
||||||
import org.whispersystems.signalservice.api.crypto.SignalServiceCipher;
|
import org.whispersystems.signalservice.api.crypto.SignalServiceCipher;
|
||||||
import org.whispersystems.signalservice.api.groupsv2.ClientZkOperations;
|
import org.whispersystems.signalservice.api.groupsv2.ClientZkOperations;
|
||||||
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Api;
|
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Api;
|
||||||
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations;
|
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations;
|
||||||
import org.whispersystems.signalservice.api.keys.KeysApi;
|
import org.whispersystems.signalservice.api.keys.KeysApi;
|
||||||
import org.whispersystems.signalservice.api.link.LinkDeviceApi;
|
|
||||||
import org.whispersystems.signalservice.api.message.MessageApi;
|
import org.whispersystems.signalservice.api.message.MessageApi;
|
||||||
import org.whispersystems.signalservice.api.profiles.ProfileApi;
|
import org.whispersystems.signalservice.api.profiles.ProfileApi;
|
||||||
import org.whispersystems.signalservice.api.push.ServiceIdType;
|
import org.whispersystems.signalservice.api.push.ServiceIdType;
|
||||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||||
import org.whispersystems.signalservice.api.ratelimit.RateLimitChallengeApi;
|
|
||||||
import org.whispersystems.signalservice.api.registration.RegistrationApi;
|
import org.whispersystems.signalservice.api.registration.RegistrationApi;
|
||||||
import org.whispersystems.signalservice.api.services.ProfileService;
|
import org.whispersystems.signalservice.api.services.ProfileService;
|
||||||
import org.whispersystems.signalservice.api.storage.StorageServiceApi;
|
import org.whispersystems.signalservice.api.storage.StorageServiceApi;
|
||||||
import org.whispersystems.signalservice.api.storage.StorageServiceRepository;
|
|
||||||
import org.whispersystems.signalservice.api.svr.SecureValueRecovery;
|
import org.whispersystems.signalservice.api.svr.SecureValueRecovery;
|
||||||
import org.whispersystems.signalservice.api.username.UsernameApi;
|
|
||||||
import org.whispersystems.signalservice.api.util.CredentialsProvider;
|
import org.whispersystems.signalservice.api.util.CredentialsProvider;
|
||||||
import org.whispersystems.signalservice.api.util.UptimeSleepTimer;
|
import org.whispersystems.signalservice.api.util.UptimeSleepTimer;
|
||||||
import org.whispersystems.signalservice.api.websocket.SignalWebSocket;
|
import org.whispersystems.signalservice.api.websocket.SignalWebSocket;
|
||||||
@ -243,8 +243,8 @@ public class SignalDependencies {
|
|||||||
getPushServiceSocket()));
|
getPushServiceSocket()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public StorageServiceRepository getStorageServiceRepository() {
|
public StorageServiceService getStorageServiceRepository() {
|
||||||
return new StorageServiceRepository(getStorageServiceApi());
|
return new StorageServiceService(getStorageServiceApi());
|
||||||
}
|
}
|
||||||
|
|
||||||
public CertificateApi getCertificateApi() {
|
public CertificateApi getCertificateApi() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user