summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accel-pppd/ppp/ccp_mppe.c3
-rw-r--r--accel-pppd/ppp/ppp_ccp.c2
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;
}