summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrian <brian@cvs.openbsd.org>2001-08-27 17:54:36 +0000
committerbrian <brian@cvs.openbsd.org>2001-08-27 17:54:36 +0000
commit3f82c52838f92c3ccbcb212e8dc16b4b972d3c72 (patch)
treecdf9a8ebccf07f23205996495b745d4fe0ff5bad
parentfcd04e2523a47040a0fef5dec184856420d09d6f (diff)
Send a reset request for every packet received when our encryption
dictionaries are out of sync. This avoids the complications that happen when our original reset request gets lost in transit (quite likely in hind sight, given a lossy link) when we end up ignoring the peer for the next (up to) 256 packets.
-rw-r--r--usr.sbin/ppp/ppp/mppe.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/ppp/ppp/mppe.c b/usr.sbin/ppp/ppp/mppe.c
index 2f6cf6d3ad2..293d77a2ae4 100644
--- a/usr.sbin/ppp/ppp/mppe.c
+++ b/usr.sbin/ppp/ppp/mppe.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $OpenBSD: mppe.c,v 1.8 2001/07/07 03:08:49 brian Exp $
+ * $OpenBSD: mppe.c,v 1.9 2001/08/27 17:54:35 brian Exp $
*/
#include <sys/types.h>
@@ -296,6 +296,8 @@ MPPEInput(void *v, struct ccp *ccp, u_short *proto, struct mbuf *mp)
* The spec says that we shouldn't be though....
*/
log_Printf(LogDEBUG, "MPPE: Not flushed - discarded\n");
+ fsm_Output(&ccp->fsm, CODE_RESETREQ, ccp->fsm.reqid++, NULL, 0,
+ MB_CCPOUT);
m_freem(mp);
return NULL;
}