From 80745509ca52ae0128900d5683ce30ea6adee0b3 Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Mon, 4 May 2026 12:46:52 +0530 Subject: [PATCH 1/2] Fix DNS retrieval to use active provider (Sectigo/Openprovider) --- .../OpenProvider/API/ApiHelper.php | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php index ea11526a..55185f07 100644 --- a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php +++ b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php @@ -415,12 +415,20 @@ public function deleteNameserver(string $nameServerName): array */ public function getDns(Domain $domain): array { + + $domainData = $this->getDomain($domain); + + $provider = $this->getDnsProviderFromDomainData($domainData); + logModuleCall('OpenProvider', 'getDns', $domain->getFullName(), ['provider' => $provider], null, null); $args = [ 'name' => $domain->getFullName(), + 'provider' => $provider, 'withHistory' => false, ]; - return $this->buildResponse($this->apiClient->call('retrieveZoneDnsRequest', $args)); + return $this->buildResponse( + $this->apiClient->call('retrieveZoneDnsRequest', $args) + ); } /** @@ -717,6 +725,26 @@ public function supportsDnssec(string $tld): bool } } + + /** + * @param array $domainData + * @return string + */ + private function getDnsProviderFromDomainData(array $domainData): string + { + $nsGroup = strtolower((string) ($domainData['nsGroup'] ?? '')); + + if ( + ($domainData['hasActiveSectigoZone'] ?? false) === true || + ($domainData['isSectigoDnsEnabled'] ?? false) === true || + str_contains($nsGroup, 'sectigo') + ) { + return 'sectigo'; + } + + return 'openprovider'; + } + /** * @param ResponseInterface $response * @return array From afdd805f2456f2a15c8401778eab9412aea1a3b4 Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 6 May 2026 10:08:09 +0530 Subject: [PATCH 2/2] updated code for update/delete --- .../OpenProvider/API/ApiHelper.php | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php index 55185f07..5571f6b0 100644 --- a/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php +++ b/modules/registrars/openprovider/OpenProvider/API/ApiHelper.php @@ -415,14 +415,9 @@ public function deleteNameserver(string $nameServerName): array */ public function getDns(Domain $domain): array { - - $domainData = $this->getDomain($domain); - - $provider = $this->getDnsProviderFromDomainData($domainData); - logModuleCall('OpenProvider', 'getDns', $domain->getFullName(), ['provider' => $provider], null, null); $args = [ 'name' => $domain->getFullName(), - 'provider' => $provider, + 'provider' => $this->getActiveDnsProvider($domain), 'withHistory' => false, ]; @@ -441,6 +436,7 @@ public function updateDnsRecords(Domain $domain, array $records): array { $args = [ 'name' => $domain->getFullName(), + 'provider' => $this->getActiveDnsProvider($domain), 'type' => 'master', 'records' => [ 'replace' => $records, @@ -479,8 +475,9 @@ public function removeDnsRecord(Domain $domain, array $record): array } $args = [ - 'name' => $zoneName, - 'type' => 'master', + 'name' => $zoneName, + 'provider' => $this->getActiveDnsProvider($domain), + 'type' => 'master', 'records' => [ 'remove' => [$payload], ], @@ -514,6 +511,7 @@ public function deleteDnsRecords(Domain $domain): array { $args = [ 'name' => $domain->getFullName(), + 'provider' => $this->getActiveDnsProvider($domain), ]; try { @@ -725,24 +723,29 @@ public function supportsDnssec(string $tld): bool } } - /** - * @param array $domainData + * @param Domain $domain * @return string */ - private function getDnsProviderFromDomainData(array $domainData): string + private function getActiveDnsProvider(Domain $domain): string { - $nsGroup = strtolower((string) ($domainData['nsGroup'] ?? '')); + try { + $domainData = $this->getDomain($domain); - if ( - ($domainData['hasActiveSectigoZone'] ?? false) === true || - ($domainData['isSectigoDnsEnabled'] ?? false) === true || - str_contains($nsGroup, 'sectigo') - ) { - return 'sectigo'; - } + $nsGroup = strtolower((string) ($domainData['nsGroup'] ?? '')); + + if ( + filter_var($domainData['hasActiveSectigoZone'] ?? false, FILTER_VALIDATE_BOOLEAN) || + filter_var($domainData['isSectigoDnsEnabled'] ?? false, FILTER_VALIDATE_BOOLEAN) || + str_contains($nsGroup, 'sectigo') + ) { + return 'sectigo'; + } - return 'openprovider'; + return 'openprovider'; + } catch (\Throwable $e) { + return 'openprovider'; // fallback + } } /**