svn commit: r310526 - projects/ipsec/sys/netipsec
Andrey V. Elsukov
ae at FreeBSD.org
Sat Dec 24 20:36:28 UTC 2016
Author: ae
Date: Sat Dec 24 20:36:27 2016
New Revision: 310526
URL: https://svnweb.freebsd.org/changeset/base/310526
Log:
Move ipsec_setsockaddrs() into xform_tcp.c and make it static.
Also include needed headers into subr_ipsec.c.
Modified:
projects/ipsec/sys/netipsec/subr_ipsec.c
projects/ipsec/sys/netipsec/xform_tcp.c
Modified: projects/ipsec/sys/netipsec/subr_ipsec.c
==============================================================================
--- projects/ipsec/sys/netipsec/subr_ipsec.c Sat Dec 24 20:02:28 2016 (r310525)
+++ projects/ipsec/sys/netipsec/subr_ipsec.c Sat Dec 24 20:36:27 2016 (r310526)
@@ -47,6 +47,8 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/in_pcb.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
#include <netipsec/ipsec_support.h>
#include <netipsec/ipsec.h>
Modified: projects/ipsec/sys/netipsec/xform_tcp.c
==============================================================================
--- projects/ipsec/sys/netipsec/xform_tcp.c Sat Dec 24 20:02:28 2016 (r310525)
+++ projects/ipsec/sys/netipsec/xform_tcp.c Sat Dec 24 20:36:27 2016 (r310526)
@@ -223,6 +223,32 @@ tcp_signature_compute(struct mbuf *m, st
return (0);
}
+static void
+setsockaddrs(const struct mbuf *m, union sockaddr_union *src,
+ union sockaddr_union *dst)
+{
+ struct ip *ip;
+
+ IPSEC_ASSERT(m->m_len >= sizeof(*ip), ("unexpected mbuf len"));
+
+ ip = mtod(m, struct ip *);
+ switch (ip->ip_v) {
+#ifdef INET
+ case IPVERSION:
+ ipsec4_setsockaddrs(m, src, dst);
+ break;
+#endif
+#ifdef INET6
+ case (IPV6_VERSION >> 4):
+ ipsec6_setsockaddrs(m, src, dst);
+ break;
+#endif
+ default:
+ bzero(src, sizeof(*src));
+ bzero(dst, sizeof(*dst));
+ }
+}
+
/*
* Compute TCP-MD5 hash of an *INBOUND* TCP segment.
* Parameters:
@@ -239,7 +265,7 @@ tcp_ipsec_input(struct mbuf *m, struct t
struct secasindex saidx;
struct secasvar *sav;
- ipsec_setsockaddrs(m, &saidx.src, &saidx.dst);
+ setsockaddrs(m, &saidx.src, &saidx.dst);
saidx.proto = IPPROTO_TCP;
saidx.mode = IPSEC_MODE_TCPMD5;
saidx.reqid = 0;
@@ -279,7 +305,7 @@ tcp_ipsec_output(struct mbuf *m, struct
struct secasindex saidx;
struct secasvar *sav;
- ipsec_setsockaddrs(m, &saidx.src, &saidx.dst);
+ setsockaddrs(m, &saidx.src, &saidx.dst);
saidx.proto = IPPROTO_TCP;
saidx.mode = IPSEC_MODE_TCPMD5;
saidx.reqid = 0;
More information about the svn-src-projects
mailing list