summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2001-02-06 18:43:21 +0000
committerarchie <archie@FreeBSD.org>2001-02-06 18:43:21 +0000
commit13e05b46b5336cf833ceccaac5c355feed5eedff (patch)
treee7aeff8e3bef8c21106eb6a3d3023850e9b0afbe /security
parente0be42abcaf506c180489e612b37f0005c297335 (diff)
downloadFreeBSD-ports-13e05b46b5336cf833ceccaac5c355feed5eedff.zip
FreeBSD-ports-13e05b46b5336cf833ceccaac5c355feed5eedff.tar.gz
Be sure to recompute m->m_pkthdr.len after encrypting packet.
PR: ports/24723
Diffstat (limited to 'security')
-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 591fff4..a1e80e6 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);
OpenPOWER on IntegriCloud