From 58c9e00ce0d8191366739226916ffac750894aba Mon Sep 17 00:00:00 2001 From: NaiJi Date: Sun, 20 Nov 2022 18:31:31 +0400 Subject: [PATCH] fix(recovery): Add reverse dns validation for digital ocean In Digital Ocean reverse dns is not domain name but just name, like mydomainname instead of mydomainname.xyz, so we need additional condition --- .../server_installation/server_installation_cubit.dart | 6 ++++-- .../server_installation/server_installation_repository.dart | 2 +- .../server_installation/server_installation_state.dart | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/logic/cubit/server_installation/server_installation_cubit.dart b/lib/logic/cubit/server_installation/server_installation_cubit.dart index fa18cda8..08852825 100644 --- a/lib/logic/cubit/server_installation/server_installation_cubit.dart +++ b/lib/logic/cubit/server_installation/server_installation_cubit.dart @@ -508,8 +508,8 @@ class ServerInstallationCubit extends Cubit { .showSnackBar('recovering.generic_error'.tr()); return; } - setServerProviderType(provider); await repository.saveServerDetails(serverDetails); + setServerProviderType(provider); emit( dataState.copyWith( serverDetails: serverDetails, @@ -600,7 +600,9 @@ class ServerInstallationCubit extends Cubit { serverBasicInfo: server, isIpValid: server.ip == dataState.serverDetails?.ip4, isReverseDnsValid: - server.reverseDns == dataState.serverDomain?.domainName, + server.reverseDns == dataState.serverDomain?.domainName || + server.reverseDns == + dataState.serverDomain?.domainName.split('.')[0], ), ); return validated.toList(); diff --git a/lib/logic/cubit/server_installation/server_installation_repository.dart b/lib/logic/cubit/server_installation/server_installation_repository.dart index 59e4921c..cc3860e3 100644 --- a/lib/logic/cubit/server_installation/server_installation_repository.dart +++ b/lib/logic/cubit/server_installation/server_installation_repository.dart @@ -86,7 +86,7 @@ class ServerInstallationRepository { if (box.get(BNames.hasFinalChecked, defaultValue: false)) { return ServerInstallationFinished( providerApiToken: providerApiToken!, - serverTypeIdentificator: serverTypeIdentificator!, + serverTypeIdentificator: serverTypeIdentificator ?? '', cloudFlareKey: cloudflareToken!, serverDomain: serverDomain!, backblazeCredential: backblazeCredential!, diff --git a/lib/logic/cubit/server_installation/server_installation_state.dart b/lib/logic/cubit/server_installation/server_installation_state.dart index ad88571e..331c3e2a 100644 --- a/lib/logic/cubit/server_installation/server_installation_state.dart +++ b/lib/logic/cubit/server_installation/server_installation_state.dart @@ -331,7 +331,7 @@ class ServerInstallationRecovery extends ServerInstallationState { ServerInstallationFinished finish() => ServerInstallationFinished( providerApiToken: providerApiToken!, - serverTypeIdentificator: serverTypeIdentificator!, + serverTypeIdentificator: serverTypeIdentificator ?? '', cloudFlareKey: cloudFlareKey!, backblazeCredential: backblazeCredential!, serverDomain: serverDomain!,