diff options
author | archie <archie@FreeBSD.org> | 2001-02-06 18:43:21 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 2001-02-06 18:43:21 +0000 |
commit | 13e05b46b5336cf833ceccaac5c355feed5eedff (patch) | |
tree | e7aeff8e3bef8c21106eb6a3d3023850e9b0afbe /security | |
parent | e0be42abcaf506c180489e612b37f0005c297335 (diff) | |
download | FreeBSD-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-bs | 19 |
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); |