From ac018c2ffa65fb987dc4ff30a417747a23a1bfca Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 19 Apr 2008 17:43:38 +0000 Subject: [PATCH] Adjusted to work with shadow passwords. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25056 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/login/Jamfile | 6 ++++-- src/apps/login/LoginApp.cpp | 12 +++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/apps/login/Jamfile b/src/apps/login/Jamfile index 7770be1792..87cc5fc0bb 100644 --- a/src/apps/login/Jamfile +++ b/src/apps/login/Jamfile @@ -6,12 +6,14 @@ SetSubDirSupportedPlatformsBeOSCompatible ; #UsePrivateHeaders tracker ; #SubDirHdrs $(HAIKU_TOP) src kits tracker ; +UseHeaders [ FDirName $(HAIKU_TOP) src bin multiuser ] ; + Application Login : LoginApp.cpp LoginWindow.cpp LoginView.cpp main.cpp - : be tracker + : be tracker libmultiuser_utils.a : Login.rdef - ; +; diff --git a/src/apps/login/LoginApp.cpp b/src/apps/login/LoginApp.cpp index 6daf706919..48df221c8c 100644 --- a/src/apps/login/LoginApp.cpp +++ b/src/apps/login/LoginApp.cpp @@ -3,10 +3,14 @@ #include #include #include +#include #include "LoginApp.h" #include "LoginWindow.h" +#include "multiuser_utils.h" + + const char *kLoginAppSig = "application/x-vnd.Haiku-Login"; @@ -98,11 +102,9 @@ LoginApp::ValidateLogin(const char *login, const char *password/*, bool force = return B_OK; } - // XXX: check for shadow pass - if (strcmp(crypt(password, pwd->pw_passwd), pwd->pw_passwd)) - return B_NOT_ALLOWED; - - return B_OK; + if (verify_password(pwd, getspnam(login), password)) + return B_OK; + return B_NOT_ALLOWED; }