diff options
author | brian <brian@cvs.openbsd.org> | 1999-08-10 10:50:45 +0000 |
---|---|---|
committer | brian <brian@cvs.openbsd.org> | 1999-08-10 10:50:45 +0000 |
commit | 7056109a961e346413653d18dbbd0ddf6fab661f (patch) | |
tree | 4d563bb83d866d0ce9c9ad6339a3c996c6d63494 | |
parent | 5e15934b12ecb34829d8a0dd3b576fd51be8206f (diff) |
If we receive an IPCP protocol reject, bring it down.
-rw-r--r-- | usr.sbin/ppp/ppp/fsm.c | 9 | ||||
-rw-r--r-- | usr.sbin/ppp/ppp/tty.c | 6 |
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 */ |