#27657 [Fbk->Csd]: dns_get_record aborts script when domain has TXT record
ID: 27657
Updated by: pollita@php.net
Reported By: wechsler at phase dot org
-Status: Feedback
+Status: Closed
Bug Type: *Network Functions
Operating System: Linux version 2.4.18-bf2.4 (root
PHP Version: 5.0.0RC1
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
This one was my fault. The host environment supplies a value for
"Maximum Hostname Length", but TXT records aren't hostnames. They're
just strings.
The patch (done several days ago at this point) will allocate memory
for the record as needed now. It should also run a bit quicker as I
tidied things up while I was at it.
Previous Comments:
------------------------------------------------------------------------
[2004-03-19 06:55:53] derick@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
I can't reproduce this. Does the webserver crash? (See your apache
error log) If so, please generate a backtrace.
------------------------------------------------------------------------
[2004-03-19 06:53:06] wechsler at phase dot org
Bug engine has cropped OS data: full data as follows (based on Debian
3)
Linux version 2.4.18-bf2.4 (root@zombie) (gcc version 2.95.4 20011002
(Debian prerelease)) #1 Son Apr 14 09:53:28 CEST 2002
Full PHPinfo() for this server at
http://sentinel3.phase.org/test.php
------------------------------------------------------------------------
[2004-03-19 06:47:39] wechsler at phase dot org
Description:
------------
Use of function dns_get_record produces zero-length output when looking
up any domain name that has an associated TXT record.
Tested with:
phase.org, aol.com, pobox.com (all have TXT record, zero data
returned)
php.net, yahoo.com (no TXT record, works OK)
Reproduce code:
---------------
<?php
/* code taken from
http://www.php.net/manual/en/function.dns-get-record.php
tested at:
http://sentinel3.phase.org/dnstest.php
http://sentinel3.phase.org/dnstest.phps
*/
header('Content-type: text/plain');
/* Request "ANY" record for php.net,
and create $authns and $addtl arrays
containing list of name servers and
any additional records which go with
them */
$result = dns_get_record("aol.com", DNS_ANY, $authns, $addtl);
echo "Result = ";
print_r($result);
echo "Auth NS = ";
print_r($authns);
echo "Additional = ";
print_r($addtl);
?>
Expected result:
----------------
DNS print_r output as at
http://www.php.net/manual/en/function.dns-get-record.php
Actual result:
--------------
Squid reports:
While trying to retrieve the URL:
http://sentinel3.phase.org/dnstest.php
The following error was encountered:
* Zero Sized Reply
Squid did not receive any data for this request.
Equivalent response seen without proxy.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27657&edit=1
Thread (5 messages)