return backup, not storage, credentials for reg lock

This commit is contained in:
Jeffrey Griffin 2019-11-05 10:36:33 -08:00
parent 95c55a8ab3
commit f16b783378
5 changed files with 19 additions and 19 deletions

View File

@ -242,7 +242,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
DisabledPermittedAccount.class, disabledPermittedAccountAuthFilter))); DisabledPermittedAccount.class, disabledPermittedAccountAuthFilter)));
environment.jersey().register(new PolymorphicAuthValueFactoryProvider.Binder<>(ImmutableSet.of(Account.class, DisabledPermittedAccount.class))); environment.jersey().register(new PolymorphicAuthValueFactoryProvider.Binder<>(ImmutableSet.of(Account.class, DisabledPermittedAccount.class)));
environment.jersey().register(new AccountController(pendingAccountsManager, accountsManager, abusiveHostRules, rateLimiters, smsSender, directoryQueue, messagesManager, turnTokenGenerator, config.getTestDevices(), recaptchaClient, gcmSender, apnSender, storageCredentialsGenerator)); environment.jersey().register(new AccountController(pendingAccountsManager, accountsManager, abusiveHostRules, rateLimiters, smsSender, directoryQueue, messagesManager, turnTokenGenerator, config.getTestDevices(), recaptchaClient, gcmSender, apnSender, backupCredentialsGenerator));
environment.jersey().register(new DeviceController(pendingDevicesManager, accountsManager, messagesManager, directoryQueue, rateLimiters, config.getMaxDevices())); environment.jersey().register(new DeviceController(pendingDevicesManager, accountsManager, messagesManager, directoryQueue, rateLimiters, config.getMaxDevices()));
environment.jersey().register(new DirectoryController(rateLimiters, directory, directoryCredentialsGenerator)); environment.jersey().register(new DirectoryController(rateLimiters, directory, directoryCredentialsGenerator));
environment.jersey().register(new ProvisioningController(rateLimiters, pushSender)); environment.jersey().register(new ProvisioningController(rateLimiters, pushSender));

View File

