#18966 [Bgs->Opn]: gethostbyaddr() crashes Apache on certain IPs
ID: 18966
User updated by: php@silisoftware.com
Reported By: php@silisoftware.com
-Status: Bogus
+Status: Open
Bug Type: Reproducible crash
Operating System: Windows XP Home (NT5.1b2600)
PHP Version: 4.2.2
New Comment:
Webalizer's latest version appears to deal with this issue- it no
longer crashes on malformed responses.
Microsoft insists that it's a problem with the 3rd-party programs and
not XP itself.
So given that Analog and Webalizer both used to suffer from this
problem, yet both managed to code around it and be XP-compatible, I
still think that it should be possible to put some checks in PHP to
prevent it crashing the webserver.
Previous Comments:
------------------------------------------------------------------------
[2002-08-19 12:49:40] php@silisoftware.com
Analog seems to have suffered a similar problem until v5.2:
http://www.analog.cx/bugs.html
"Analog occasionally crashes under Windows XP when doing DNS lookups,
if the host returns a malformed response."
If this is a similar case to what I'm experiencing, there's no way I
can filter out IPs that'll crash my system, but shouldn't PHP be able
to check for a properly formed response during the gethostbyaddr()
function?
------------------------------------------------------------------------
[2002-08-19 12:01:44] msopacua@idg.nl
This does have a very suspicious nameserver:
For authoritative answers, see:
mitsui.com 3600 IN SOA nyc0x001.mitsui.com
amonty.nyc.mitsui.com(
130 ;serial (version)
3600 ;refresh period
600 ;retry refresh this often
86400 ;expiration period
3600 ;minimum TTL
)
nyc0x001
But indeed - if Webalizer freaks out, the bug is probably in XP. You
may have stumbled upon something really nice here.
------------------------------------------------------------------------
[2002-08-19 11:21:00] edink@php.net
This is most likely a bug in your system. I run your script on a
Windows 2000 machine and it worked just fine. It simply printed
'208.133.226.85'.
------------------------------------------------------------------------
[2002-08-19 11:07:07] php@silisoftware.com
gethostbyaddr() crashes Apache (v1.3.24) when looking up certain IPs.
Example script:
echo gethostbyaddr('208.133.226.85');
Every other IP I've tried (so far about 40,000) didn't have any
problems. I tried the above line on another server running PHP4.2.2,
Apache v1.3.26 and some form of Linux (2.4.9-31) and that had no
problems.
Probably related: the Windows port of Webalizer crashes when performing
DNS lookups on the same line of the log file, so I suspect it's
something to do with DNS lookups in Windows (?).
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18966&edit=1
Thread (7 messages)