diff options
Diffstat (limited to 'accel-pppd/ppp/ppp_auth.c')
-rw-r--r-- | accel-pppd/ppp/ppp_auth.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/accel-pppd/ppp/ppp_auth.c b/accel-pppd/ppp/ppp_auth.c index 98675d3..1fb3bcf 100644 --- a/accel-pppd/ppp/ppp_auth.c +++ b/accel-pppd/ppp/ppp_auth.c @@ -144,6 +144,16 @@ static int auth_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, u struct auth_data_t *d; int r; + if (auth_opt->started) { + if (!auth_opt->auth) + return LCP_OPT_REJ; + + if (!ptr || ntohs(opt16->val) != auth_opt->auth->proto) + return LCP_OPT_NAK; + + return LCP_OPT_ACK; + } + if (list_empty(&auth_opt->auth_list)) return LCP_OPT_REJ; |