mirror of
https://github.com/AsamK/signal-cli
synced 2025-08-28 18:10:38 +00:00
Update libsignal-service
This commit is contained in:
parent
bb86830a61
commit
e594f3b237
9 changed files with 13 additions and 11 deletions
|
@ -3021,6 +3021,7 @@
|
||||||
{
|
{
|
||||||
"name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord",
|
"name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord",
|
||||||
"allDeclaredFields":true,
|
"allDeclaredFields":true,
|
||||||
|
"fields":[{"name":"aci"}, {"name":"archived"}, {"name":"avatarColor"}, {"name":"blocked"}, {"name":"e164"}, {"name":"familyName"}, {"name":"givenName"}, {"name":"hidden"}, {"name":"hideStory"}, {"name":"identityKey"}, {"name":"identityState"}, {"name":"markedUnread"}, {"name":"mutedUntilTimestamp"}, {"name":"nickname"}, {"name":"note"}, {"name":"pni"}, {"name":"pniSignatureVerified"}, {"name":"profileKey"}, {"name":"systemFamilyName"}, {"name":"systemGivenName"}, {"name":"systemNickname"}, {"name":"unregisteredAtTimestamp"}, {"name":"username"}, {"name":"whitelisted"}],
|
||||||
"methods":[{"name":"adapter","parameterTypes":[] }, {"name":"unknownFields","parameterTypes":[] }]
|
"methods":[{"name":"adapter","parameterTypes":[] }, {"name":"unknownFields","parameterTypes":[] }]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,7 +10,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.18"
|
logback = "ch.qos.logback:logback-classic:1.5.18"
|
||||||
|
|
||||||
signalservice = "com.github.turasa:signal-service-java:2.15.3_unofficial_121"
|
signalservice = "com.github.turasa:signal-service-java:2.15.3_unofficial_122"
|
||||||
sqlite = "org.xerial:sqlite-jdbc:3.49.1.0"
|
sqlite = "org.xerial:sqlite-jdbc:3.49.1.0"
|
||||||
hikari = "com.zaxxer:HikariCP:6.3.0"
|
hikari = "com.zaxxer:HikariCP:6.3.0"
|
||||||
junit-jupiter = "org.junit.jupiter:junit-jupiter:5.12.0"
|
junit-jupiter = "org.junit.jupiter:junit-jupiter:5.12.0"
|
||||||
|
|
|
@ -5,6 +5,7 @@ import org.signal.libsignal.protocol.InvalidKeyException;
|
||||||
import org.signal.libsignal.protocol.ecc.Curve;
|
import org.signal.libsignal.protocol.ecc.Curve;
|
||||||
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
||||||
import org.whispersystems.signalservice.api.push.TrustStore;
|
import org.whispersystems.signalservice.api.push.TrustStore;
|
||||||
|
import org.whispersystems.signalservice.internal.configuration.HttpProxy;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl;
|
import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalCdsiUrl;
|
import org.whispersystems.signalservice.internal.configuration.SignalCdsiUrl;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalProxy;
|
import org.whispersystems.signalservice.internal.configuration.SignalProxy;
|
||||||
|
@ -41,6 +42,7 @@ class LiveConfig {
|
||||||
|
|
||||||
private static final Optional<Dns> dns = Optional.empty();
|
private static final Optional<Dns> dns = Optional.empty();
|
||||||
private static final Optional<SignalProxy> proxy = Optional.empty();
|
private static final Optional<SignalProxy> proxy = Optional.empty();
|
||||||
|
private static final Optional<HttpProxy> systemProxy = Optional.empty();
|
||||||
|
|
||||||
private static final byte[] zkGroupServerPublicParams = Base64.getDecoder()
|
private static final byte[] zkGroupServerPublicParams = Base64.getDecoder()
|
||||||
.decode("AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0LUlT9vALgh/f2DPVOOmR0RW6bgRvc7DSF20V/omg+YBw==");
|
.decode("AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0LUlT9vALgh/f2DPVOOmR0RW6bgRvc7DSF20V/omg+YBw==");
|
||||||
|
@ -68,6 +70,7 @@ class LiveConfig {
|
||||||
interceptors,
|
interceptors,
|
||||||
dns,
|
dns,
|
||||||
proxy,
|
proxy,
|
||||||
|
systemProxy,
|
||||||
zkGroupServerPublicParams,
|
zkGroupServerPublicParams,
|
||||||
genericServerPublicParams,
|
genericServerPublicParams,
|
||||||
backupServerPublicParams,
|
backupServerPublicParams,
|
||||||
|
|
|
@ -5,6 +5,7 @@ import org.signal.libsignal.protocol.InvalidKeyException;
|
||||||
import org.signal.libsignal.protocol.ecc.Curve;
|
import org.signal.libsignal.protocol.ecc.Curve;
|
||||||
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
import org.signal.libsignal.protocol.ecc.ECPublicKey;
|
||||||
import org.whispersystems.signalservice.api.push.TrustStore;
|
import org.whispersystems.signalservice.api.push.TrustStore;
|
||||||
|
import org.whispersystems.signalservice.internal.configuration.HttpProxy;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl;
|
import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalCdsiUrl;
|
import org.whispersystems.signalservice.internal.configuration.SignalCdsiUrl;
|
||||||
import org.whispersystems.signalservice.internal.configuration.SignalProxy;
|
import org.whispersystems.signalservice.internal.configuration.SignalProxy;
|
||||||
|
@ -41,6 +42,7 @@ class StagingConfig {
|
||||||
|
|
||||||
private static final Optional<Dns> dns = Optional.empty();
|
private static final Optional<Dns> dns = Optional.empty();
|
||||||
private static final Optional<SignalProxy> proxy = Optional.empty();
|
private static final Optional<SignalProxy> proxy = Optional.empty();
|
||||||
|
private static final Optional<HttpProxy> systemProxy = Optional.empty();
|
||||||
|
|
||||||
private static final byte[] zkGroupServerPublicParams = Base64.getDecoder()
|
private static final byte[] zkGroupServerPublicParams = Base64.getDecoder()
|
||||||
.decode("ABSY21VckQcbSXVNCGRYJcfWHiAMZmpTtTELcDmxgdFbtp/bWsSxZdMKzfCp8rvIs8ocCU3B37fT3r4Mi5qAemeGeR2X+/YmOGR5ofui7tD5mDQfstAI9i+4WpMtIe8KC3wU5w3Inq3uNWVmoGtpKndsNfwJrCg0Hd9zmObhypUnSkfYn2ooMOOnBpfdanRtrvetZUayDMSC5iSRcXKpdlukrpzzsCIvEwjwQlJYVPOQPj4V0F4UXXBdHSLK05uoPBCQG8G9rYIGedYsClJXnbrgGYG3eMTG5hnx4X4ntARBgELuMWWUEEfSK0mjXg+/2lPmWcTZWR9nkqgQQP0tbzuiPm74H2wMO4u1Wafe+UwyIlIT9L7KLS19Aw8r4sPrXZSSsOZ6s7M1+rTJN0bI5CKY2PX29y5Ok3jSWufIKcgKOnWoP67d5b2du2ZVJjpjfibNIHbT/cegy/sBLoFwtHogVYUewANUAXIaMPyCLRArsKhfJ5wBtTminG/PAvuBdJ70Z/bXVPf8TVsR292zQ65xwvWTejROW6AZX6aqucUjlENAErBme1YHmOSpU6tr6doJ66dPzVAWIanmO/5mgjNEDeK7DDqQdB1xd03HT2Qs2TxY3kCK8aAb/0iM0HQiXjxZ9HIgYhbtvGEnDKW5ILSUydqH/KBhW4Pb0jZWnqN/YgbWDKeJxnDbYcUob5ZY5Lt5ZCMKuaGUvCJRrCtuugSMaqjowCGRempsDdJEt+cMaalhZ6gczklJB/IbdwENW9KeVFPoFNFzhxWUIS5ML9riVYhAtE6JE5jX0xiHNVIIPthb458cfA8daR0nYfYAUKogQArm0iBezOO+mPk5vCNWI+wwkyFCqNDXz/qxl1gAntuCJtSfq9OC3NkdhQlgYQ==");
|
.decode("ABSY21VckQcbSXVNCGRYJcfWHiAMZmpTtTELcDmxgdFbtp/bWsSxZdMKzfCp8rvIs8ocCU3B37fT3r4Mi5qAemeGeR2X+/YmOGR5ofui7tD5mDQfstAI9i+4WpMtIe8KC3wU5w3Inq3uNWVmoGtpKndsNfwJrCg0Hd9zmObhypUnSkfYn2ooMOOnBpfdanRtrvetZUayDMSC5iSRcXKpdlukrpzzsCIvEwjwQlJYVPOQPj4V0F4UXXBdHSLK05uoPBCQG8G9rYIGedYsClJXnbrgGYG3eMTG5hnx4X4ntARBgELuMWWUEEfSK0mjXg+/2lPmWcTZWR9nkqgQQP0tbzuiPm74H2wMO4u1Wafe+UwyIlIT9L7KLS19Aw8r4sPrXZSSsOZ6s7M1+rTJN0bI5CKY2PX29y5Ok3jSWufIKcgKOnWoP67d5b2du2ZVJjpjfibNIHbT/cegy/sBLoFwtHogVYUewANUAXIaMPyCLRArsKhfJ5wBtTminG/PAvuBdJ70Z/bXVPf8TVsR292zQ65xwvWTejROW6AZX6aqucUjlENAErBme1YHmOSpU6tr6doJ66dPzVAWIanmO/5mgjNEDeK7DDqQdB1xd03HT2Qs2TxY3kCK8aAb/0iM0HQiXjxZ9HIgYhbtvGEnDKW5ILSUydqH/KBhW4Pb0jZWnqN/YgbWDKeJxnDbYcUob5ZY5Lt5ZCMKuaGUvCJRrCtuugSMaqjowCGRempsDdJEt+cMaalhZ6gczklJB/IbdwENW9KeVFPoFNFzhxWUIS5ML9riVYhAtE6JE5jX0xiHNVIIPthb458cfA8daR0nYfYAUKogQArm0iBezOO+mPk5vCNWI+wwkyFCqNDXz/qxl1gAntuCJtSfq9OC3NkdhQlgYQ==");
|
||||||
|
@ -68,6 +70,7 @@ class StagingConfig {
|
||||||
interceptors,
|
interceptors,
|
||||||
dns,
|
dns,
|
||||||
proxy,
|
proxy,
|
||||||
|
systemProxy,
|
||||||
zkGroupServerPublicParams,
|
zkGroupServerPublicParams,
|
||||||
genericServerPublicParams,
|
genericServerPublicParams,
|
||||||
backupServerPublicParams,
|
backupServerPublicParams,
|
||||||
|
|
|
@ -535,9 +535,9 @@ public class AccountHelper {
|
||||||
account.getAciIdentityKeyPair(),
|
account.getAciIdentityKeyPair(),
|
||||||
account.getPniIdentityKeyPair(),
|
account.getPniIdentityKeyPair(),
|
||||||
account.getProfileKey(),
|
account.getProfileKey(),
|
||||||
|
account.getOrCreateAccountEntropyPool(),
|
||||||
account.getOrCreatePinMasterKey(),
|
account.getOrCreatePinMasterKey(),
|
||||||
account.getOrCreateMediaRootBackupKey(),
|
account.getOrCreateMediaRootBackupKey(),
|
||||||
account.getOrCreateAccountEntropyPool(),
|
|
||||||
verificationCode.getVerificationCode(),
|
verificationCode.getVerificationCode(),
|
||||||
null));
|
null));
|
||||||
account.setMultiDevice(true);
|
account.setMultiDevice(true);
|
||||||
|
@ -595,7 +595,7 @@ public class AccountHelper {
|
||||||
}
|
}
|
||||||
account.setRegistrationLockPin(null);
|
account.setRegistrationLockPin(null);
|
||||||
|
|
||||||
dependencies.getAccountManager().deleteAccount();
|
handleResponseException(dependencies.getAccountApi().deleteAccount());
|
||||||
|
|
||||||
account.setRegistered(false);
|
account.setRegistered(false);
|
||||||
unregisteredListener.call();
|
unregisteredListener.call();
|
||||||
|
|
|
@ -241,7 +241,6 @@ public class RecipientHelper {
|
||||||
token,
|
token,
|
||||||
null,
|
null,
|
||||||
dependencies.getLibSignalNetwork(),
|
dependencies.getLibSignalNetwork(),
|
||||||
false,
|
|
||||||
newToken -> {
|
newToken -> {
|
||||||
if (isPartialRefresh) {
|
if (isPartialRefresh) {
|
||||||
account.getCdsiStore().updateAfterPartialCdsQuery(newNumbers);
|
account.getCdsiStore().updateAfterPartialCdsQuery(newNumbers);
|
||||||
|
|
|
@ -29,7 +29,6 @@ import org.asamk.signal.manager.util.KeyUtils;
|
||||||
import org.signal.libsignal.protocol.IdentityKeyPair;
|
import org.signal.libsignal.protocol.IdentityKeyPair;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.whispersystems.signalservice.api.groupsv2.ClientZkOperations;
|
|
||||||
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.push.exceptions.AuthorizationFailedException;
|
import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException;
|
||||||
|
@ -76,7 +75,6 @@ public class ProvisioningManagerImpl implements ProvisioningManager {
|
||||||
|
|
||||||
tempIdentityKey = KeyUtils.generateIdentityKeyPair();
|
tempIdentityKey = KeyUtils.generateIdentityKeyPair();
|
||||||
password = KeyUtils.createPassword();
|
password = KeyUtils.createPassword();
|
||||||
final var clientZkOperations = ClientZkOperations.create(serviceEnvironmentConfig.signalServiceConfiguration());
|
|
||||||
final var credentialsProvider = new DynamicCredentialsProvider(null,
|
final var credentialsProvider = new DynamicCredentialsProvider(null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
|
@ -85,7 +83,6 @@ public class ProvisioningManagerImpl implements ProvisioningManager {
|
||||||
final var pushServiceSocket = new PushServiceSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
final var pushServiceSocket = new PushServiceSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
||||||
credentialsProvider,
|
credentialsProvider,
|
||||||
userAgent,
|
userAgent,
|
||||||
clientZkOperations.getProfileOperations(),
|
|
||||||
ServiceConfig.AUTOMATIC_NETWORK_RETRY);
|
ServiceConfig.AUTOMATIC_NETWORK_RETRY);
|
||||||
final var provisioningSocket = new ProvisioningSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
final var provisioningSocket = new ProvisioningSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
||||||
userAgent);
|
userAgent);
|
||||||
|
|
|
@ -147,7 +147,6 @@ public class SignalDependencies {
|
||||||
() -> pushServiceSocket = new PushServiceSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
() -> pushServiceSocket = new PushServiceSocket(serviceEnvironmentConfig.signalServiceConfiguration(),
|
||||||
credentialsProvider,
|
credentialsProvider,
|
||||||
userAgent,
|
userAgent,
|
||||||
getClientZkProfileOperations(),
|
|
||||||
ServiceConfig.AUTOMATIC_NETWORK_RETRY));
|
ServiceConfig.AUTOMATIC_NETWORK_RETRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +289,7 @@ public class SignalDependencies {
|
||||||
Optional.of(credentialsProvider),
|
Optional.of(credentialsProvider),
|
||||||
userAgent,
|
userAgent,
|
||||||
healthMonitor,
|
healthMonitor,
|
||||||
allowStories), timer, TimeUnit.SECONDS.toMillis(10));
|
allowStories), () -> true, timer, TimeUnit.SECONDS.toMillis(10));
|
||||||
healthMonitor.monitor(authenticatedSignalWebSocket);
|
healthMonitor.monitor(authenticatedSignalWebSocket);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -306,7 +305,7 @@ public class SignalDependencies {
|
||||||
Optional.empty(),
|
Optional.empty(),
|
||||||
userAgent,
|
userAgent,
|
||||||
healthMonitor,
|
healthMonitor,
|
||||||
allowStories), timer, TimeUnit.SECONDS.toMillis(10));
|
allowStories), () -> true, timer, TimeUnit.SECONDS.toMillis(10));
|
||||||
healthMonitor.monitor(unauthenticatedSignalWebSocket);
|
healthMonitor.monitor(unauthenticatedSignalWebSocket);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ public class BaseConfig {
|
||||||
public static final String PROJECT_VERSION = BaseConfig.class.getPackage().getImplementationVersion();
|
public static final String PROJECT_VERSION = BaseConfig.class.getPackage().getImplementationVersion();
|
||||||
|
|
||||||
static final String USER_AGENT_SIGNAL_ANDROID = Optional.ofNullable(System.getenv("SIGNAL_CLI_USER_AGENT"))
|
static final String USER_AGENT_SIGNAL_ANDROID = Optional.ofNullable(System.getenv("SIGNAL_CLI_USER_AGENT"))
|
||||||
.orElse("Signal-Android/7.35.0");
|
.orElse("Signal-Android/7.41.3");
|
||||||
static final String USER_AGENT_SIGNAL_CLI = PROJECT_NAME == null
|
static final String USER_AGENT_SIGNAL_CLI = PROJECT_NAME == null
|
||||||
? "signal-cli"
|
? "signal-cli"
|
||||||
: PROJECT_NAME + "/" + PROJECT_VERSION;
|
: PROJECT_NAME + "/" + PROJECT_VERSION;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue