diff options
-rw-r--r-- | accel-pppd/ppp/ccp_mppe.c | 3 | ||||
-rw-r--r-- | accel-pppd/ppp/ppp_ccp.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/accel-pppd/ppp/ccp_mppe.c b/accel-pppd/ppp/ccp_mppe.c index 388e2f6c..570bbdfb 100644 --- a/accel-pppd/ppp/ccp_mppe.c +++ b/accel-pppd/ppp/ccp_mppe.c @@ -79,6 +79,9 @@ static struct ccp_option_t *mppe_init(struct ppp_ccp_t *ccp) if (mppe == MPPE_REQUIRE || mppe == MPPE_PREFER) ccp->ld.passive = 0; + if (mppe == MPPE_REQUIRE) + ccp->ld.optional = 0; + mppe_opt->opt.id = CI_MPPE; mppe_opt->opt.len = 6; diff --git a/accel-pppd/ppp/ppp_ccp.c b/accel-pppd/ppp/ppp_ccp.c index 87ce857a..1d8acca6 100644 --- a/accel-pppd/ppp/ppp_ccp.c +++ b/accel-pppd/ppp/ppp_ccp.c @@ -731,7 +731,7 @@ static void ccp_recv_proto_rej(struct ppp_handler_t *h) { struct ppp_ccp_t *ccp = container_of(h, typeof(*ccp), hnd); - if (!ccp->ld.passive) { + if (!ccp->ld.optional) { ppp_terminate(ccp->ppp, TERM_USER_ERROR, 0); return; } |