*/ 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:----ELP3Qs7Zv2+KeDaL3Xzgclazh13HlDSSdTg08VNpLji2OT/NkQhlwoFUH9Sjzxqhrz6u56kWvsi3j7+patI2XZrcdTEhPoaZSSjBgrnXHlYKFC9mmvOc3qNL258fWNg3GmhHwN52Ds+oGz08t3U+fQit1rnNApMyTNFt4kZz9E+wNXBLNRyblkgqGOZv4FbnLB/2yzcq5Gw201Yx9jHnEV4IPQ6MqlGoT4fQk1mrNxbNbSjGUygVqeb2eAfGhWCt8yTF06te9KNxh0qvENfbRLOLMyDNRI7HRq4HwRU41x3BSMiPCX9RPgXqCGZA44mX2vxauEhjCksWCmVu1P74i/PSe1ZOT5kKAxh3v31bbvPPR8tJzbOCJfjzv8aCkA5ZcMFDvcOQqLND+PjjVsNjtXtuC5+KC451kErc+5bMJkVEd9u4QC3cc9cDQZnPLZ0kKTIivgSg1NNS0I68J6c2RLR9ANPcUlI0JC+OZ7Cdd6KmUZxWwwaFBrLCHGKbMgeuFPedPSIpaEGf9axPgDSZ97ObMSioU9aQfv9xb1PWs3pB+A/ciG2W4kvgfybhLLv5+jkvq5vgnDm2IBizB14MfJgc08ZSHwtY844kYajGDCbYmdTOYkJZTLMfSzLCHbrHnC2KxsTf/5K8mr024jGUJOCGVi8RO8DaA2WUdRxgymw=----ATTACHMENT:----NTk1NzI5MDc5MjcxMjQyNSA1NTUyOTgwMDU5MDU5NjE1IDIyNDMyMTU3MDE0NTEwNw==