X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fauth.c;h=c51a67d975501cad52673bb38b1f43cb357f538c;hb=25a5dd4d485057f59b7ee31413945cada446e6fc;hp=53b4ef5c288d1ba7fbe4af470f804e7406017d56;hpb=e8be982dbc5c6c50dfc9f66737867570c8ed4973;p=ppp.git diff --git a/pppd/auth.c b/pppd/auth.c index 53b4ef5..c51a67d 100644 --- a/pppd/auth.c +++ b/pppd/auth.c @@ -33,7 +33,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: auth.c,v 1.51 1999/04/12 06:24:44 paulus Exp $"; +static char rcsid[] = "$Id: auth.c,v 1.53 1999/05/13 00:33:05 paulus Exp $"; #endif #include @@ -367,6 +367,7 @@ link_established(unit) if (!wo->neg_upap || !null_login(unit)) { warn("peer refused to authenticate: terminating link"); lcp_close(unit, "peer refused to authenticate"); + status = EXIT_PEER_AUTH_FAILED; return; } } @@ -460,6 +461,7 @@ auth_peer_fail(unit, protocol) * Authentication failure: take the link down */ lcp_close(unit, "Authentication failed"); + status = EXIT_PEER_AUTH_FAILED; } /* @@ -562,6 +564,7 @@ np_up(unit, proto) * At this point we consider that the link has come up successfully. */ need_holdoff = 0; + status = EXIT_OK; if (idle_time_limit > 0) TIMEOUT(check_idle, NULL, idle_time_limit); @@ -625,6 +628,7 @@ check_idle(arg) /* link is idle: shut it down. */ notice("Terminating connection due to lack of activity."); lcp_close(0, "Link inactive"); + status = EXIT_IDLE_TIMEOUT; } else { TIMEOUT(check_idle, NULL, idle_time_limit - itime); } @@ -639,6 +643,7 @@ connect_time_expired(arg) { info("Connect time expired"); lcp_close(0, "Connect time expired"); /* Close connection */ + status = EXIT_CONNECT_TIME; } /* @@ -785,7 +790,8 @@ check_passwd(unit, auser, userlen, apasswd, passwdlen, msg, msglen) } else { check_access(f, filename); if (scan_authfile(f, user, our_name, secret, &addrs, filename) < 0 - || (secret[0] != 0 && (cryptpap || strcmp(passwd, secret) != 0) + || (!uselogin && secret[0] != 0 + && (cryptpap || strcmp(passwd, secret) != 0) && strcmp(crypt(passwd, secret), secret) != 0)) { warn("PAP authentication failure for %s", user); ret = UPAP_AUTHNAK;