diff options
author | brian <brian@FreeBSD.org> | 1998-06-30 23:04:17 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1998-06-30 23:04:17 +0000 |
commit | 079249c72b5c0fb2904b7a7047d32db6093792ee (patch) | |
tree | 42c0587c812526ccf54e9882ce1fc39a80e2f980 /usr.sbin/ppp/datalink.c | |
parent | 805c8719671543e774a7eb330ccd6b2d829a535a (diff) | |
download | FreeBSD-src-079249c72b5c0fb2904b7a7047d32db6093792ee.zip FreeBSD-src-079249c72b5c0fb2904b7a7047d32db6093792ee.tar.gz |
The CCP layer now behaves as follows:
o If we've denied and disabled all compression protocols, stay
in ST_INITIAL and do an LCP protocol reject if we receive any
CCP packets.
o If we've disabled all compression protocols, go to ST_STOPPED
and wait for the other side to ask for something.
o If we've got anything enabled, start REQing as soon as the auth
layer is up.
o If we're in multilink mode, than the link level CCP goes
straight to ST_STOPPED irrespective of what's configured so that
we never try to compress compressed stuff by default.
Diffstat (limited to 'usr.sbin/ppp/datalink.c')
-rw-r--r-- | usr.sbin/ppp/datalink.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.sbin/ppp/datalink.c b/usr.sbin/ppp/datalink.c index d3d6a34..fc2a841 100644 --- a/usr.sbin/ppp/datalink.c +++ b/usr.sbin/ppp/datalink.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: datalink.c,v 1.13 1998/06/25 22:33:17 brian Exp $ + * $Id: datalink.c,v 1.14 1998/06/27 14:18:04 brian Exp $ */ #include <sys/types.h> @@ -460,7 +460,7 @@ datalink_GotAuthname(struct datalink *dl, const char *name, int len) void datalink_AuthOk(struct datalink *dl) { - ccp_SetOpenMode(&dl->physical->link.ccp); + int ccpok = ccp_SetOpenMode(&dl->physical->link.ccp); if (dl->physical->link.lcp.want_mrru && dl->physical->link.lcp.his_mrru) { /* we've authenticated in multilink mode ! */ @@ -491,8 +491,10 @@ datalink_AuthOk(struct datalink *dl) auth_Select(dl->bundle, dl->peer.authname, dl->physical); } - fsm_Up(&dl->physical->link.ccp.fsm); - fsm_Open(&dl->physical->link.ccp.fsm); + if (ccpok) { + fsm_Up(&dl->physical->link.ccp.fsm); + fsm_Open(&dl->physical->link.ccp.fsm); + } datalink_NewState(dl, DATALINK_OPEN); bundle_NewPhase(dl->bundle, PHASE_NETWORK); (*dl->parent->LayerUp)(dl->parent->object, &dl->physical->link.lcp.fsm); |