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; }