Bug #8856 Updated: gethostbyname returns hostname instead of adress

From: Date: Sun, 22 Jul 2001 01:01:16 +0000
Subject: Bug #8856 Updated: gethostbyname returns hostname instead of adress
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-60518@lists.php.net to get a copy of this message
ID: 8856 Updated by: andy Reported By: niels@creatype.nl Old Status: Open Status: Closed Bug Type: Network related Operating System: Linux 2.2.17 PHP Version: 4.0.4pl1 New Comment: Works fine for me with the latest version (4.0.6) Previous Comments: ------------------------------------------------------------------------ [2001-03-10 20:21:46] venaas@php.net For at least some months, gethostbyname() in sockets.c has been replaced by gethostbyname() in ext/standard/dns.c which does memcpy(&in.s_addr, *(hp->h_addr_list), sizeof(in.s_addr)); Could you try the latest CVS? Could you test both gethostbyname() and gethostbynamel() in PHP? They do it differently. I think both should work. ------------------------------------------------------------------------ [2001-03-10 17:13:23] niels@creatype.nl >It sounds like a DNS problem to me. >It would be wise if you check that out too. I though about this too at first, but the right information is in both cases stored in the host_struct->h_addr_list. But the information is only correct if you memcpy it to a.s_addr, instead of typecasting it. ------------------------------------------------------------------------ [2001-03-10 16:30:21] derick@php.net It sounds like a DNS problem to me. It would be wise if you check that out too. ------------------------------------------------------------------------ [2001-03-10 16:12:27] sniper@php.net Works for me just fine with latest CVS. Please try the latest CVS snapshot from http://snaps.php.net/ --Jani ------------------------------------------------------------------------ [2001-01-23 12:28:11] niels@creatype.nl The gethostbyname doesn't seem to work on some of the systems I use. The problem only occurs on some machines, others work fine. The problem only occurs on 4.0x, but not on 3.0x on the same machine. All machines use the same build of php4. For example: <PHP echo (gethostbyname ("sql-1.vuurwerk.nl")); ?> Result: sql-1.vuurwerk.nl The bug? also affects functions like mysql_connect. I am unable to connect to a sql server unless I replace the hostname with an ip adress. I've traced the problem back to sockets.c, line 817: a.s_addr = (int) (*(host_struct->h_addr_list[0])); If I replace the code above with the equivalent code used in php3 the problem is solved: memcpy (&a.s_addr, *(host_struct->h_addr_list), sizeof (a.s_addr)); If you need more information please let me know. Niels Leenheer niels@creatype.nl ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=8856&edit=1

« previous php.dev (#60518) next »