On a whim I tried this really big
hammer. I created a patch to strip from the kdebase code all
references of consolekit.c and CONSOLE_KIT. Seemed like a
reasonable idea.
No luck. Still can't login with KDM.
Would somebody please provide me a
knee-bone-connected-to-the-thigh-bone explanation or simple
flow chart how KDM runs through everything? I'm still
leaning toward this being an authentication problem. Perhaps
with some kind of flow chart I can try something.
Some progress.
I tried some different -debug options with kdm. I saw an error message
"password verify failed." The only place the message is found is in
kdm/backend/client.c.
Any ideas where to attack next?
Darrell
Hi Darrell,
That snippet you posted above I think contains a very important clue to
the solution.
In kdm/backend/client.c , try commenting out the #ifdefs for HAVE_CRYPT.
I am pretty sure that HAVE_CRYPT is not being set by CMake, which would
cause non-PAM (encrypted) password checks to fail.
If this temporary hack fixes the problem, a simple fix to CMake should
squash this bug for good!
Tim
To clarify, you should (as a test ONLY) replace this whole block:
# if defined(ultrix) || defined(__ultrix__)
if (authenticate_user( p, curpass, NULL ) < 0)
# elif defined(HAVE_CRYPT)
if (strcmp( crypt( curpass, p->pw_passwd ), p->pw_passwd ))
# else
if (strcmp( curpass, p->pw_passwd ))
# endif
With this single line:
if (strcmp( crypt( curpass, p->pw_passwd ), p->pw_passwd ))
Tim