mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-28 13:48:12 +00:00
Update to libsignal-client 0.5.1
This commit is contained in:
@@ -375,7 +375,7 @@ dependencies {
|
||||
implementation project(':device-transfer')
|
||||
|
||||
implementation 'org.signal:zkgroup-android:0.7.0'
|
||||
implementation 'org.whispersystems:signal-client-android:0.1.7'
|
||||
implementation 'org.whispersystems:signal-client-android:0.5.1'
|
||||
implementation 'com.google.protobuf:protobuf-javalite:3.10.0'
|
||||
|
||||
implementation('com.mobilecoin:android-sdk:1.0.0') {
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.whispersystems.libsignal.IdentityKey;
|
||||
import org.whispersystems.libsignal.IdentityKeyPair;
|
||||
import org.whispersystems.libsignal.InvalidKeyIdException;
|
||||
import org.whispersystems.libsignal.SignalProtocolAddress;
|
||||
import org.whispersystems.libsignal.groups.state.SenderKeyRecord;
|
||||
import org.whispersystems.libsignal.state.IdentityKeyStore;
|
||||
import org.whispersystems.libsignal.state.PreKeyRecord;
|
||||
import org.whispersystems.libsignal.state.PreKeyStore;
|
||||
@@ -18,6 +19,7 @@ import org.whispersystems.signalservice.api.SignalServiceProtocolStore;
|
||||
import org.whispersystems.signalservice.api.SignalServiceSessionStore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class SignalProtocolStoreImpl implements SignalServiceProtocolStore {
|
||||
|
||||
@@ -137,4 +139,14 @@ public class SignalProtocolStoreImpl implements SignalServiceProtocolStore {
|
||||
public void removeSignedPreKey(int signedPreKeyId) {
|
||||
signedPreKeyStore.removeSignedPreKey(signedPreKeyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storeSenderKey(SignalProtocolAddress sender, UUID distributionId, SenderKeyRecord record) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public SenderKeyRecord loadSenderKey(SignalProtocolAddress sender, UUID distributionId) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,8 +60,8 @@ public class TextSecureSessionStore implements SignalServiceSessionStore {
|
||||
SessionRecord sessionRecord = DatabaseFactory.getSessionDatabase(context).load(recipientId, address.getDeviceId());
|
||||
|
||||
return sessionRecord != null &&
|
||||
sessionRecord.getSessionState().hasSenderChain() &&
|
||||
sessionRecord.getSessionState().getSessionVersion() == CiphertextMessage.CURRENT_VERSION;
|
||||
sessionRecord.hasSenderChain() &&
|
||||
sessionRecord.getSessionVersion() == CiphertextMessage.CURRENT_VERSION;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import org.signal.core.util.Conversions;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.database.SessionDatabase;
|
||||
import org.whispersystems.libsignal.state.SessionRecord;
|
||||
import org.whispersystems.libsignal.state.SessionState;
|
||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||
|
||||
import java.io.File;
|
||||
@@ -64,9 +63,7 @@ class SessionStoreMigrationHelper {
|
||||
|
||||
if (versionMarker == SINGLE_STATE_VERSION) {
|
||||
Log.i(TAG, "Migrating single state version: " + sessionFile.getAbsolutePath());
|
||||
SessionState sessionState = new SessionState(serialized);
|
||||
|
||||
sessionRecord = new SessionRecord(sessionState);
|
||||
sessionRecord = new SessionRecord(serialized);
|
||||
} else if (versionMarker >= ARCHIVE_STATES_VERSION) {
|
||||
Log.i(TAG, "Migrating session: " + sessionFile.getAbsolutePath());
|
||||
sessionRecord = new SessionRecord(serialized);
|
||||
|
||||
@@ -519,11 +519,11 @@ dependencyVerification {
|
||||
['org.threeten:threetenbp:1.3.6',
|
||||
'f4c23ffaaed717c3b99c003e0ee02d6d66377fd47d866fec7d971bd8644fc1a7'],
|
||||
|
||||
['org.whispersystems:signal-client-android:0.1.7',
|
||||
'1fade2c159934cd34782474fc4a1010b822e7cd22026ac5da1b25098c99ad6f6'],
|
||||
['org.whispersystems:signal-client-android:0.5.1',
|
||||
'c5b523163612fedcf71a5fb51a85cb5a4f545329ec6cf7d4fc885e830466c2e3'],
|
||||
|
||||
['org.whispersystems:signal-client-java:0.1.7',
|
||||
'59dd701f9564c2130177ddaca374d14ce54927075955288f85ff8f55565a78f0'],
|
||||
['org.whispersystems:signal-client-java:0.5.1',
|
||||
'682a8094d38a91c8759071b77177ed8196a7137314fdfbb17e819c9ca57a0397'],
|
||||
|
||||
['pl.tajchert:waitingdots:0.1.0',
|
||||
'2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c'],
|
||||
|
||||
@@ -21,7 +21,7 @@ dependencies {
|
||||
api 'com.googlecode.libphonenumber:libphonenumber:8.12.17'
|
||||
api 'com.fasterxml.jackson.core:jackson-databind:2.9.9.2'
|
||||
|
||||
api 'org.whispersystems:signal-client-java:0.1.7'
|
||||
api 'org.whispersystems:signal-client-java:0.5.1'
|
||||
api 'com.squareup.okhttp3:okhttp:3.12.10'
|
||||
implementation 'org.threeten:threetenbp:1.3.6'
|
||||
|
||||
|
||||
@@ -192,7 +192,7 @@ public class SignalServiceCipher {
|
||||
} else if (envelope.isUnidentifiedSender()) {
|
||||
SignalSealedSessionCipher sealedSessionCipher = new SignalSealedSessionCipher(sessionLock, new SealedSessionCipher(signalProtocolStore, localAddress.getUuid().orNull(), localAddress.getNumber().orNull(), 1));
|
||||
DecryptionResult result = sealedSessionCipher.decrypt(certificateValidator, ciphertext, envelope.getServerReceivedTimestamp());
|
||||
SignalServiceAddress resultAddress = new SignalServiceAddress(UuidUtil.parse(result.getSenderUuid().orNull()), result.getSenderE164());
|
||||
SignalServiceAddress resultAddress = new SignalServiceAddress(UuidUtil.parse(result.getSenderUuid()), result.getSenderE164());
|
||||
SignalProtocolAddress protocolAddress = getPreferredProtocolAddress(signalProtocolStore, resultAddress, result.getDeviceId());
|
||||
|
||||
paddedMessage = result.getPaddedMessage();
|
||||
|
||||
@@ -21,7 +21,7 @@ public class RemoteAttestationKeys {
|
||||
byte[] publicKeys = ByteUtil.combine(keyPair.getPublicKey().getPublicKeyBytes(), serverPublicEphemeral, serverPublicStatic);
|
||||
|
||||
HKDFv3 generator = new HKDFv3();
|
||||
byte[] keys = generator.deriveSecrets(masterSecret, publicKeys, null, clientKey.length + serverKey.length);
|
||||
byte[] keys = generator.deriveSecrets(masterSecret, publicKeys, new byte[0], clientKey.length + serverKey.length);
|
||||
|
||||
System.arraycopy(keys, 0, clientKey, 0, clientKey.length);
|
||||
System.arraycopy(keys, clientKey.length, serverKey, 0, serverKey.length);
|
||||
|
||||
@@ -30,7 +30,7 @@ dependencyVerification {
|
||||
['org.threeten:threetenbp:1.3.6',
|
||||
'f4c23ffaaed717c3b99c003e0ee02d6d66377fd47d866fec7d971bd8644fc1a7'],
|
||||
|
||||
['org.whispersystems:signal-client-java:0.1.7',
|
||||
'59dd701f9564c2130177ddaca374d14ce54927075955288f85ff8f55565a78f0'],
|
||||
['org.whispersystems:signal-client-java:0.5.1',
|
||||
'682a8094d38a91c8759071b77177ed8196a7137314fdfbb17e819c9ca57a0397'],
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user