diff options
author | Kozlov Dmitry <dima@server> | 2011-01-28 14:41:44 +0300 |
---|---|---|
committer | Kozlov Dmitry <dima@server> | 2011-01-28 14:41:44 +0300 |
commit | a69ae308efe400d14ecbab676a5e7592908c6b46 (patch) | |
tree | 664b19521bc0fe81f7863aba2218ec54ba1826e2 /accel-pppd/ppp/ppp_lcp.c | |
parent | 673bea74d2beb8d4260355f928499230c7ff9b17 (diff) | |
download | accel-ppp-a69ae308efe400d14ecbab676a5e7592908c6b46.tar.gz accel-ppp-a69ae308efe400d14ecbab676a5e7592908c6b46.zip |
ppp: send ConfNak with random magic number if magic number in CanfReq is equal to self magic number
Diffstat (limited to 'accel-pppd/ppp/ppp_lcp.c')
-rw-r--r-- | accel-pppd/ppp/ppp_lcp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/accel-pppd/ppp/ppp_lcp.c b/accel-pppd/ppp/ppp_lcp.c index 10e25fb1..c46c5a49 100644 --- a/accel-pppd/ppp/ppp_lcp.c +++ b/accel-pppd/ppp/ppp_lcp.c @@ -281,6 +281,7 @@ static void send_conf_nak(struct ppp_fsm_t *fsm) uint8_t *buf = _malloc(lcp->conf_req_len), *ptr = buf; struct lcp_hdr_t *lcp_hdr = (struct lcp_hdr_t*)ptr; struct lcp_option_t *lopt; + int n; if (conf_ppp_verbose) log_ppp_info2("send [LCP ConfNak id=%x", lcp->fsm.recv_id); @@ -294,12 +295,14 @@ static void send_conf_nak(struct ppp_fsm_t *fsm) list_for_each_entry(lopt, &lcp->options, entry) { if (lopt->state == LCP_OPT_NAK) { - ptr+=lopt->h->send_conf_nak(lcp,lopt,ptr); + n = lopt->h->send_conf_nak(lcp, lopt, ptr); - if (conf_ppp_verbose) { + if (conf_ppp_verbose && n) { log_ppp_info2(" "); - lopt->h->print(log_ppp_info2, lopt, NULL); + lopt->h->print(log_ppp_info2, lopt, ptr); } + + ptr += n; } } |