[BUG] in glibc-2.1.1-6b: gethostbyname broken
Martin Costabel
costabel at wanadoo.fr
Sat May 8 22:20:59 EST 1999
Under glibc-2.1.1-6b, I cannot do an NFS-mount using the numeric IP
address of the server. Without even consulting the net, mount says:
mount: can't get address for xx.xx.xx.xx
Under glibc-2.1.1-5b, it works correctly.
I tracked this down to gethostbyname, which doesn't work correctly when
fed a numeric IP address.
If I run the the attached program as
tstgethbn 193.252.19.78
I get a correct result when glibc-2.1.1-5b.ppc.rpm is installed, and an
error when glibc-2.1.1-6b.ppc.rpm is installed. Both rpms are from
mirror.linuxppc.org.
Could someone who knows what changed between 5b and 6b please look into
this?
Martin
-------------- next part --------------
/* tstgethbn.c
Test for gesthostbyname */
#include <stdio.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char** argv)
{
char hostname[65];
struct hostent *he = NULL;
struct hostent *he2 = NULL;
extern int h_errno;
strcpy(hostname, argv[1]);
printf( " Looking up %s\n", hostname );
he = gethostbyname(hostname);
if ( h_errno ) {
printf(" error %d\n", h_errno);
herror(hostname);
}
if ( he == NULL ){
printf("No hostname found\n");
exit(1);
}
printf( "\t Hostname: %s\n", he->h_name );
if ( he->h_addr_list[0] != NULL )
printf("\t Address: %s \n",
inet_ntoa(*(struct in_addr *) he->h_addr_list[0]));
he2 = gethostbyaddr( he->h_addr_list[0], he->h_length, he->h_addrtype );
printf( "\t Name: %s\n", he2->h_name );
exit(0);
}
More information about the Linuxppc-dev
mailing list