summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrian <brian@cvs.openbsd.org>1999-08-10 10:50:45 +0000
committerbrian <brian@cvs.openbsd.org>1999-08-10 10:50:45 +0000
commit7056109a961e346413653d18dbbd0ddf6fab661f (patch)
tree4d563bb83d866d0ce9c9ad6339a3c996c6d63494
parent5e15934b12ecb34829d8a0dd3b576fd51be8206f (diff)
If we receive an IPCP protocol reject, bring it down.
-rw-r--r--usr.sbin/ppp/ppp/fsm.c9
-rw-r--r--usr.sbin/ppp/ppp/tty.c6
2 files changed, 12 insertions, 3 deletions
diff --git a/usr.sbin/ppp/ppp/fsm.c b/usr.sbin/ppp/ppp/fsm.c
index d1c033b470f..05fafcebd2f 100644
--- a/usr.sbin/ppp/ppp/fsm.c
+++ b/usr.sbin/ppp/ppp/fsm.c
@@ -17,7 +17,7 @@
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * $Id: fsm.c,v 1.10 1999/06/02 15:58:40 brian Exp $
+ * $Id: fsm.c,v 1.11 1999/08/10 10:50:44 brian Exp $
*
* TODO:
*/
@@ -863,6 +863,13 @@ FsmRecvProtoRej(struct fsm *fp, struct fsmheader *lhp, struct mbuf *bp)
/* (*fp->parent->LayerFinish)(fp->parent->object, fp); */
}
break;
+ case PROTO_IPCP:
+ if (fp->proto == PROTO_LCP) {
+ log_Printf(LogPHASE, "%s: IPCP protocol reject closes IPCP !\n",
+ fp->link->name);
+ fsm_Close(&fp->bundle->ncp.ipcp.fsm);
+ }
+ break;
case PROTO_MP:
if (fp->proto == PROTO_LCP) {
struct lcp *lcp = fsm2lcp(fp);
diff --git a/usr.sbin/ppp/ppp/tty.c b/usr.sbin/ppp/ppp/tty.c
index 0a0182d375b..411a1499fc0 100644
--- a/usr.sbin/ppp/ppp/tty.c
+++ b/usr.sbin/ppp/ppp/tty.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: tty.c,v 1.11 1999/07/15 02:10:32 brian Exp $
+ * $Id: tty.c,v 1.12 1999/08/10 10:50:44 brian Exp $
*/
#include <sys/param.h>
@@ -408,8 +408,10 @@ tty_Create(struct physical *p)
ios.c_iflag |= IXOFF;
}
ios.c_iflag |= IXON;
- if (p->type != PHYS_DEDICATED)
+ if (p->type != PHYS_DEDICATED) {
ios.c_cflag |= HUPCL;
+ ios.c_cflag &= ~CLOCAL;
+ }
if (p->type != PHYS_DIRECT) {
/* Change tty speed when we're not in -direct mode */