From 3dad610b772ba53eb2c50baa7b2760c65de94213 Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Fri, 3 Aug 2012 16:35:00 +0400 Subject: ppp: don't drop connection when mppe=prefer and user rejects ccp --- accel-pppd/ppp/ccp_mppe.c | 3 +++ accel-pppd/ppp/ppp_ccp.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'accel-pppd') diff --git a/accel-pppd/ppp/ccp_mppe.c b/accel-pppd/ppp/ccp_mppe.c index 388e2f6..570bbdf 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 87ce857..1d8acca 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; } -- cgit v1.2.3