Navigation


Changeset 140:34e47f4addf8 in freeDiameter


Ignore:
Timestamp:
Dec 16, 2009, 5:20:31 PM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Fix broken test

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • freeDiameter/endpoints.c

    r135 r140  
    5353       
    5454        /* 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:
    5969                                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;
    6974        }
    7075       
  • freeDiameter/tests/testcnx.c

    r38 r140  
    591591                aip = ai;
    592592                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 ));
    594594                        aip = aip->ai_next;
    595595                };
  • include/freeDiameter/freeDiameter.h

    r124 r140  
    679679#define EP_FL_LL        (1 << 3)        /* Lower layer mechanism provided this endpoint */
    680680#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. */
    681682        uint32_t        flags;          /* Additional information about the endpoint */
    682683               
Note: See TracChangeset for help on using the changeset viewer.