Uploaded image for project: 'phpBB'
  1. phpBB
  2. PHPBB-10257

AAAA record parsing fails on older versions of Windows

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • 3.0.10-RC1
    • 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.8

      Non-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.8

      Non-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':

            bantu Andreas Fischer [X] (Inactive)
            Noxwizard Patrick Webster
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: