summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/datalink.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1998-06-30 23:04:17 +0000
committerbrian <brian@FreeBSD.org>1998-06-30 23:04:17 +0000
commit079249c72b5c0fb2904b7a7047d32db6093792ee (patch)
tree42c0587c812526ccf54e9882ce1fc39a80e2f980 /usr.sbin/ppp/datalink.c
parent805c8719671543e774a7eb330ccd6b2d829a535a (diff)
downloadFreeBSD-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.c10
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);
OpenPOWER on IntegriCloud