https://bugzilla.novell.com/show_bug.cgi?id=441144
User mischa.salle@gmail.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=441144#c34
--- Comment #34 from Mischa Salle 2009-01-08 09:52:43 MST ---
Created an attachment (id=263921)
--> (https://bugzilla.novell.com/attachment.cgi?id=263921)
Updated pam_fp.c to make kdm etc work with pam_fp
I managed to get kdm/kdesktop_lock to work as described by Alexander Lavrinenko
in comment #26, but only after hacking the pam_fp source code. I am using the
opensuse 11.1 release version: kde4-kdm-4.1.3-10.1, pam_fp-0.1-11.5,
libfprint0-0.0.6-8.16, libfprint-devel-0.0.6-8.16
I am not 100% sure what happens but two changes in pam_fp.c are necessary to
make it work:
1) In the original code in function pam_fp_prompt() there is a wait(NULL)
statement which is the one that hangs. Changing it into
waitpid((pid_t)-1,&stat_loc,WNOHANG) stops it from hanging after a password is
entered. Somehow, the child, which is basically pam_fp_swipe(), doesn't
respond. It doesn't seem to be a problem if wait doesn't hang (so WNOHANG) but
it needs to be figured out why the child doesn't respond. I have a feeling it
has to do with kdm_greet which is suspended when pam_fp is active. The child
itself does disappear so there is not a real problem this way...
2) In the reclaim loop it is necessary to first deinit pam_fp, using the
pam_fp_libfprint_deinit function, otherwise the device is still in use and it
will give a fp_dev_open() failed error if we need to swipe again after a
mis-swipe. I have changed deinit slightly to prevent double free()'s or
close()'s.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.