Avoid terminating the PAM library in the forked child. This is done later
in the parent after closing the PAM session. This fixes http://bugs.debian.org/412061. Debian patch 405_su_no_pam_end_before_exec.
This commit is contained in:
parent
7503c8a029
commit
0fd1ed4517
@ -1,3 +1,10 @@
|
|||||||
|
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* NEWS, src/su.c: Avoid terminating the PAM library in the forked
|
||||||
|
child. This is done later in the parent after closing the PAM
|
||||||
|
session. This fixes http://bugs.debian.org/412061.
|
||||||
|
Debian patch 405_su_no_pam_end_before_exec.
|
||||||
|
|
||||||
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* man/newgrp.1.xml: Mention sg in the newgrp manpage.
|
* man/newgrp.1.xml: Mention sg in the newgrp manpage.
|
||||||
|
2
NEWS
2
NEWS
@ -39,6 +39,8 @@ shadow-4.0.18.1 -> shadow-4.0.18.2 UNRELEASED
|
|||||||
addition* to editing the password field. Debian patch 494_passwd_lock.
|
addition* to editing the password field. Debian patch 494_passwd_lock.
|
||||||
- pwck: Remove the SHADOWPWD preprocessor check. Some check for /etc/shadow
|
- pwck: Remove the SHADOWPWD preprocessor check. Some check for /etc/shadow
|
||||||
were always missing.
|
were always missing.
|
||||||
|
- su: Avoid terminating the PAM library in the forked child. This is done
|
||||||
|
later in the parent after closing the PAM session.
|
||||||
|
|
||||||
shadow-4.0.18.1 -> shadow-4.0.18.2 28-10-2007
|
shadow-4.0.18.1 -> shadow-4.0.18.2 28-10-2007
|
||||||
|
|
||||||
|
7
src/su.c
7
src/su.c
@ -183,7 +183,12 @@ static void run_shell (const char *shellstr, char *args[], int doshell,
|
|||||||
|
|
||||||
child = fork ();
|
child = fork ();
|
||||||
if (child == 0) { /* child shell */
|
if (child == 0) { /* child shell */
|
||||||
pam_end (pamh, PAM_SUCCESS);
|
/*
|
||||||
|
* PAM_DATA_SILENT is not supported by some modules, and
|
||||||
|
* there is no strong need to clean up the process space's
|
||||||
|
* memory since we will either call exec or exit.
|
||||||
|
pam_end (pamh, PAM_SUCCESS | PAM_DATA_SILENT);
|
||||||
|
*/
|
||||||
|
|
||||||
if (doshell)
|
if (doshell)
|
||||||
(void) shell (shellstr, (char *) args[0], envp);
|
(void) shell (shellstr, (char *) args[0], envp);
|
||||||
|
Loading…
Reference in New Issue
Block a user