Remove obsolete field from `SecureValueRecovery2Configuration`
This commit is contained in:
parent
fa8f19fd43
commit
a3c37aed47
|
@ -145,7 +145,6 @@ directoryV2:
|
||||||
userIdTokenSharedSecret: secret://directoryV2.client.userIdTokenSharedSecret
|
userIdTokenSharedSecret: secret://directoryV2.client.userIdTokenSharedSecret
|
||||||
|
|
||||||
svr2:
|
svr2:
|
||||||
enabled: false
|
|
||||||
uri: svr2.example.com
|
uri: svr2.example.com
|
||||||
userAuthenticationTokenSharedSecret: secret://svr2.userAuthenticationTokenSharedSecret
|
userAuthenticationTokenSharedSecret: secret://svr2.userAuthenticationTokenSharedSecret
|
||||||
userIdTokenSharedSecret: secret://svr2.userIdTokenSharedSecret
|
userIdTokenSharedSecret: secret://svr2.userIdTokenSharedSecret
|
||||||
|
|
|
@ -773,7 +773,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||||
config.getRemoteConfigConfiguration().globalConfig()),
|
config.getRemoteConfigConfiguration().globalConfig()),
|
||||||
new SecureBackupController(backupCredentialsGenerator, accountsManager),
|
new SecureBackupController(backupCredentialsGenerator, accountsManager),
|
||||||
new SecureStorageController(storageCredentialsGenerator),
|
new SecureStorageController(storageCredentialsGenerator),
|
||||||
new SecureValueRecovery2Controller(svr2CredentialsGenerator, accountsManager, config.getSvr2Configuration()),
|
new SecureValueRecovery2Controller(svr2CredentialsGenerator, accountsManager),
|
||||||
new StickerController(rateLimiters, config.getCdnConfiguration().accessKey().value(),
|
new StickerController(rateLimiters, config.getCdnConfiguration().accessKey().value(),
|
||||||
config.getCdnConfiguration().accessSecret().value(), config.getCdnConfiguration().region(),
|
config.getCdnConfiguration().accessSecret().value(), config.getCdnConfiguration().region(),
|
||||||
config.getCdnConfiguration().bucket()),
|
config.getCdnConfiguration().bucket()),
|
||||||
|
|
|
@ -13,7 +13,6 @@ import org.whispersystems.textsecuregcm.configuration.secrets.SecretBytes;
|
||||||
import org.whispersystems.textsecuregcm.util.ExactlySize;
|
import org.whispersystems.textsecuregcm.util.ExactlySize;
|
||||||
|
|
||||||
public record SecureValueRecovery2Configuration(
|
public record SecureValueRecovery2Configuration(
|
||||||
boolean enabled,
|
|
||||||
@NotBlank String uri,
|
@NotBlank String uri,
|
||||||
@ExactlySize(32) SecretBytes userAuthenticationTokenSharedSecret,
|
@ExactlySize(32) SecretBytes userAuthenticationTokenSharedSecret,
|
||||||
@ExactlySize(32) SecretBytes userIdTokenSharedSecret,
|
@ExactlySize(32) SecretBytes userIdTokenSharedSecret,
|
||||||
|
|
|
@ -19,7 +19,6 @@ import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.ws.rs.Consumes;
|
import javax.ws.rs.Consumes;
|
||||||
import javax.ws.rs.GET;
|
import javax.ws.rs.GET;
|
||||||
import javax.ws.rs.NotFoundException;
|
|
||||||
import javax.ws.rs.POST;
|
import javax.ws.rs.POST;
|
||||||
import javax.ws.rs.Path;
|
import javax.ws.rs.Path;
|
||||||
import javax.ws.rs.Produces;
|
import javax.ws.rs.Produces;
|
||||||
|
@ -60,14 +59,11 @@ public class SecureValueRecovery2Controller {
|
||||||
|
|
||||||
private final ExternalServiceCredentialsGenerator backupServiceCredentialGenerator;
|
private final ExternalServiceCredentialsGenerator backupServiceCredentialGenerator;
|
||||||
private final AccountsManager accountsManager;
|
private final AccountsManager accountsManager;
|
||||||
private final boolean enabled;
|
|
||||||
|
|
||||||
public SecureValueRecovery2Controller(final ExternalServiceCredentialsGenerator backupServiceCredentialGenerator,
|
public SecureValueRecovery2Controller(final ExternalServiceCredentialsGenerator backupServiceCredentialGenerator,
|
||||||
final AccountsManager accountsManager,
|
final AccountsManager accountsManager) {
|
||||||
final SecureValueRecovery2Configuration cfg) {
|
|
||||||
this.backupServiceCredentialGenerator = backupServiceCredentialGenerator;
|
this.backupServiceCredentialGenerator = backupServiceCredentialGenerator;
|
||||||
this.accountsManager = accountsManager;
|
this.accountsManager = accountsManager;
|
||||||
this.enabled = cfg.enabled();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Timed
|
@Timed
|
||||||
|
@ -84,9 +80,6 @@ public class SecureValueRecovery2Controller {
|
||||||
@ApiResponse(responseCode = "200", description = "`JSON` with generated credentials.", useReturnTypeSchema = true)
|
@ApiResponse(responseCode = "200", description = "`JSON` with generated credentials.", useReturnTypeSchema = true)
|
||||||
@ApiResponse(responseCode = "401", description = "Account authentication check failed.")
|
@ApiResponse(responseCode = "401", description = "Account authentication check failed.")
|
||||||
public ExternalServiceCredentials getAuth(@Auth final AuthenticatedAccount auth) {
|
public ExternalServiceCredentials getAuth(@Auth final AuthenticatedAccount auth) {
|
||||||
if (!enabled) {
|
|
||||||
throw new NotFoundException();
|
|
||||||
}
|
|
||||||
return backupServiceCredentialGenerator.generateFor(auth.getAccount().getUuid().toString());
|
return backupServiceCredentialGenerator.generateFor(auth.getAccount().getUuid().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ public class SecureValueRecovery2Client {
|
||||||
private final ExternalServiceCredentialsGenerator secureValueRecoveryCredentialsGenerator;
|
private final ExternalServiceCredentialsGenerator secureValueRecoveryCredentialsGenerator;
|
||||||
private final URI deleteUri;
|
private final URI deleteUri;
|
||||||
private final FaultTolerantHttpClient httpClient;
|
private final FaultTolerantHttpClient httpClient;
|
||||||
private final boolean enabled;
|
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String DELETE_PATH = "/v1/delete";
|
static final String DELETE_PATH = "/v1/delete";
|
||||||
|
@ -53,15 +52,10 @@ public class SecureValueRecovery2Client {
|
||||||
.withSecurityProtocol(FaultTolerantHttpClient.SECURITY_PROTOCOL_TLS_1_2)
|
.withSecurityProtocol(FaultTolerantHttpClient.SECURITY_PROTOCOL_TLS_1_2)
|
||||||
.withTrustedServerCertificates(configuration.svrCaCertificates().toArray(new String[0]))
|
.withTrustedServerCertificates(configuration.svrCaCertificates().toArray(new String[0]))
|
||||||
.build();
|
.build();
|
||||||
this.enabled = configuration.enabled();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CompletableFuture<Void> deleteBackups(final UUID accountUuid) {
|
public CompletableFuture<Void> deleteBackups(final UUID accountUuid) {
|
||||||
|
|
||||||
if (!enabled) {
|
|
||||||
return CompletableFuture.completedFuture(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
final ExternalServiceCredentials credentials = secureValueRecoveryCredentialsGenerator.generateForUuid(accountUuid);
|
final ExternalServiceCredentials credentials = secureValueRecoveryCredentialsGenerator.generateForUuid(accountUuid);
|
||||||
|
|
||||||
final HttpRequest request = HttpRequest.newBuilder()
|
final HttpRequest request = HttpRequest.newBuilder()
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.whispersystems.textsecuregcm.util.SystemMapper;
|
||||||
public class SecureValueRecovery2ControllerTest extends SecureValueRecoveryControllerBaseTest {
|
public class SecureValueRecovery2ControllerTest extends SecureValueRecoveryControllerBaseTest {
|
||||||
|
|
||||||
private static final SecureValueRecovery2Configuration CFG = new SecureValueRecovery2Configuration(
|
private static final SecureValueRecovery2Configuration CFG = new SecureValueRecovery2Configuration(
|
||||||
true,
|
|
||||||
"",
|
"",
|
||||||
randomSecretBytes(32),
|
randomSecretBytes(32),
|
||||||
randomSecretBytes(32),
|
randomSecretBytes(32),
|
||||||
|
@ -40,7 +39,7 @@ public class SecureValueRecovery2ControllerTest extends SecureValueRecoveryContr
|
||||||
|
|
||||||
private static final AccountsManager ACCOUNTS_MANAGER = mock(AccountsManager.class);
|
private static final AccountsManager ACCOUNTS_MANAGER = mock(AccountsManager.class);
|
||||||
private static final SecureValueRecovery2Controller CONTROLLER =
|
private static final SecureValueRecovery2Controller CONTROLLER =
|
||||||
new SecureValueRecovery2Controller(CREDENTIAL_GENERATOR, ACCOUNTS_MANAGER, CFG);
|
new SecureValueRecovery2Controller(CREDENTIAL_GENERATOR, ACCOUNTS_MANAGER);
|
||||||
|
|
||||||
private static final ResourceExtension RESOURCES = ResourceExtension.builder()
|
private static final ResourceExtension RESOURCES = ResourceExtension.builder()
|
||||||
.addProvider(AuthHelper.getAuthFilter())
|
.addProvider(AuthHelper.getAuthFilter())
|
||||||
|
|
|
@ -52,7 +52,7 @@ class SecureValueRecovery2ClientTest {
|
||||||
credentialsGenerator = mock(ExternalServiceCredentialsGenerator.class);
|
credentialsGenerator = mock(ExternalServiceCredentialsGenerator.class);
|
||||||
httpExecutor = Executors.newSingleThreadExecutor();
|
httpExecutor = Executors.newSingleThreadExecutor();
|
||||||
|
|
||||||
final SecureValueRecovery2Configuration config = new SecureValueRecovery2Configuration(true,
|
final SecureValueRecovery2Configuration config = new SecureValueRecovery2Configuration(
|
||||||
"http://localhost:" + wireMock.getPort(),
|
"http://localhost:" + wireMock.getPort(),
|
||||||
randomSecretBytes(32),
|
randomSecretBytes(32),
|
||||||
randomSecretBytes(32),
|
randomSecretBytes(32),
|
||||||
|
|
Loading…
Reference in New Issue