Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Apr 2003 06:20:14 -0700 (PDT)
From:      Eugene Grosbein <eugen@grosbein.pp.ru>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/45760: pppd(8) incoreectly handles timeouts after long run [PATCH]
Message-ID:  <200304061320.h36DKEe6002019@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/45760; it has been noted by GNATS.

From: Eugene Grosbein <eugen@grosbein.pp.ru>
To: bug-followup@freebsd.org
Cc: peter@freebsd.org, net@freebsd.org
Subject: Re: bin/45760: pppd(8) incoreectly handles timeouts after long run [PATCH]
Date: Sun, 6 Apr 2003 21:12:04 +0800

 Hi!
 
 I've found the source of this behavour.
 pppd 2.3.5 violates RFC1548, section 5.8 that states:
 
       Echo-Request and Echo-Reply packets may only be sent in the LCP
       Opened state.  Echo-Request and Echo-Reply packets received in any
       state other than the LCP Opened state SHOULD be silently
       discarded.
 
 pppd 2.3.5 will schedule one extra LCP Echo for each incident
 when it detects via LCP Echos that peer has disconnected.
 
 So my the solution was to patch lcp.c:
 
 --- usr.sbin/pppd/lcp.c.orig	Sun Apr  6 21:05:21 2003
 +++ usr.sbin/pppd/lcp.c	Sun Apr  6 21:05:36 2003
 @@ -1737,6 +1737,8 @@
      fsm *f;
  {
      LcpSendEchoRequest (f);
 +    if (f->state != OPENED)
 +	return;
  
      /*
       * Start the timer for the next interval.
 
 I've checked pppd 2.4.1 and found that it contains exactly this code.
 Please apply the patch.
 
 Eugene Grosbein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304061320.h36DKEe6002019>