Simply passwd_check since it's never used when configured with PAM support.
This commit is contained in:
		| @@ -1,3 +1,8 @@ | |||||||
|  | 2008-05-24  Nicolas François  <nicolas.francois@centraliens.net> | ||||||
|  |  | ||||||
|  | 	* libmisc/pwdcheck.c: Simply passwd_check since it's never used | ||||||
|  | 	when configured with PAM support. | ||||||
|  |  | ||||||
| 2008-05-24  Nicolas François  <nicolas.francois@centraliens.net> | 2008-05-24  Nicolas François  <nicolas.francois@centraliens.net> | ||||||
|  |  | ||||||
| 	Fix compiler warnings: | 	Fix compiler warnings: | ||||||
|   | |||||||
| @@ -32,55 +32,29 @@ | |||||||
|  |  | ||||||
| #ident "$Id$" | #ident "$Id$" | ||||||
|  |  | ||||||
|  | #ifndef USE_PAM | ||||||
|  |  | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
|  | #include <shadow.h> | ||||||
| #include "prototypes.h" | #include "prototypes.h" | ||||||
| #include "defines.h" | #include "defines.h" | ||||||
| #ifdef USE_PAM |  | ||||||
| #include "pam_defs.h" |  | ||||||
| #else |  | ||||||
| #include <shadow.h> |  | ||||||
| #include "pwauth.h" | #include "pwauth.h" | ||||||
| #endif |  | ||||||
| #define WRONGPWD2	"incorrect password for `%s'" |  | ||||||
| void passwd_check (const char *user, const char *passwd, const char *progname) | void passwd_check (const char *user, const char *passwd, const char *progname) | ||||||
| { | { | ||||||
| #ifdef USE_PAM |  | ||||||
| 	pam_handle_t *pamh = NULL; |  | ||||||
| 	int retcode; |  | ||||||
|  |  | ||||||
| 	if (pam_start (progname, user, &conv, &pamh)) { |  | ||||||
| 	      bailout: |  | ||||||
| 		SYSLOG ((LOG_WARN, WRONGPWD2, user)); |  | ||||||
| 		sleep (1); |  | ||||||
| 		fprintf (stderr, _("Incorrect password for %s.\n"), user); |  | ||||||
| 		exit (1); |  | ||||||
| 	} |  | ||||||
| 	if (pam_authenticate (pamh, 0)) |  | ||||||
| 		goto bailout; |  | ||||||
|  |  | ||||||
| 	retcode = pam_acct_mgmt (pamh, 0); |  | ||||||
| 	if (retcode == PAM_NEW_AUTHTOK_REQD) |  | ||||||
| 		retcode = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK); |  | ||||||
| 	if (retcode) |  | ||||||
| 		goto bailout; |  | ||||||
|  |  | ||||||
| 	if (pam_setcred (pamh, 0)) |  | ||||||
| 		goto bailout; |  | ||||||
|  |  | ||||||
| 	/* no need to establish a session; this isn't a session-oriented |  | ||||||
| 	 * activity... */ |  | ||||||
|  |  | ||||||
| #else				/* !USE_PAM */ |  | ||||||
|  |  | ||||||
| 	struct spwd *sp; | 	struct spwd *sp; | ||||||
|  |  | ||||||
| 	if ((sp = getspnam (user))) /* !USE_PAM, no need for xgetspnam */ | 	sp = getspnam (user); /* !USE_PAM, no need for xgetspnam */ | ||||||
|  | 	if (NULL != sp) { | ||||||
| 		passwd = sp->sp_pwdp; | 		passwd = sp->sp_pwdp; | ||||||
|  | 	} | ||||||
| 	if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) { | 	if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) { | ||||||
| 		SYSLOG ((LOG_WARN, WRONGPWD2, user)); | 		SYSLOG ((LOG_WARN, "incorrect password for `%s'", user)); | ||||||
| 		sleep (1); | 		sleep (1); | ||||||
| 		fprintf (stderr, _("Incorrect password for %s.\n"), user); | 		fprintf (stderr, _("Incorrect password for %s.\n"), user); | ||||||
| 		exit (1); | 		exit (1); | ||||||
| 	} | 	} | ||||||
| #endif				/* !USE_PAM */ |  | ||||||
| } | } | ||||||
|  | #else			/* USE_PAM */ | ||||||
|  | extern int errno;	/* warning: ANSI C forbids an empty source file */ | ||||||
|  | #endif			/* USE_PAM */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user