X-Git-Url: http://www.average.org/gitweb/?p=pam_pcsc_cr.git;a=blobdiff_plain;f=pam_pcsc_cr.c;h=950441533e43a762df220da2b6d0996c60357c1c;hp=c0493be75d8c132da34850b6e74e2594a95da7d9;hb=2b714d273b08b945ef677e0fbbf2c8d3d4437980;hpb=18916016d0290d40dcdead0fbeffb8a8fb37f338 diff --git a/pam_pcsc_cr.c b/pam_pcsc_cr.c index c0493be..9504415 100644 --- a/pam_pcsc_cr.c +++ b/pam_pcsc_cr.c @@ -135,14 +135,19 @@ void parse_cfg(struct _cfg * const cfg, int argc, const char *argv[]) int i; for (i = 0; i < argc; i++) { - if (cfg->verbose) syslog(LOG_DEBUG, "arg: \"%s\"", argv[i]); - if (strchr(argv[i],':') && strchr(argv[i],'=')) - pcsc_option(argv[i]); - else if (!strcmp(argv[i], "verbose")) cfg->verbose = 1; + if (strchr(argv[i],':') && strchr(argv[i],'=')) { + if (pcsc_option(argv[i])) + syslog(LOG_ERR, + "unrecognized pcsc backedn option \"%s\"", + argv[i]); + } else if (!strcmp(argv[i], "verbose")) cfg->verbose = 1; else if (!strcmp(argv[i], "noaskpass")) cfg->noaskpass = 1; else if (!strcmp(argv[i], "injectauth")) cfg->injectauth = 1; else if (!strncmp(argv[i], "path=", 5)) authfile_template(argv[i]+5); + else syslog(LOG_ERR, "unrecognized arg: \"%s\"", argv[i]); + + if (cfg->verbose) syslog(LOG_DEBUG, "arg: \"%s\"", argv[i]); } } @@ -159,6 +164,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, parse_cfg(&cfg, argc, argv); (void)pam_set_data(pamh, "pcsc_cr_cfg_struct", &cfg, NULL); + if (cfg.verbose) syslog(LOG_INFO, "auth with %s", PACKAGE_STRING); if ((pam_err = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS) { if (cfg.verbose) syslog(LOG_ERR, "get_user failed: %s", @@ -169,6 +175,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, tokenid = user; user = NULL; } + if (cfg.verbose) syslog(LOG_DEBUG, "tokenid=\"%s\", user=\"%s\"", + tokenid?tokenid:"", user?user:""); if (!cfg.noaskpass) { if ((pam_err = pam_get_authtok(pamh, PAM_AUTHTOK, @@ -193,6 +201,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, pam_set_item(pamh, PAM_USER, ao.data); if (cfg.injectauth && ao.payload && ao.payload[0]) pam_set_item(pamh, PAM_AUTHTOK, ao.payload); + if (cfg.verbose) syslog(LOG_DEBUG, "authenticated"); return PAM_SUCCESS; } }