summaryrefslogtreecommitdiff
path: root/security/skip
diff options
context:
space:
mode:
authorArchie Cobbs <archie@FreeBSD.org>2001-02-06 18:43:21 +0000
committerArchie Cobbs <archie@FreeBSD.org>2001-02-06 18:43:21 +0000
commit2a07ab6ab5ca640b8321ec59a3a804f59a0d6650 (patch)
tree4895b0bb737e37d08500474868a10a6f227f94aa /security/skip
parentPut back together a line that somehow got split in two. (diff)
Be sure to recompute m->m_pkthdr.len after encrypting packet.
PR: ports/24723
Notes
Notes: svn path=/head/; revision=38046
Diffstat (limited to 'security/skip')
-rw-r--r--security/skip/files/patch-bs19
1 files changed, 19 insertions, 0 deletions
diff --git a/security/skip/files/patch-bs b/security/skip/files/patch-bs
index 591fff4e2aa5..a1e80e6fdcde 100644
--- a/security/skip/files/patch-bs
+++ b/security/skip/files/patch-bs
@@ -332,3 +332,22 @@ diff -ur --unidirectional-new-file skipsrc-1.0.orig/skip/freebsd/skip_es.c work.
s = splimp();
if (IF_QFULL(&ipintrq)) {
+@@ -2240,7 +2287,8 @@
+ unsigned short len;
+ struct ip *hptr;
+ struct rtentry *rtp;
++ struct mbuf *n;
+
+ /*
+ * recover the route pointer
+ */
+@@ -2263,6 +2311,9 @@
+ hptr->ip_len = htons(len); /* total length */
+
+ skip_ipsum(hptr);
++
++ for (m->m_pkthdr.len = 0, n = m; n != NULL; n = n->m_next)
++ m->m_pkthdr.len += n->m_len;
+
+ (*skip_if->if_output)(skip_if->ifp, m, dst, rtp);
+ RTFREE(rtp);