summaryrefslogtreecommitdiff
path: root/accel-pppd/memdebug.c
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-09-01 09:32:30 +0300
committerDenys Fedoryshchenko <denys.f@collabora.com>2026-09-01 09:32:30 +0300
commit4654c4a9c083780f5e151ee064e69a357c48d364 (patch)
treeee978a149543f91c8a155a6f6dcbee26564f7bf5 /accel-pppd/memdebug.c
parentd22666a84cc38b8018d839483db5df125fc6728b (diff)
downloadaccel-ppp-4654c4a9c083780f5e151ee064e69a357c48d364.tar.gz
accel-ppp-4654c4a9c083780f5e151ee064e69a357c48d364.zip
ppp: say why a malformed ConfReq drops the session
The option walkers of lcp_recv_conf_req() and its IPCP, IPV6CP and CCP counterparts bail out with *_OPT_FAIL as soon as an option header does not fit in the remaining bytes or carries an impossible length, and the caller turns that into ap_session_terminate(TERM_USER_ERROR). The bail out happens before the "recv [LCP ConfReq id=..." line is emitted, so the session simply disappeared with nothing in the log to point at the peer. The ConfAck, ConfNak and ConfRej walkers break out of their loop instead and at least close the line they had already started. Log the offending length, option id and the number of bytes left before returning, so a peer sending malformed options can be told apart from the other reasons a session ends with TERM_USER_ERROR.
Diffstat (limited to 'accel-pppd/memdebug.c')
0 files changed, 0 insertions, 0 deletions