Mercurial > hg > freeDiameter
diff freeDiameter/endpoints.c @ 512:16224de837fd
Fix problem reported by ????? ????????? on dev@freediameter.net
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Tue, 24 Aug 2010 16:20:10 +0900 |
parents | 535b516d875d |
children | 85ba85b4739c |
line wrap: on
line diff
--- a/freeDiameter/endpoints.c Fri Aug 20 15:18:58 2010 +0900 +++ b/freeDiameter/endpoints.c Tue Aug 24 16:20:10 2010 +0900 @@ -73,9 +73,8 @@ if (! (flags & EP_ACCEPTALL)) { if (IN_IS_ADDR_UNSPECIFIED(&ptr.sin->sin_addr) || IN_IS_ADDR_LOOPBACK(&ptr.sin->sin_addr) - || IN_MULTICAST(ptr.sin->sin_addr.s_addr) - || IN_EXPERIMENTAL(ptr.sin->sin_addr.s_addr) - || IN_BADCLASS(ptr.sin->sin_addr.s_addr) + /* the next one filters both EXPERIMENTAL, BADCLASS and MULTICAST. */ + || (((ptr.sin->sin_addr.s_addr) & ntohl(0xe0000000)) == ntohl(0xe0000000)) || (ptr.sin->sin_addr.s_addr == INADDR_BROADCAST)) { if (TRACE_BOOL(ANNOYING + 1)) { TRACE_DEBUG(ANNOYING, " DEBUG:fd_ep_add_merge Address was ignored, not added.");