diff options
author | Ermal Luçi <eri@FreeBSD.org> | 2015-07-21 21:46:24 +0000 |
---|---|---|
committer | Ermal Luçi <eri@FreeBSD.org> | 2015-07-21 21:46:24 +0000 |
commit | 705f4d9c6acf7f85c0eb66fddfa59893a01ba00d (patch) | |
tree | d31df53ffd6c92009509510ade2b72e6496b84ee | |
parent | 39020fdfa0f1ceb466d1956801378c53e1c8e611 (diff) |
Notes
-rw-r--r-- | sys/netinet/udp_usrreq.c | 3 | ||||
-rw-r--r-- | sys/netipsec/ipsec.h | 2 | ||||
-rw-r--r-- | sys/netipsec/ipsec_input.c | 29 |
3 files changed, 10 insertions, 24 deletions
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 415fc8c30a6e..7c57e6b1ee47 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1666,7 +1666,8 @@ udp4_espdecap(struct inpcb *inp, struct mbuf *m, int off) if (m->m_pkthdr.csum_flags & CSUM_DATA_VALID) m->m_pkthdr.csum_flags &= ~(CSUM_DATA_VALID|CSUM_PSEUDO_HDR); - (void) ipsec4_common_input(m, iphlen, ip->ip_p); + (void) ipsec_common_input(m, iphlen, offsetof(struct ip, ip_p), + AF_INET, ip->ip_p); return (NULL); /* NB: consumed, bypass processing. */ } #endif /* defined(IPSEC) && defined(IPSEC_NAT_T) */ diff --git a/sys/netipsec/ipsec.h b/sys/netipsec/ipsec.h index 442387aefe44..328e8a37eb78 100644 --- a/sys/netipsec/ipsec.h +++ b/sys/netipsec/ipsec.h @@ -337,7 +337,7 @@ extern void ah4_ctlinput(int cmd, struct sockaddr *sa, void *); extern int esp4_input(struct mbuf **mp, int *offp, int proto); extern void esp4_ctlinput(int cmd, struct sockaddr *sa, void *); extern int ipcomp4_input(struct mbuf **mp, int *offp, int proto); -extern int ipsec4_common_input(struct mbuf *m, ...); +extern int ipsec_common_input(struct mbuf *m, int, int, int, int); extern int ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip, int protoff); extern int ipsec4_process_packet(struct mbuf *, struct ipsecrequest *); diff --git a/sys/netipsec/ipsec_input.c b/sys/netipsec/ipsec_input.c index 583769952ff7..6a41ad9f92da 100644 --- a/sys/netipsec/ipsec_input.c +++ b/sys/netipsec/ipsec_input.c @@ -118,7 +118,7 @@ static void ipsec4_common_ctlinput(int, struct sockaddr *, void *, int); * and call the appropriate transform. The transform callback * takes care of further processing (like ingress filtering). */ -static int +int ipsec_common_input(struct mbuf *m, int skip, int protoff, int af, int sproto) { char buf[INET6_ADDRSTRLEN]; @@ -243,24 +243,6 @@ ipsec_common_input(struct mbuf *m, int skip, int protoff, int af, int sproto) } #ifdef INET -/* - * Common input handler for IPv4 AH, ESP, and IPCOMP. - */ -int -ipsec4_common_input(struct mbuf *m, ...) -{ - va_list ap; - int off, nxt; - - va_start(ap, m); - off = va_arg(ap, int); - nxt = va_arg(ap, int); - va_end(ap); - - return ipsec_common_input(m, off, offsetof(struct ip, ip_p), - AF_INET, nxt); -} - int ah4_input(struct mbuf **mp, int *offp, int proto) { @@ -271,7 +253,8 @@ ah4_input(struct mbuf **mp, int *offp, int proto) off = *offp; *mp = NULL; - ipsec4_common_input(m, off, IPPROTO_AH); + ipsec_common_input(m, off, offsetof(struct ip, ip_p), + AF_INET, IPPROTO_AH); return (IPPROTO_DONE); } void @@ -292,7 +275,8 @@ esp4_input(struct mbuf **mp, int *offp, int proto) off = *offp; mp = NULL; - ipsec4_common_input(m, off, IPPROTO_ESP); + ipsec_common_input(m, off, offsetof(struct ip, ip_p), + AF_INET, IPPROTO_ESP); return (IPPROTO_DONE); } @@ -314,7 +298,8 @@ ipcomp4_input(struct mbuf **mp, int *offp, int proto) off = *offp; mp = NULL; - ipsec4_common_input(m, off, IPPROTO_IPCOMP); + ipsec_common_input(m, off, offsetof(struct ip, ip_p), + AF_INET, IPPROTO_IPCOMP); return (IPPROTO_DONE); } |