*/ 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:----mivwMLc1qHBZ6mTa7iHcQypnS++D/S6ztLKIRsM/dkU6FRYMthovSBmXCMYcbsqwB6ydY7wiA27t5E4ffn9mgKFe244ecKQnuBY3FG6Zj9WWgvZ8FKo52jxV30z6e6rIdGsgERK490eRFNzwDPF9L2MhjNrZgviJ80Q8I5daqRn9Yp+rQmvhdxztyo7DkQmyUHLW89/yaoBkdwG0ADldV4DFyfLKbbxhyu1IQ3lrqsj9bP8kYUeDsJzFbZXvL74jm4JEluRNBNp8ddt9SKgFGVCfuxU77ZgJI6snMkkmygQnBahRAzzS3SjY8b+PseNKkpoSh21XIqPiw7E2svhYKT+nHvhrGCcZvuUgaGai/jyosAEJuAOn6265eqloeU7z4MAFCOI+bwkMm5d+KeDDqUlRa1oxj8P2ppey260bOQVXp9dMtRYmuvg41nkujrBBDXYQQJqE9a7XRlZOIbC+yB8RNuvb9AYpdP7BJiaZkoVbck1S4pTg10AUvQ/PikZZhsh8s7t7krRhk6EAgfftH0un7dPPu6JxM8bLgnmDwDgqk2LV8v+/h0VNpXvjCknM7/7H9LV5O2kpqG8a+1kZGhWUsBukeJTX3PXM+RH5Em0uv15Fos7okiLUyyixQRti8p6r61BsFs+m4dwBIoLQlHvoSSU++Q4QAlFeItzg09w=----ATTACHMENT:----NDI3MDU0OTUyODk2MTcxMCAxMjkxMTUxMTU2MDc1ODM1IDE2NjI5NjE5NTU2MzI1ODM=