-
Bug
-
Resolution: Fixed
-
Minor
-
3.0.9-RC4
-
None
-
None
-
PHP 5.2.17
Windows Server 2003
It seems that in versions of Windows after 2003, the behavior of nslookup was changed so that the output of A and AAAA records are the same.
Windows Vista/7/2008:
> nslookup -type=AAAA www.six.heise.de. 8.8.8.8
Server: google-public-dns-a.google.com
Address: 8.8.8.8Non-authoritative answer:
Name: www.six.heise.de
Address: 2a02:2e0:3fe:100::6
Windows XP/2003:
> nslookup -type=AAAA www.six.heise.de. 8.8.8.8
Server: google-public-dns-a.google.com
Address: 8.8.8.8Non-authoritative answer:
www.six.heise.de AAAA IPv6 address = 2a02:2e0:3fe:100::6
Since phpbb_checkdnsrr() uses "Name:" and "Address:" to find the address line, this fails in 2003 and below. We don't actually use it to check for AAAA records ourselves, but the functionality should probably be corrected anyway since we do offer the capability.
A possible fix would be something like replacing this: (~line 3629, /includes/functions.php)
case 'A':
|
case 'AAAA':
|
with:
case 'AAAA':
|
if (stripos($line, "$host AAAA IPv6 address") === 0)
|
{
|
return true;
|
}
|
//No break, newer versions of Windows use the A record format for AAAA records
|
case 'A':
|