|
|
|
|
@ -57,17 +57,21 @@ class DnsPinMiddleware {
|
|
|
|
|
|
|
|
|
|
$soaDnsEntry = $this->soaRecord($target);
|
|
|
|
|
$dnsNegativeTtl = $soaDnsEntry['minimum-ttl'] ?? null;
|
|
|
|
|
$canHaveCnameRecord = true;
|
|
|
|
|
|
|
|
|
|
$dnsTypes = \defined('AF_INET6') || @inet_pton('::1')
|
|
|
|
|
? [DNS_A, DNS_AAAA, DNS_CNAME]
|
|
|
|
|
: [DNS_A, DNS_CNAME];
|
|
|
|
|
foreach ($dnsTypes as $dnsType) {
|
|
|
|
|
if ($canHaveCnameRecord === false && $dnsType === DNS_CNAME) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($this->negativeDnsCache->isNegativeCached($target, $dnsType)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$dnsResponses = $this->dnsGetRecord($target, $dnsType);
|
|
|
|
|
$canHaveCnameRecord = true;
|
|
|
|
|
if ($dnsResponses !== false && count($dnsResponses) > 0) {
|
|
|
|
|
foreach ($dnsResponses as $dnsResponse) {
|
|
|
|
|
if (isset($dnsResponse['ip'])) {
|
|
|
|
|
|