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