[Pkg-shadow-commits] r3359 - in upstream/trunk: . src

Nicolas FRANÇOIS nekral-guest at alioth.debian.org
Mon Jun 13 18:27:46 UTC 2011


Author: nekral-guest
Date: 2011-06-13 18:27:46 +0000 (Mon, 13 Jun 2011)
New Revision: 3359

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/src/su.c
Log:
	* src/su.c: After prepare_pam_close_session() there is no need to
	close the session in the child. Added pam_setcred to
	prepare_pam_close_session().

Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2011-06-13 18:27:40 UTC (rev 3358)
+++ upstream/trunk/ChangeLog	2011-06-13 18:27:46 UTC (rev 3359)
@@ -8,6 +8,9 @@
 	* src/su.c: Also drop the controlling terminal when PAM is not
 	used.
 	* src/su.c: Remove run_shell().
+	* src/su.c: After prepare_pam_close_session() there is no need to
+	close the session in the child. Added pam_setcred to
+	prepare_pam_close_session().
 
 2011-06-12  Nicolas François  <nicolas.francois at centraliens.net>
 

Modified: upstream/trunk/src/su.c
===================================================================
--- upstream/trunk/src/su.c	2011-06-13 18:27:40 UTC (rev 3358)
+++ upstream/trunk/src/su.c	2011-06-13 18:27:46 UTC (rev 3359)
@@ -376,11 +376,10 @@
 		SYSLOG ((LOG_ERR, "pam_close_session: %s",
 		         pam_strerror (pamh, ret)));
 		fprintf (stderr, _("%s: %s\n"), Prog, pam_strerror (pamh, ret));
-		(void) pam_end (pamh, ret);
-		exit (1);
 	}
 
-	ret = pam_end (pamh, PAM_SUCCESS);
+	(void) pam_setcred (pamh, PAM_DELETE_CRED);
+	(void) pam_end (pamh, PAM_SUCCESS);
 
 	if (0 != caught) {
 		(void) signal (SIGALRM, kill_child);
@@ -1016,9 +1015,6 @@
 
 	/* become the new user */
 	if (change_uid (pw) != 0) {
-		pam_close_session (pamh, 0);
-		pam_setcred (pamh, PAM_DELETE_CRED);
-		(void) pam_end (pamh, PAM_ABORT);
 		exit (1);
 	}
 #else				/* !USE_PAM */




More information about the Pkg-shadow-commits mailing list