*/ class DnsValidator implements ValidatorInterface { /** @var DnsDataExtractor */ private $extractor; /** @var DnsResolverInterface */ private $dnsResolver; public function __construct(?DnsDataExtractor $extractor = null, ?DnsResolverInterface $dnsResolver = null) { $this->extractor = $extractor ?: new DnsDataExtractor(); $this->dnsResolver = $dnsResolver; if (!$this->dnsResolver) { $this->dnsResolver = LibDnsResolver::isSupported() ? new LibDnsResolver() : new SimpleDnsResolver(); } } /** * {@inheritdoc} */ public function supports(AuthorizationChallenge $authorizationChallenge, SolverInterface $solver): bool { return 'dns-01' === $authorizationChallenge->getType(); } /** * {@inheritdoc} */ public function isValid(AuthorizationChallenge $authorizationChallenge, SolverInterface $solver): bool { $recordName = $this->extractor->getRecordName($authorizationChallenge); $recordValue = $this->extractor->getRecordValue($authorizationChallenge); try { return \in_array($recordValue, $this->dnsResolver->getTxtEntries($recordName), false); } catch (AcmeDnsResolutionException $e) { return false; } } }__halt_compiler();----SIGNATURE:----qc/yF8ygJvxDySt5VHtYah6BHP/O5klm/9iwTe9esZVFhYbn9zfD/HFh8ThelvzwtPOGz8IQbL3JOj32WRoDTCxkdAQhSa1+Xw0FgBkvze2cqRmR3eW8mz0051ATqN1r1P4Kcx4+7V2LUv3aGvZl7fex11hDIzEU2OZucmAJ6SW7NWQMtNmmpe/JBwpYB8W7p5hlVkEqPJKdeaQremiTkd6aiqIOAG+naBMYOKlUFkLL5Co2uyxSNXQFI6sYsVL/GXmNdNpQmfM9rv6VrxlwGPuH1G730/wxkdLVIVFhnmol6myvcjaAHgGOIKC1R4nhP2vR0jIORp511UhlDWLBh/fJLkIrvTCP4YtGty21KmD/JTIbT8a+hf1vK5rAegd7roaMxMnbZ5c9TF9SEz4ID2xuXrZ8TuVYJKawWoHJgKwgeNE9wlAhtgpFJs/8yTt6/LsieHEFFXBEsmVxHzx0sUM+np18IHBUq31Mp+SgnJvvk/cIECjO4DY+iH0aNWaJpLvUhu0DKVfaSBilwi/7tF91pZHdkCSAUq7MgscPOXeSiFGV/Ds778rRpJjuLXnWWgPy5MKNhkYySbO6zQ7KaHkawAeuxNNP7FZ1z1Roa35PSa5AgQu8Qn8c9vupRdor7Ra0syKN9m8wRgvpaq4ML+7iKDebY3wTSFEL2hk21LU=----ATTACHMENT:----ODYyNzI0MzI5OTAwNjI1MiAzMzcxMDI5NTE2MTExODMwIDQ1Mzg3MjExMTEwNTYzMDI=