@ -112,7 +112,7 @@ public class AccountController {
private final RecaptchaClient recaptchaClient; private final RecaptchaClient recaptchaClient;
private final GCMSender gcmSender; private final GCMSender gcmSender;
private final APNSender apnSender; private final APNSender apnSender;
private final ExternalServiceCredentialGenerator storageServiceCredentialGenerator; private final ExternalServiceCredentialGenerator backupServiceCredentialGenerator;
public AccountController(PendingAccountsManager pendingAccounts, public AccountController(PendingAccountsManager pendingAccounts,
AccountsManager accounts, AccountsManager accounts,
@ -126,7 +126,7 @@ public class AccountController {
RecaptchaClient recaptchaClient, RecaptchaClient recaptchaClient,
GCMSender gcmSender, GCMSender gcmSender,
APNSender apnSender, APNSender apnSender,
ExternalServiceCredentialGenerator storageServiceCredentialGenerator) ExternalServiceCredentialGenerator backupServiceCredentialGenerator)
{ {
this.pendingAccounts = pendingAccounts; this.pendingAccounts = pendingAccounts;
this.accounts = accounts; this.accounts = accounts;
@ -140,7 +140,7 @@ public class AccountController {
this.recaptchaClient = recaptchaClient; this.recaptchaClient = recaptchaClient;
this.gcmSender = gcmSender; this.gcmSender = gcmSender;
this.apnSender = apnSender; this.apnSender = apnSender;
this.storageServiceCredentialGenerator = storageServiceCredentialGenerator; this.backupServiceCredentialGenerator = backupServiceCredentialGenerator;
} }
@Timed @Timed
@ -281,7 +281,7 @@ public class AccountController {
long timeRemaining = TimeUnit.DAYS.toMillis(7) - (System.currentTimeMillis() - existingAccount.get().getLastSeen()); long timeRemaining = TimeUnit.DAYS.toMillis(7) - (System.currentTimeMillis() - existingAccount.get().getLastSeen());
Optional<ExternalServiceCredentials> credentials = existingAccount.get().getRegistrationLock().isPresent() && Optional<ExternalServiceCredentials> credentials = existingAccount.get().getRegistrationLock().isPresent() &&
existingAccount.get().getRegistrationLockSalt().isPresent() ? existingAccount.get().getRegistrationLockSalt().isPresent() ?
Optional.of(storageServiceCredentialGenerator.generateFor(number)) : Optional.of(backupServiceCredentialGenerator.generateFor(number)) :
Optional.empty(); Optional.empty();
if (Util.isEmpty(accountAttributes.getPin()) && if (Util.isEmpty(accountAttributes.getPin()) &&

View File

@ -1,9 +1,9 @@
package org.whispersystems.textsecuregcm.controllers; package org.whispersystems.textsecuregcm.controllers;
import com.codahale.metrics.annotation.Timed; import com.codahale.metrics.annotation.Timed;
import org.whispersystems.textsecuregcm.auth.DisabledPermittedAccount;
import org.whispersystems.textsecuregcm.auth.ExternalServiceCredentialGenerator; import org.whispersystems.textsecuregcm.auth.ExternalServiceCredentialGenerator;
import org.whispersystems.textsecuregcm.auth.ExternalServiceCredentials; import org.whispersystems.textsecuregcm.auth.ExternalServiceCredentials;
import org.whispersystems.textsecuregcm.storage.Account;
import javax.ws.rs.GET; import javax.ws.rs.GET;
import javax.ws.rs.Path; import javax.ws.rs.Path;
@ -25,7 +25,7 @@ public class SecureBackupController {
@GET @GET
@Path("/auth") @Path("/auth")
@Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON)
public ExternalServiceCredentials getAuth(@Auth DisabledPermittedAccount account) { public ExternalServiceCredentials getAuth(@Auth Account account) {
return backupServiceCredentialGenerator.generateFor(account.getAccount().getNumber()); return backupServiceCredentialGenerator.generateFor(account.getNumber());
} }
} }

View File

@ -10,13 +10,13 @@ public class RegistrationLockFailure {
private long timeRemaining; private long timeRemaining;
@JsonProperty @JsonProperty
private ExternalServiceCredentials storageCredentials; private ExternalServiceCredentials backupCredentials;
public RegistrationLockFailure() {} public RegistrationLockFailure() {}
public RegistrationLockFailure(long timeRemaining, ExternalServiceCredentials storageCredentials) { public RegistrationLockFailure(long timeRemaining, ExternalServiceCredentials backupCredentials) {
this.timeRemaining = timeRemaining; this.timeRemaining = timeRemaining;
this.storageCredentials = storageCredentials; this.backupCredentials = backupCredentials;
} }
@JsonIgnore @JsonIgnore
@ -25,7 +25,7 @@ public class RegistrationLockFailure {
} }
@JsonIgnore @JsonIgnore
public ExternalServiceCredentials getStorageCredentials() { public ExternalServiceCredentials getBackupCredentials() {
return storageCredentials; return backupCredentials;
} }
} }

View File

@ -581,7 +581,7 @@ public class AccountControllerTest {
assertThat(response.getStatus()).isEqualTo(423); assertThat(response.getStatus()).isEqualTo(423);
RegistrationLockFailure failure = response.readEntity(RegistrationLockFailure.class); RegistrationLockFailure failure = response.readEntity(RegistrationLockFailure.class);
assertThat(failure.getStorageCredentials()).isNull(); assertThat(failure.getBackupCredentials()).isNull();
verifyNoMoreInteractions(pinLimiter); verifyNoMoreInteractions(pinLimiter);
} }
@ -599,10 +599,10 @@ public class AccountControllerTest {
assertThat(response.getStatus()).isEqualTo(423); assertThat(response.getStatus()).isEqualTo(423);
RegistrationLockFailure failure = response.readEntity(RegistrationLockFailure.class); RegistrationLockFailure failure = response.readEntity(RegistrationLockFailure.class);
assertThat(failure.getStorageCredentials()).isNotNull(); assertThat(failure.getBackupCredentials()).isNotNull();
assertThat(failure.getStorageCredentials().getUsername()).isEqualTo(SENDER_REG_LOCK); assertThat(failure.getBackupCredentials().getUsername()).isEqualTo(SENDER_REG_LOCK);
assertThat(failure.getStorageCredentials().getPassword()).isNotEmpty(); assertThat(failure.getBackupCredentials().getPassword()).isNotEmpty();
assertThat(failure.getStorageCredentials().getPassword().startsWith(SENDER_REG_LOCK)).isTrue(); assertThat(failure.getBackupCredentials().getPassword().startsWith(SENDER_REG_LOCK)).isTrue();
assertThat(failure.getTimeRemaining()).isGreaterThan(0); assertThat(failure.getTimeRemaining()).isGreaterThan(0);
verifyNoMoreInteractions(pinLimiter); verifyNoMoreInteractions(pinLimiter);