I'm trying to modify the latest version of gdm to make use of the cuecat barcode scanner as an authentication mechanism. There is a PAM module that will give users the option of scanning a barcode through with the cuecat instead of using a password, but I want to make it so that users have the option of simply swiping their barcode and be identified and logged in - without a username or password, essentially bypassing the PAM authentication system altogether. I'm having trouble getting the system to log in a user as I was planning. I've tried modifying the gdm_verify_user function in verify-pam.c and simply inserting
within the loop, so that the system simply logs in bob, but that doesn't work. I also tried almost copying the gdm_verify_setup_user function into the beginning of gdm_verify_user and mimicking the way it starts a pam session and does all kinds of administrative stuff without actually authenticating any password, but that doesn't work either. I also tried going to slave.c where gdm_verify_user is called and calling the latter function so that it goes right into an X session without even waiting:
but that had no effect at all. Is there something I'm missing here? Obviously, my X/gdm/PAM programming skills are sorely lacking... I would greatly appreciate any help here...