html includes svg inside, adjust make rule
[pam_pcsc_cr.git] / pam_pcsc_cr.c
index c0493be75d8c132da34850b6e74e2594a95da7d9..950441533e43a762df220da2b6d0996c60357c1c 100644 (file)
@@ -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:"<none>", user?user:"<none>");
 
        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;
        }
 }