Lines 123-131
Link Here
|
123 |
port2 = ((struct sockaddr_in6 *)addr2)->sin6_port; |
123 |
port2 = ((struct sockaddr_in6 *)addr2)->sin6_port; |
124 |
if (memcmp(sa1, sa2, sizeof(struct in6_addr)) != 0) |
124 |
if (memcmp(sa1, sa2, sizeof(struct in6_addr)) != 0) |
125 |
return CMPSADDR_MISMATCH; |
125 |
return CMPSADDR_MISMATCH; |
126 |
if (((struct sockaddr_in6 *)addr1)->sin6_scope_id != |
126 |
//Addresses match at this point, so check one for link local scope |
127 |
((struct sockaddr_in6 *)addr2)->sin6_scope_id) |
127 |
if (IN6_IS_ADDR_LINKLOCAL(&(((struct sockaddr_in6 *)addr1)->sin6_addr))) |
128 |
return CMPSADDR_MISMATCH; |
128 |
//Verify matching scope_id on link local addrs |
|
|
129 |
if (((struct sockaddr_in6 *)addr1)->sin6_scope_id != |
130 |
((struct sockaddr_in6 *)addr2)->sin6_scope_id) |
131 |
return CMPSADDR_MISMATCH; |
129 |
break; |
132 |
break; |
130 |
#endif |
133 |
#endif |
131 |
default: |
134 |
default: |