diff -urNp mpd-3.18.orig/src/chap.c mpd-3.18/src/chap.c --- mpd-3.18.orig/src/chap.c Sun May 8 17:54:56 2005 +++ mpd-3.18/src/chap.c Tue Jul 4 15:24:02 2006 @@ -312,8 +312,10 @@ ChapInput(Mbuf bp) /* Check packet */ if (a->self_to_peer != PROTO_CHAP - || lnk->lcp.phase != PHASE_AUTHENTICATE) + || lnk->lcp.phase != PHASE_AUTHENTICATE) { Log(LG_AUTH, (" Not expected, but that's OK")); + break; + } if (ChapParsePkt(bp, len, peer_name, chap_value, &chap_value_size) < 0) break; @@ -450,8 +452,11 @@ ChapInput(Mbuf bp) /* Check response */ if (a->peer_to_self != PROTO_CHAP - || lnk->lcp.phase != PHASE_AUTHENTICATE) + || lnk->lcp.phase != PHASE_AUTHENTICATE) { Log(LG_AUTH, (" Not expected, but that's OK")); + break; + } + if (ChapParsePkt(bp, len, peer_name, chap_value, &chap_value_size) < 0) { whyFail = AUTH_FAIL_INVALID_PACKET;