diff options
Diffstat (limited to 'examples/vpass.c')
-rw-r--r-- | examples/vpass.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/examples/vpass.c b/examples/vpass.c deleted file mode 100644 index a54ec061..00000000 --- a/examples/vpass.c +++ /dev/null @@ -1,51 +0,0 @@ - -#include "config.h" - -#include <stdlib.h> -#include <stdio.h> -#include <unistd.h> -#include <pwd.h> -#include <sys/types.h> -#include <security/pam_appl.h> - -static int -test_conv (int num_msg UNUSED, const struct pam_message **msgm UNUSED, - struct pam_response **response UNUSED, void *appdata_ptr UNUSED) -{ - return 0; -} - -static struct pam_conv conv = { - test_conv, - NULL -}; - -int main(void) -{ - char *user; - pam_handle_t *pamh; - struct passwd *pw; - uid_t uid; - int res; - - uid = geteuid(); - pw = getpwuid(uid); - if (pw) { - user = pw->pw_name; - } else { - fprintf(stderr, "Invalid userid: %lu\n", (unsigned long) uid); - exit(1); - } - - pam_start("vpass", user, &conv, &pamh); - pam_set_item(pamh, PAM_TTY, "/dev/tty"); - if ((res = pam_authenticate(pamh, 0)) != PAM_SUCCESS) { - fprintf(stderr, "Oops: %s\n", pam_strerror(pamh, res)); - exit(1); - } - - pam_end(pamh, res); - exit(0); -} - - |