diff options
author | Andrey V. Elsukov <ae@FreeBSD.org> | 2014-10-31 12:19:22 +0000 |
---|---|---|
committer | Andrey V. Elsukov <ae@FreeBSD.org> | 2014-10-31 12:19:22 +0000 |
commit | f5196a58a05f48bde45498dfe98c0d595de8dbf5 (patch) | |
tree | aaea5c4d5cf5ba91ac3b70f1b62b2ed39ba4a437 /sys/netipsec/key.c | |
parent | 7e4217558cc3e2e23c8c4d793aec9cef42a7ed34 (diff) | |
download | src-f5196a58a05f48bde45498dfe98c0d595de8dbf5.tar.gz src-f5196a58a05f48bde45498dfe98c0d595de8dbf5.zip |
Use in_localip() instead of handmade implementation.
MFC after: 1 week
Sponsored by: Yandex LLC
Notes
Notes:
svn path=/head/; revision=273904
Diffstat (limited to 'sys/netipsec/key.c')
-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 47802a85d276..8b189d4d00e1 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -3906,33 +3906,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: |