From: simrit dot kaur at ibm dot com
Operating system: SLES 12SP5
PHP version: 8.0.2
Package: Testing related
Bug Type: Bug
Bug description:Test case bug73594.phpt fails even when dns_get_record()
populates additional
Description:
------------
For PHP v8.0.2, Test case "Bug #73594 (dns_get_record() does not
populate $additional out parameter)
[ext/standard/tests/network/bug73594.phpt]" failed on SLES 12SP5, s390x.
I noticed that this TC is getting skipped on most distros for x86 and
s390x due to one or the other SKIPIF reasons.
For my case, I took a tcpdump to confirm that DNS response had values in
$additional. This was also confirmed by dig command but the TC is still
failing..
"php > var_dump(!empty($res) && empty($additional));" is expected to
return "bool(true)" but is returning "bool(false)".
Please refer below snapshot for result of dig command and the Test
case.. I can see that dns_get_record() is also returning value in
$additional.
fyre@rotators1:~/php-8.0.2> php -a
Interactive shell
php > $ret = 0;
php > exec("dig -tmx php.net +noall +additional 2>/dev/null", $out,
$ret);
php > var_dump($ret);
int(0)
php > $out = preg_grep("/^(?!($|;))/", $out);
php > var_dump($out);
array(26) {
[0]=>
string(44) "i.gtld-servers.net. 74061 IN A
192.43.172.30"
[1]=>
string(43) "g.gtld-servers.net. 18269 IN A
192.42.93.30"
[2]=>
string(43) "l.gtld-servers.net. 2876 IN A
192.41.162.30"
[3]=>
string(43) "k.gtld-servers.net. 4222 IN A
192.52.178.30"
.
.
.
[25]=>
string(52) "b.gtld-servers.net. 4042 IN AAAA
2001:503:231d::2:30"
}
php >
php > $auth = array();
php > $additional = array();
php > $res = dns_get_record('php.net', DNS_MX, $auth, $additional);
php > var_dump(!empty($res) && empty($additional));
bool(false)
php > var_dump($res);
array(1) {
[0]=>
array(6) {
["host"]=>
string(7) "php.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(30)
["type"]=>
string(2) "MX"
["pri"]=>
int(0)
["target"]=>
string(21) "php-smtp4-ip4.php.net"
}
}
php > var_dump($additional);
array(28) {
[0]=>
array(5) {
["host"]=>
string(18) "i.gtld-servers.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(74061)
["type"]=>
string(1) "A"
["ip"]=>
string(13) "192.43.172.30"
}
[1]=>
array(5) {
["host"]=>
string(18) "g.gtld-servers.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(18269)
["type"]=>
string(1) "A"
["ip"]=>
string(12) "192.42.93.30"
}
.
.
[27]=>
array(5) {
["host"]=>
string(18) "i.gtld-servers.net"
["class"]=>
string(2) "IN"
["ttl"]=>
int(15164)
["type"]=>
string(4) "AAAA"
["ipv6"]=>
string(17) "2001:503:39c1::30"
}
}
php >
Can you please give me a pointer to why this TC might be failing? Could
this be a bug in the test case or in php code?
Test script:
---------------
To reproduce:
php -f php-8.0.2/ext/standard/tests/network/bug73594.phpt
OR
You can run this to check all values on php shell:
<?php
$ret = 0;
exec("dig -tmx php.net +noall +additional 2>/dev/null", $out, $ret);
var_dump($ret);
$out = preg_grep("/^(?!($|;))/", $out);
var_dump($out);
$auth = array();
$additional = array();
$res = dns_get_record('php.net', DNS_MX, $auth, $additional);
// only check $additional if dns_get_record is successful
var_dump(!empty($res) && empty($additional));
var_dump($res);
var_dump($additional);
?>
Expected result:
----------------
The Test case should pass.
--
Edit bug report at https://bugs.php.net/bug.php?id=80792&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=80792&r=fixed
Fixed in release:
https://bugs.php.net/fix.php?id=80792&r=alreadyfixed
Need backtrace:
https://bugs.php.net/fix.php?id=80792&r=needtrace
Need Reproduce Script:
https://bugs.php.net/fix.php?id=80792&r=needscript
Try newer version:
https://bugs.php.net/fix.php?id=80792&r=oldversion
Not developer issue:
https://bugs.php.net/fix.php?id=80792&r=support
Expected behavior:
https://bugs.php.net/fix.php?id=80792&r=notwrong
Not enough info:
https://bugs.php.net/fix.php?id=80792&r=notenoughinfo
Submitted twice:
https://bugs.php.net/fix.php?id=80792&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=80792&r=globals
PHP version support discontinued:
https://bugs.php.net/fix.php?id=80792&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=80792&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=80792&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=80792&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=80792&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=80792&r=nozend
MySQL Configuration Error:
https://bugs.php.net/fix.php?id=80792&r=mysqlcfg