Changeset 178:a32646b7e7d7 in freeDiameter for freeDiameter/endpoints.c
- Timestamp:
- Feb 3, 2010, 5:01:01 PM (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
freeDiameter/endpoints.c
r140 r178 52 52 CHECK_PARAMS( list && sa && (sl <= sizeof(sSS)) ); 53 53 54 /* Filter out loopback addresses, unspecified addresses, and invalid families */54 /* Filter out a bunch of invalid addresses */ 55 55 if (! (flags & EP_ACCEPTALL)) { 56 56 ptr.sa = sa; 57 57 switch (sa->sa_family) { 58 58 case AF_INET: 59 if (IN_IS_ADDR_UNSPECIFIED(&ptr.sin->sin_addr) || IN_IS_ADDR_LOOPBACK(&ptr.sin->sin_addr)) 59 if (IN_IS_ADDR_UNSPECIFIED(&ptr.sin->sin_addr) 60 || IN_IS_ADDR_LOOPBACK(&ptr.sin->sin_addr) 61 || IN_MULTICAST(ptr.sin->sin_addr.s_addr) 62 || IN_EXPERIMENTAL(ptr.sin->sin_addr.s_addr) 63 || IN_BADCLASS(ptr.sin->sin_addr.s_addr) 64 || (ptr.sin->sin_addr.s_addr == INADDR_BROADCAST)) 60 65 return 0; 61 66 break; 62 67 63 68 case AF_INET6: 64 if (IN6_IS_ADDR_UNSPECIFIED(&ptr.sin6->sin6_addr) || IN6_IS_ADDR_LOOPBACK(&ptr.sin6->sin6_addr)) 69 if (IN6_IS_ADDR_UNSPECIFIED(&ptr.sin6->sin6_addr) 70 || IN6_IS_ADDR_LOOPBACK(&ptr.sin6->sin6_addr) 71 || IN6_IS_ADDR_MULTICAST(&ptr.sin6->sin6_addr) 72 || IN6_IS_ADDR_LINKLOCAL(&ptr.sin6->sin6_addr) 73 || IN6_IS_ADDR_SITELOCAL(&ptr.sin6->sin6_addr)) 65 74 return 0; 66 75 break;
Note: See TracChangeset
for help on using the changeset viewer.