I find it a little ironic maybe that all of these issues with respect to fingerprint readers are exactly the same as came up with smartcard readers.
The same UI issue of username/password vs "device" came up with dtlogin back when smartcard was first done. This is why the private PAM conversation function extensions were created. In general there should be no problem with a multi-threaded PAM module, but I don't think it is at all safe to assume that the application calling into libpam is multi-threaded. In other words a module may use threads for its own internal purposes, just like any library may, but it can not assume that it can force the caller to use multiple threads. I'm not sure about the idea of modelling the fingerprint reader as an XInput device. That wouldn't be correct for smartcard and I'm as yet unsure about fingerprint or other biometric/biographic devices. -- Darren J Moffat
