* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#define RCSID "$Id: upap.c,v 1.19 1999/08/13 06:46:21 paulus Exp $"
+#define RCSID "$Id: upap.c,v 1.21 1999/09/11 12:09:00 paulus Exp $"
/*
* TODO:
* Check the username and password given.
*/
retcode = check_passwd(u->us_unit, ruser, ruserlen, rpasswd,
- rpasswdlen, &msg, &msglen);
+ rpasswdlen, &msg);
BZERO(rpasswd, rpasswdlen);
+ msglen = strlen(msg);
+ if (msglen > 255)
+ msglen = 255;
upap_sresp(u, retcode, id, msg, msglen);
* Parse message.
*/
if (len < sizeof (u_char)) {
- UPAPDEBUG(("pap_rauthack: rcvd short packet."));
- return;
- }
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthack: rcvd short packet."));
- return;
+ UPAPDEBUG(("pap_rauthack: ignoring missing msg-length."));
+ } else {
+ GETCHAR(msglen, inp);
+ if (msglen > 0) {
+ len -= sizeof (u_char);
+ if (len < msglen) {
+ UPAPDEBUG(("pap_rauthack: rcvd short packet."));
+ return;
+ }
+ msg = (char *) inp;
+ PRINTMSG(msg, msglen);
}
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
}
u->us_clientstate = UPAPCS_OPEN;
* Parse message.
*/
if (len < sizeof (u_char)) {
- UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
- return;
- }
- GETCHAR(msglen, inp);
- if (msglen > 0) {
- len -= sizeof (u_char);
- if (len < msglen) {
- UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
- return;
+ UPAPDEBUG(("pap_rauthnak: ignoring missing msg-length."));
+ } else {
+ GETCHAR(msglen, inp);
+ if (msglen > 0) {
+ len -= sizeof (u_char);
+ if (len < msglen) {
+ UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
+ return;
+ }
+ msg = (char *) inp;
+ PRINTMSG(msg, msglen);
}
- msg = (char *) inp;
- PRINTMSG(msg, msglen);
}
u->us_clientstate = UPAPCS_BADAUTH;