Changeset 140:34e47f4addf8 in freeDiameter
- Timestamp:
- Dec 16, 2009, 5:20:31 PM (14 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
freeDiameter/endpoints.c
r135 r140 53 53 54 54 /* Filter out loopback addresses, unspecified addresses, and invalid families */ 55 ptr.sa = sa; 56 switch (sa->sa_family) { 57 case AF_INET: 58 if (IN_IS_ADDR_UNSPECIFIED(&ptr.sin->sin_addr) || IN_IS_ADDR_LOOPBACK(&ptr.sin->sin_addr)) 55 if (! (flags & EP_ACCEPTALL)) { 56 ptr.sa = sa; 57 switch (sa->sa_family) { 58 case AF_INET: 59 if (IN_IS_ADDR_UNSPECIFIED(&ptr.sin->sin_addr) || IN_IS_ADDR_LOOPBACK(&ptr.sin->sin_addr)) 60 return 0; 61 break; 62 63 case AF_INET6: 64 if (IN6_IS_ADDR_UNSPECIFIED(&ptr.sin6->sin6_addr) || IN6_IS_ADDR_LOOPBACK(&ptr.sin6->sin6_addr)) 65 return 0; 66 break; 67 68 default: 59 69 return 0; 60 break; 61 62 case AF_INET6: 63 if (IN6_IS_ADDR_UNSPECIFIED(&ptr.sin6->sin6_addr) || IN6_IS_ADDR_LOOPBACK(&ptr.sin6->sin6_addr)) 64 return 0; 65 break; 66 67 default: 68 return 0; 70 } 71 } else { 72 /* remove it */ 73 flags &= ~EP_ACCEPTALL; 69 74 } 70 75 -
freeDiameter/tests/testcnx.c
r38 r140 591 591 aip = ai; 592 592 while (aip) { 593 CHECK( 0, fd_ep_add_merge( &eps, aip->ai_addr, aip->ai_addrlen, EP_FL_DISC ));593 CHECK( 0, fd_ep_add_merge( &eps, aip->ai_addr, aip->ai_addrlen, EP_FL_DISC | EP_ACCEPTALL )); 594 594 aip = aip->ai_next; 595 595 }; -
include/freeDiameter/freeDiameter.h
r124 r140 679 679 #define EP_FL_LL (1 << 3) /* Lower layer mechanism provided this endpoint */ 680 680 #define EP_FL_PRIMARY (1 << 4) /* This endpoint is primary in a multihomed SCTP association */ 681 #define EP_ACCEPTALL (1 << 15) /* This flag allows bypassing the address filter in fd_ep_add_merge. */ 681 682 uint32_t flags; /* Additional information about the endpoint */ 682 683
Note: See TracChangeset
for help on using the changeset viewer.