[PATCH] util: recognize all of 127.0.0.0/8 as loopback addresses
Björn Jacke
bj at sernet.de
Fri Nov 11 11:36:47 UTC 2016
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12422
---
lib/util/util_net.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/util/util_net.c b/lib/util/util_net.c
index cb238ad..2170adf 100644
--- a/lib/util/util_net.c
+++ b/lib/util/util_net.c
@@ -595,13 +595,16 @@ bool is_broadcast_addr(const struct sockaddr *pss)
}
/**
- * Check if an IPv7 is 127.0.0.1
+ * Check if an IPv4 address is loopback (127.0.0.1/8, see RFC 1122)
*/
bool is_loopback_ip_v4(struct in_addr ip)
{
- struct in_addr a;
- a.s_addr = htonl(INADDR_LOOPBACK);
- return(ip.s_addr == a.s_addr);
+ struct in_addr lo_addr;
+ struct in_addr mask_addr;
+
+ lo_addr.s_addr = 0x01000000;
+ mask_addr.s_addr = 0xff000000;
+ return same_net_v4(*pin, lo_addr, mask_addr);
}
/**
--
2.7.4
More information about the samba-technical
mailing list