summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2010-04-29 16:28:54 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2010-04-29 16:28:54 -0400
commitc427ad63d452d515c7bd49e70bb401f2467babe6 (patch)
treef5c8a5e74ad0fa2cb4851d79f8371011ee73e1f3 /src/main.c
parent2b58d08567e1375440fa0a0619920b34ebd68e5a (diff)
downloadpam_rps-c427ad63d452d515c7bd49e70bb401f2467babe6.tar.gz
pam_rps-c427ad63d452d515c7bd49e70bb401f2467babe6.tar.xz
pam_rps-c427ad63d452d515c7bd49e70bb401f2467babe6.zip
- add "verbose"
- add man page docs for the expanded rule set
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 2dc54a0..0abdaf4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -70,14 +70,16 @@ converse(int n, const struct pam_message **msgs,
/* Sun ABI. */
msg = msgs[i];
}
- if (msg->msg_style == PAM_PROMPT_ECHO_OFF) {
+ switch (msg->msg_style) {
+ case PAM_PROMPT_ECHO_OFF:
s = getpass(msg->msg);
if (s == NULL) {
s = "";
}
(*resp)[i].resp_retcode = 0;
(*resp)[i].resp = strdup(s);
- } else {
+ break;
+ case PAM_PROMPT_ECHO_ON:
fprintf(stderr, "%s", msg->msg);
s = fgets(buf, sizeof(buf), stdin);
if (s == NULL) {
@@ -86,6 +88,12 @@ converse(int n, const struct pam_message **msgs,
s[strcspn(s, "\r\n")] = '\0';
(*resp)[i].resp_retcode = 0;
(*resp)[i].resp = strdup(s);
+ break;
+ default:
+ fprintf(stderr, "%s\n", msg->msg);
+ (*resp)[i].resp_retcode = 0;
+ (*resp)[i].resp = NULL;
+ break;
}
}
return 0;