diff options
-rw-r--r-- | usr.sbin/ppp/chap.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/usr.sbin/ppp/chap.c b/usr.sbin/ppp/chap.c index 71de71a..bb43eec 100644 --- a/usr.sbin/ppp/chap.c +++ b/usr.sbin/ppp/chap.c @@ -744,6 +744,11 @@ chap_Input(struct bundle *bundle, struct link *l, struct mbuf *bp) } *ans = chap->auth.id; bp = mbuf_Read(bp, ans + 1, alen); + if (p->link.lcp.want_authtype == 0x81 && ans[alen] != '\0') { + log_Printf(LogWARN, "%s: Compensating for corrupt (Win98?) " + "CHAP81 RESPONSE\n", l->name); + ans[alen] = '\0'; + } ans[alen+1] = '\0'; bp = auth_ReadName(&chap->auth, bp, len); #ifdef HAVE_DES |