summaryrefslogtreecommitdiffstats
path: root/sys/netipsec
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2014-11-13 13:05:31 +0000
committerae <ae@FreeBSD.org>2014-11-13 13:05:31 +0000
commit189aa5130fa47074600a59f6406e31af5aac4b3a (patch)
treed4c84af356e77b2e5b09c2f1f3d18d08ac55532e /sys/netipsec
parent99c3f1d7e458169fc5dd5bb6e4551ef30aa82dc8 (diff)
downloadFreeBSD-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.c23
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:
OpenPOWER on IntegriCloud