diff options
author | Nalin Dahyabhai <nalin@dahyabhai.net> | 2010-04-29 16:28:54 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin@dahyabhai.net> | 2010-04-29 16:28:54 -0400 |
commit | c427ad63d452d515c7bd49e70bb401f2467babe6 (patch) | |
tree | f5c8a5e74ad0fa2cb4851d79f8371011ee73e1f3 /src/main.c | |
parent | 2b58d08567e1375440fa0a0619920b34ebd68e5a (diff) | |
download | pam_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.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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; |