Summary
dns_get_record('localhost', DNS_AAAA) must return an array (empty or with AAAA rows). This compiler returns false, breaking count() and downstream callers.
Zend on the same host returns an array with one ::1 AAAA record.
php-src reference
ext/standard/dns.c — php_dns_get_record() / add_dns_record() for DNS_AAAA
Repro
test/repro/maintainer_gap_dns_get_record_aaaa_false.php:
./script/docker-exec.sh -- php test/repro/maintainer_gap_dns_get_record_aaaa_false.php # PASS (count=1)
./script/docker-exec.sh -- php bin/vm.php test/repro/maintainer_gap_dns_get_record_aaaa_false.php # FAIL: boolean
Expected (php-src-strict)
Always array on success path; never false when resolver returns records. Match Zend record shape (host, type, ipv6, ttl, …).
Implementation hints (PHP-in-PHP)
- Fix AAAA branch in DNS builtin (
ext/standard); share A-record parser where possible.
Done when
- Repro green on VM
DNS_A + DNS_AAAA combined flag smoke if applicable
Summary
dns_get_record('localhost', DNS_AAAA)must return an array (empty or with AAAA rows). This compiler returnsfalse, breakingcount()and downstream callers.Zend on the same host returns an array with one
::1AAAA record.php-src reference
ext/standard/dns.c—php_dns_get_record()/add_dns_record()forDNS_AAAARepro
test/repro/maintainer_gap_dns_get_record_aaaa_false.php:Expected (php-src-strict)
Always
arrayon success path; neverfalsewhen resolver returns records. Match Zend record shape (host,type,ipv6,ttl, …).Implementation hints (PHP-in-PHP)
ext/standard); share A-record parser where possible.Done when
DNS_A+DNS_AAAAcombined flag smoke if applicable