diff options
author | ae <ae@FreeBSD.org> | 2014-11-13 13:05:31 +0000 |
---|---|---|
committer | ae <ae@FreeBSD.org> | 2014-11-13 13:05:31 +0000 |
commit | 189aa5130fa47074600a59f6406e31af5aac4b3a (patch) | |
tree | d4c84af356e77b2e5b09c2f1f3d18d08ac55532e /sys/netipsec | |
parent | 99c3f1d7e458169fc5dd5bb6e4551ef30aa82dc8 (diff) | |
download | FreeBSD-src-189aa5130fa47074600a59f6406e31af5aac4b3a.zip FreeBSD-src-189aa5130fa47074600a59f6406e31af5aac4b3a.tar.gz |
MFC r273904:
Use in_localip() instead of handmade implementation.
Sponsored by: Yandex LLC
Diffstat (limited to 'sys/netipsec')
-rw-r--r-- | sys/netipsec/key.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index bd2d75d..f7f23d4 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -3901,33 +3901,14 @@ key_dup_lifemsg(const struct sadb_lifetime *src, * 0: false */ int -key_ismyaddr(sa) - struct sockaddr *sa; +key_ismyaddr(struct sockaddr *sa) { -#ifdef INET - struct sockaddr_in *sin; - struct in_ifaddr *ia; -#endif IPSEC_ASSERT(sa != NULL, ("null sockaddr")); - switch (sa->sa_family) { #ifdef INET case AF_INET: - sin = (struct sockaddr_in *)sa; - IN_IFADDR_RLOCK(); - TAILQ_FOREACH(ia, &V_in_ifaddrhead, ia_link) - { - if (sin->sin_family == ia->ia_addr.sin_family && - sin->sin_len == ia->ia_addr.sin_len && - sin->sin_addr.s_addr == ia->ia_addr.sin_addr.s_addr) - { - IN_IFADDR_RUNLOCK(); - return 1; - } - } - IN_IFADDR_RUNLOCK(); - break; + return (in_localip(satosin(sa)->sin_addr)); #endif #ifdef INET6 case AF_INET6: |