diff --git a/src/lib/libcore.js b/src/lib/libcore.js index 73791efc656a8..6a5cc9d36d5c1 100644 --- a/src/lib/libcore.js +++ b/src/lib/libcore.js @@ -861,8 +861,8 @@ addToLibrary({ $DNS: { address_map: { id: 1, - addrs: {}, - names: {} + addrs: { localhost: "127.0.0.1" }, + names: { "127.0.0.1": "localhost" }, }, lookup_name(name) { diff --git a/test/sockets/test_gethostbyname.c b/test/sockets/test_gethostbyname.c index 95275198265c1..a203957fe7916 100644 --- a/test/sockets/test_gethostbyname.c +++ b/test/sockets/test_gethostbyname.c @@ -18,7 +18,8 @@ #include #endif -int main() { + +void do_ip_check(char* name) { char str[INET_ADDRSTRLEN]; struct hostent *host = NULL; struct hostent hostData; @@ -30,7 +31,7 @@ int main() { // gethostbyname_r calls the same stuff as gethostbyname, so we'll test the // more complicated one. // resolve the hostname to an actual address - gethostbyname_r("slashdot.org", &hostData, buffer, sizeof(buffer), &host, &err); + gethostbyname_r(name, &hostData, buffer, sizeof(buffer), &host, &err); assert(host->h_addrtype == AF_INET); assert(host->h_length == sizeof(uint32_t)); @@ -48,10 +49,17 @@ int main() { // do a reverse lookup on the ip address struct hostent *host1 = gethostbyaddr(&addr, sizeof(addr), host->h_addrtype); printf("gethostbyaddr -> %s\n", host1->h_name); - assert(strstr(host1->h_name, "slashdot.org")); + assert(strstr(host1->h_name, name)); +} +int main() { + printf("slashdot.org\n"); + do_ip_check("slashdot.org"); + + printf("localhost\n"); + do_ip_check("localhost"); + puts("success"); - return EXIT_SUCCESS; } diff --git a/test/sockets/test_gethostbyname.out b/test/sockets/test_gethostbyname.out index 8d7c845068813..967ff6bd90b23 100644 --- a/test/sockets/test_gethostbyname.out +++ b/test/sockets/test_gethostbyname.out @@ -1,3 +1,7 @@ +slashdot.org gethostbyname -> 172.29.1.0 gethostbyaddr -> slashdot.org +localhost +gethostbyname -> 127.0.0.1 +gethostbyaddr -> localhost success