* libmisc/hushed.c, lib/prototypes.h, src/login.c: Change the
hushed() prototype to take a username instead of a passwd structure in argument. The passwd entry is retrieved withing hushed().
This commit is contained in:
parent
87ac185752
commit
1bcf2ffb59
@ -1,3 +1,10 @@
|
||||
2009-04-20 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* libmisc/hushed.c, lib/prototypes.h, src/login.c: Change the
|
||||
hushed() prototype to take a username instead of a passwd
|
||||
structure in argument. The passwd entry is retrieved withing
|
||||
hushed().
|
||||
|
||||
2009-04-20 Nicolas François <nicolas.francois@centraliens.net>
|
||||
|
||||
* libmisc/setugid.c: Updated comments.
|
||||
|
@ -175,7 +175,7 @@ extern void __gr_set_changed (void);
|
||||
extern struct group *__gr_dup (const struct group *grent);
|
||||
|
||||
/* hushed.c */
|
||||
extern bool hushed (const struct passwd *pw);
|
||||
extern bool hushed (const char *username);
|
||||
|
||||
/* audit_help.c */
|
||||
#ifdef WITH_AUDIT
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright (c) 1991 - 1993, Chip Rosenthal
|
||||
* Copyright (c) 1996 - 2000, Marek Michałkiewicz
|
||||
* Copyright (c) 2003 - 2005, Tomasz Kłoczko
|
||||
* Copyright (c) 2008 , Nicolas François
|
||||
* Copyright (c) 2008 - 2009, Nicolas François
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -47,8 +47,9 @@
|
||||
* Look in the hushed-logins file (or user's home directory) to see
|
||||
* if the user is to receive the login-time messages.
|
||||
*/
|
||||
bool hushed (const struct passwd *pw)
|
||||
bool hushed (const char *username)
|
||||
{
|
||||
const struct passwd *pw;
|
||||
char *hushfile;
|
||||
char buf[BUFSIZ];
|
||||
bool found;
|
||||
@ -64,6 +65,11 @@ bool hushed (const struct passwd *pw)
|
||||
return false;
|
||||
}
|
||||
|
||||
pw = getspnam (username);
|
||||
if (NULL == pw) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* If this is not a fully rooted path then see if the
|
||||
* file exists in the user's home directory.
|
||||
|
@ -847,7 +847,7 @@ int main (int argc, char **argv)
|
||||
retcode = pam_setcred (pamh, PAM_ESTABLISH_CRED);
|
||||
PAM_FAIL_CHECK;
|
||||
|
||||
retcode = pam_open_session (pamh, hushed (&pwent) ? PAM_SILENT : 0);
|
||||
retcode = pam_open_session (pamh, hushed (username) ? PAM_SILENT : 0);
|
||||
PAM_FAIL_CHECK;
|
||||
|
||||
#else /* ! USE_PAM */
|
||||
@ -1184,7 +1184,7 @@ int main (int argc, char **argv)
|
||||
(void) bindtextdomain (PACKAGE, LOCALEDIR);
|
||||
(void) textdomain (PACKAGE);
|
||||
|
||||
if (!hushed (&pwent)) {
|
||||
if (!hushed (username)) {
|
||||
addenv ("HUSHLOGIN=FALSE", NULL);
|
||||
/*
|
||||
* pam_unix, pam_mail and pam_lastlog should take care of
|
||||
|
Loading…
Reference in New Issue
Block a user