naja, habe jetzt eine Lösung gefunden, aber mit pam werd ich mich noch mal beschäftigen.
Code:
int checklogin(char user[], char pass[])
{
/* wir loeschen den Zeilenumbruch... */
user[strlen(user)-2] = '\0';
pass[strlen(pass)-2] = '\0';
register struct spwd *pwd;
pwd = getspnam(user);
if(pwd == NULL)
{
return -1; //user not known
}
if(strcmp(crypt(pass, pwd->sp_pwdp), pwd->sp_pwdp))
{
return -1; //wrong pw..
}
return 0; //login ok!
}
Die idee stammt aus dem qpopper src ist aber nix kopiert
MfG. Takt
Lesezeichen