[git commit] login: -f should not ask for password even with PAM

Denys Vlasenko vda.linux at googlemail.com
Mon Jan 30 11:52:56 UTC 2012


commit: http://git.busybox.net/busybox/commit/?id=7eaa03709b337b586b11c4b9b53c9675f4de690c
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Sergey Naumov <sknaumov at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 loginutils/login.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/loginutils/login.c b/loginutils/login.c
index 73db8fa..bf43f3a 100644
--- a/loginutils/login.c
+++ b/loginutils/login.c
@@ -342,14 +342,16 @@ int login_main(int argc UNUSED_PARAM, char **argv)
 				goto pam_auth_failed;
 			}
 		}
-		pamret = pam_authenticate(pamh, 0);
-		if (pamret != PAM_SUCCESS) {
-			failed_msg = "authenticate";
-			goto pam_auth_failed;
-			/* TODO: or just "goto auth_failed"
-			 * since user seems to enter wrong password
-			 * (in this case pamret == 7)
-			 */
+		if (!(opt & LOGIN_OPT_f)) {
+			pamret = pam_authenticate(pamh, 0);
+			if (pamret != PAM_SUCCESS) {
+				failed_msg = "authenticate";
+				goto pam_auth_failed;
+				/* TODO: or just "goto auth_failed"
+				 * since user seems to enter wrong password
+				 * (in this case pamret == 7)
+				 */
+			}
 		}
 		/* check that the account is healthy */
 		pamret = pam_acct_mgmt(pamh, 0);


More information about the busybox-cvs mailing list