diff --git a/unix/uxnet.c b/unix/uxnet.c index c0f24719..96d3aa51 100644 --- a/unix/uxnet.c +++ b/unix/uxnet.c @@ -326,7 +326,9 @@ void sk_getaddr(SockAddr addr, char *buf, int buflen) int sk_hostname_is_local(char *name) { - return !strcmp(name, "localhost"); + return !strcmp(name, "localhost") || + !strcmp(name, "::1") || + !strncmp(name, "127.", 4); } #define ipv4_is_loopback(addr) \ diff --git a/windows/winnet.c b/windows/winnet.c index 38489163..c549b087 100644 --- a/windows/winnet.c +++ b/windows/winnet.c @@ -602,7 +602,9 @@ void sk_getaddr(SockAddr addr, char *buf, int buflen) int sk_hostname_is_local(char *name) { - return !strcmp(name, "localhost"); + return !strcmp(name, "localhost") || + !strcmp(name, "::1") || + !strncmp(name, "127.", 4); } static INTERFACE_INFO local_interfaces[16];