diff options
author | cube <cube@pkgsrc.org> | 2003-12-01 15:07:03 +0000 |
---|---|---|
committer | cube <cube@pkgsrc.org> | 2003-12-01 15:07:03 +0000 |
commit | e299dd8c0e32806a6f7aa43b95106ce8f1c7364b (patch) | |
tree | a161092a1625afef052f96b3275385796d87156c /net | |
parent | 3ae31411e05b86dbdcf6c478527552609f03d2d0 (diff) | |
download | pkgsrc-e299dd8c0e32806a6f7aa43b95106ce8f1c7364b.tar.gz |
Comment out the code that returned DECOMP_ERROR when an out-of-order packet
is received. It is necessary because in the case of a dropped packet,
while it is understandable to return DECOMP_ERROR, it has the side effect
of making NetBSD desactivate the MPPE decompressor on the PPP interface.
A comment in net/if_ppp.c mentions a patent that would prohibit an
automatic failure recovery in that case, so it would need MPPE-specific
code in net/if_ppp.c, which of course is impossible since the MPPE
decompressor is only available as a LKM.
Just ignoring the problem is a bit of a hack, but is a much more nicer
solution that what I used when I first encountered the issue.
Problem reported and patch provided in PR 23593, by Yoshitaka Tokugawa.
Diffstat (limited to 'net')
-rw-r--r-- | net/ppp-mppe/distinfo | 4 | ||||
-rw-r--r-- | net/ppp-mppe/patches/patch-bt | 15 |
2 files changed, 13 insertions, 6 deletions
diff --git a/net/ppp-mppe/distinfo b/net/ppp-mppe/distinfo index 22d73b4c510..a85fb9ae3e6 100644 --- a/net/ppp-mppe/distinfo +++ b/net/ppp-mppe/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.3 2002/03/07 07:41:39 jmc Exp $ +$NetBSD: distinfo,v 1.4 2003/12/01 15:07:03 cube Exp $ SHA1 (ppp-2.3.9.tar.gz) = ef5ef4686f6738193ec88972902f9a5a6fb8f5dd Size (ppp-2.3.9.tar.gz) = 768540 bytes @@ -42,7 +42,7 @@ SHA1 (patch-bp) = c606c83604b588e1574cdb96f035768df50aca53 SHA1 (patch-bq) = 2e0ea29dcba6571a764f8c1d9019d5e9fa9ff8e0 SHA1 (patch-br) = 3db283aba2c4f41db05cc5b327383cb5f381a7b7 SHA1 (patch-bs) = 41cfdbf71044e7f1988f26b56ee35f9501ff054f -SHA1 (patch-bt) = ca2b43c28de0d59d188231a0219a6b19948b0d37 +SHA1 (patch-bt) = 2387aacd54aa0a5dea1cc0cdeeaaeeb6956d0328 SHA1 (patch-bu) = f8ed281a92ee7dd9e733c22b54d6e63c7da905b3 SHA1 (patch-bv) = 4ecb556fa6e8e25d0535a98af122634aae6d5071 SHA1 (patch-bw) = b1d045d0d4d7e0e6bfe5ce44b976b26c2a9f8416 diff --git a/net/ppp-mppe/patches/patch-bt b/net/ppp-mppe/patches/patch-bt index 769932e3abe..428a331a5b2 100644 --- a/net/ppp-mppe/patches/patch-bt +++ b/net/ppp-mppe/patches/patch-bt @@ -1,8 +1,8 @@ -$NetBSD: patch-bt,v 1.1.1.1 1999/10/08 04:34:43 dbj Exp $ +$NetBSD: patch-bt,v 1.2 2003/12/01 15:07:03 cube Exp $ ---- /dev/null Mon Sep 27 01:09:07 1999 -+++ netbsd-1.4/ppp_mppe.c Mon Sep 27 02:11:53 1999 -@@ -0,0 +1,785 @@ +--- netbsd-1.4/ppp_mppe.c.orig 2003-12-01 10:04:24.000000000 +0100 ++++ netbsd-1.4/ppp_mppe.c +@@ -0,0 +1,792 @@ +/* NetBSD + * + * taken from: FILEVERSION 9906180 @@ -637,9 +637,16 @@ $NetBSD: patch-bt,v 1.1.1.1 1999/10/08 04:34:43 dbj Exp $ + mppe_update_count(state); + } + ++ /* ++ * Let the packet in anyway. It allows the tunnel to stay alive ++ * whereas returning DECOMP_ERROR would disable the MPPE ++ * decompressor in the kernel for that connection. ++ */ ++#if 0 + mppe_update_count(state); + + return DECOMP_ERROR; ++#endif + } + + if(!(MPPE_BITS(ibuf) & MPPE_BIT_ENCRYPTED)) { |