From 9cb53851be2d90c804e6f31da26a11c51329f33c Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 19 Feb 2014 05:57:18 +0000 Subject: gio/gresolver.c: Fix build on Windows Windows does not come with inet_aton(), and this check on IPv4 addresses is actually not needed on Windows as the getaddrinfo() implementation on Windows already rejects non-standard and non-real IPv4 numbers-and-dots addresses. https://bugzilla.gnome.org/show_bug.cgi?id=724609 --- diff --git a/gio/gresolver.c b/gio/gresolver.c index 730ac1b..78d079a 100644 --- a/gio/gresolver.c +++ b/gio/gresolver.c @@ -308,8 +308,10 @@ handle_ip_address (const char *hostname, /* Reject non-standard IPv4 numbers-and-dots addresses. * g_inet_address_new_from_string() will have accepted any "real" IP * address, so if inet_aton() succeeds, then it's an address we want - * to reject. + * to reject. This check is not necessary for Windows, as getaddrinfo() + * already rejects such IPv4 addresses on Windows. */ +#ifndef G_OS_WIN32 if (inet_aton (hostname, &ip4addr)) { g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_NOT_FOUND, @@ -317,6 +319,7 @@ handle_ip_address (const char *hostname, hostname, gai_strerror (EAI_NONAME)); return TRUE; } +#endif return FALSE; } -- cgit v0.9.2