diff options
author | Brian Somers <brian@FreeBSD.org> | 1998-06-30 23:04:17 +0000 |
---|---|---|
committer | Brian Somers <brian@FreeBSD.org> | 1998-06-30 23:04:17 +0000 |
commit | 06337856e1be7d3d39edde48b17464558f185976 (patch) | |
tree | 6d6c787fe7c2122eb82b48768a9eb4882b62d9f9 /usr.sbin/ppp/datalink.c | |
parent | 38cf631922ce0cf126592748400f670a5760133e (diff) | |
download | src-06337856e1be7d3d39edde48b17464558f185976.tar.gz src-06337856e1be7d3d39edde48b17464558f185976.zip |
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.
Notes
Notes:
svn path=/head/; revision=37320
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 d3d6a34e0a9b..fc2a84140fee 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); |