Inline and enable the SSRE2 config.

This commit is contained in:
Greyson Parrelli
2025-01-06 12:27:27 -05:00
parent 6643256d54
commit 0655b6f767
6 changed files with 6 additions and 16 deletions

View File

@@ -8,12 +8,12 @@ object AppCapabilities {
* asking if the user has set a Signal PIN or not. * asking if the user has set a Signal PIN or not.
*/ */
@JvmStatic @JvmStatic
fun getCapabilities(storageCapable: Boolean, storageServiceEncryptionV2: Boolean): AccountAttributes.Capabilities { fun getCapabilities(storageCapable: Boolean): AccountAttributes.Capabilities {
return AccountAttributes.Capabilities( return AccountAttributes.Capabilities(
storage = storageCapable, storage = storageCapable,
deleteSync = true, deleteSync = true,
versionedExpirationTimer = true, versionedExpirationTimer = true,
storageServiceEncryptionV2 = storageServiceEncryptionV2 storageServiceEncryptionV2 = true
) )
} }
} }

View File

@@ -104,7 +104,7 @@ public class RefreshAttributesJob extends BaseJob {
String deviceName = SignalStore.account().getDeviceName(); String deviceName = SignalStore.account().getDeviceName();
byte[] encryptedDeviceName = (deviceName == null) ? null : DeviceNameCipher.encryptDeviceName(deviceName.getBytes(StandardCharsets.UTF_8), SignalStore.account().getAciIdentityKey()); byte[] encryptedDeviceName = (deviceName == null) ? null : DeviceNameCipher.encryptDeviceName(deviceName.getBytes(StandardCharsets.UTF_8), SignalStore.account().getAciIdentityKey());
AccountAttributes.Capabilities capabilities = AppCapabilities.getCapabilities(svrValues.hasOptedInWithAccess() && !svrValues.hasOptedOut(), RemoteConfig.getStorageServiceEncryptionV2()); AccountAttributes.Capabilities capabilities = AppCapabilities.getCapabilities(svrValues.hasOptedInWithAccess() && !svrValues.hasOptedOut());
Log.i(TAG, "Calling setAccountAttributes() reglockV2? " + !TextUtils.isEmpty(registrationLockV2) + ", pin? " + svrValues.hasPin() + ", access? " + svrValues.hasOptedInWithAccess() + Log.i(TAG, "Calling setAccountAttributes() reglockV2? " + !TextUtils.isEmpty(registrationLockV2) + ", pin? " + svrValues.hasPin() + ", access? " + svrValues.hasOptedInWithAccess() +
"\n Recovery password? " + !TextUtils.isEmpty(recoveryPassword) + "\n Recovery password? " + !TextUtils.isEmpty(recoveryPassword) +
"\n Phone number discoverable : " + phoneNumberDiscoverable + "\n Phone number discoverable : " + phoneNumberDiscoverable +

View File

@@ -31,7 +31,7 @@ public final class LogSectionCapabilities implements LogSection {
Recipient self = Recipient.self(); Recipient self = Recipient.self();
AccountAttributes.Capabilities localCapabilities = AppCapabilities.getCapabilities(false, RemoteConfig.getStorageServiceEncryptionV2()); AccountAttributes.Capabilities localCapabilities = AppCapabilities.getCapabilities(false);
RecipientRecord.Capabilities globalCapabilities = SignalDatabase.recipients().getCapabilities(self.getId()); RecipientRecord.Capabilities globalCapabilities = SignalDatabase.recipients().getCapabilities(self.getId());
StringBuilder builder = new StringBuilder().append("-- Local").append("\n") StringBuilder builder = new StringBuilder().append("-- Local").append("\n")

View File

@@ -58,7 +58,6 @@ import org.thoughtcrime.securesms.registration.fcm.PushChallengeRequest
import org.thoughtcrime.securesms.registration.viewmodel.SvrAuthCredentialSet import org.thoughtcrime.securesms.registration.viewmodel.SvrAuthCredentialSet
import org.thoughtcrime.securesms.service.DirectoryRefreshListener import org.thoughtcrime.securesms.service.DirectoryRefreshListener
import org.thoughtcrime.securesms.service.RotateSignedPreKeyListener import org.thoughtcrime.securesms.service.RotateSignedPreKeyListener
import org.thoughtcrime.securesms.util.RemoteConfig
import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.signalservice.api.NetworkResult import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.SvrNoDataException import org.whispersystems.signalservice.api.SvrNoDataException
@@ -420,7 +419,7 @@ object RegistrationRepository {
registrationLock = registrationLock, registrationLock = registrationLock,
unidentifiedAccessKey = unidentifiedAccessKey, unidentifiedAccessKey = unidentifiedAccessKey,
unrestrictedUnidentifiedAccess = universalUnidentifiedAccess, unrestrictedUnidentifiedAccess = universalUnidentifiedAccess,
capabilities = AppCapabilities.getCapabilities(true, RemoteConfig.storageServiceEncryptionV2), capabilities = AppCapabilities.getCapabilities(true),
discoverableByPhoneNumber = SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode == PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.DISCOVERABLE, discoverableByPhoneNumber = SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode == PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.DISCOVERABLE,
name = null, name = null,
pniRegistrationId = registrationData.pniRegistrationId, pniRegistrationId = registrationData.pniRegistrationId,

View File

@@ -61,7 +61,6 @@ import org.thoughtcrime.securesms.registration.fcm.PushChallengeRequest
import org.thoughtcrime.securesms.registration.viewmodel.SvrAuthCredentialSet import org.thoughtcrime.securesms.registration.viewmodel.SvrAuthCredentialSet
import org.thoughtcrime.securesms.service.DirectoryRefreshListener import org.thoughtcrime.securesms.service.DirectoryRefreshListener
import org.thoughtcrime.securesms.service.RotateSignedPreKeyListener import org.thoughtcrime.securesms.service.RotateSignedPreKeyListener
import org.thoughtcrime.securesms.util.RemoteConfig
import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.signalservice.api.NetworkResult import org.whispersystems.signalservice.api.NetworkResult
import org.whispersystems.signalservice.api.SvrNoDataException import org.whispersystems.signalservice.api.SvrNoDataException
@@ -415,7 +414,7 @@ object RegistrationRepository {
registrationLock = registrationLock, registrationLock = registrationLock,
unidentifiedAccessKey = unidentifiedAccessKey, unidentifiedAccessKey = unidentifiedAccessKey,
unrestrictedUnidentifiedAccess = universalUnidentifiedAccess, unrestrictedUnidentifiedAccess = universalUnidentifiedAccess,
capabilities = AppCapabilities.getCapabilities(true, RemoteConfig.storageServiceEncryptionV2), capabilities = AppCapabilities.getCapabilities(true),
discoverableByPhoneNumber = SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode == PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.DISCOVERABLE, discoverableByPhoneNumber = SignalStore.phoneNumberPrivacy.phoneNumberDiscoverabilityMode == PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.DISCOVERABLE,
name = null, name = null,
pniRegistrationId = registrationData.pniRegistrationId, pniRegistrationId = registrationData.pniRegistrationId,

View File

@@ -1127,13 +1127,5 @@ object RemoteConfig {
hotSwappable = true hotSwappable = true
) )
/** Whether or not this device supports the new storage service recordIkm encryption. */
@JvmStatic
val storageServiceEncryptionV2: Boolean by remoteBoolean(
key = "android.ssre2",
defaultValue = false,
hotSwappable = true
)
// endregion // endregion
} }