diff --git a/db/pull.php b/db/pull.php index 2269ebec4f4a0b3b1160c742def74d0c24660500..5298b33cba503e2ac3a91a3a60283175426de7b4 100644 --- a/db/pull.php +++ b/db/pull.php @@ -112,14 +112,23 @@ while ($row = pg_fetch_assoc($result)) { _debug('Signup Open', $signup); - $ip = dns_get_record($_domain, DNS_A)[0]['ip'] ?? null; - $ipv6 = dns_get_record($_domain, DNS_AAAA)[0]['ipv6'] ?? null; - - $iplookup = []; - exec(escapeshellcmd('delv @' . $dnsserver . ' ' . $domain), $iplookup); - if ($iplookup) { - _debug('Iplookup', $iplookup, true); - $dnssec = in_array('; fully validated', $iplookup, true) ?? false; + $iplookupv4 = []; + exec(escapeshellcmd('delv @' . $dnsserver . ' ' . $domain), $iplookupv4); + if ($iplookupv4) { + _debug('Iplookupv4', $iplookupv4, true); + $dnssec = in_array('; fully validated', $iplookupv4, true) ?? false; + $getaonly = array_values(preg_grep('/\s+IN\s+A\s+.*/', $iplookupv4)); + preg_match('/A\s(.*)/', $getaonly[0], $aversion); + $ip = trim($aversion[1]); + } + $iplookupv6 = []; + exec(escapeshellcmd('delv @' . $dnsserver . ' ' . $domain . ' AAAA '), $iplookupv6); + if ($iplookupv6) { + _debug('Iplookupv6', $iplookupv6, true); + $dnssec = in_array('; fully validated', $iplookupv6, true) ?? false; + $getaaaaonly = array_values(preg_grep('/\s+IN\s+AAAA\s+.*/', $iplookupv6)); + preg_match('/A\s(.*)/', $getaaaaonly[0], $aaaaversion); + $ipv6 = trim($aaaaversion[1]); } $ip || $score -= 2; diff --git a/showfull.php b/showfull.php index ef18a488fe82828a660b394660eb72af6fe363da..b633d6336aa486e1fe8df10cec5482abb9b3f31e 100644 --- a/showfull.php +++ b/showfull.php @@ -97,7 +97,7 @@ $numrows = pg_num_rows($result); $row['service_wordpress'] === 't' && print '
'; $row['service_xmpp'] === 't' && print '