diff -r 3e63050481a8 sys/src/cmd/ip/ppp/ppp.c --- a/sys/src/cmd/ip/ppp/ppp.c Sat Mar 05 07:44:02 2016 +0100 +++ b/sys/src/cmd/ip/ppp/ppp.c Mon Mar 14 23:36:40 2016 +0100 @@ -243,12 +244,21 @@ } break; case Pauth: - if(server) + if(server) { chapinit(ppp); - else if(ppp->chap->proto == APpasswd) - papinit(ppp); - else - setphase(ppp, Pnet); + } else { + switch (ppp->chap->proto) { + case APpasswd: + papinit(ppp); + break; + case APmd5: + case APmschap: + break; + default: + setphase(ppp, Pnet); + break; + } + } break; case Pnet: pinit(ppp, ppp->ccp);