summaryrefslogtreecommitdiff
path: root/modules/pam_tally
diff options
context:
space:
mode:
authorJan Rekorajski <baggins@sith.mimuw.edu.pl>2000-12-04 18:36:51 +0000
committerJan Rekorajski <baggins@sith.mimuw.edu.pl>2000-12-04 18:36:51 +0000
commit6a36792321ef91dc91c9887d5c56db88e6546047 (patch)
tree533c80b5187a0b9e361958cd11422704b67d5498 /modules/pam_tally
parent823d30ab735392f8da3b19513f1d550fadfa3ef8 (diff)
Relevant BUGIDs: 124394
Purpose of commit: bugfix Commit summary: --------------- * pam_tally - check for PAM_TTY if PAM_RHOST is not set when writing to faillog
Diffstat (limited to 'modules/pam_tally')
-rw-r--r--modules/pam_tally/pam_tally.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/modules/pam_tally/pam_tally.c b/modules/pam_tally/pam_tally.c
index 436ce956..e5e17b95 100644
--- a/modules/pam_tally/pam_tally.c
+++ b/modules/pam_tally/pam_tally.c
@@ -295,7 +295,8 @@ static int tally_bump (int inc,
*TALLY = NULL;
const char
*user = NULL,
- *remote_host = NULL;
+ *remote_host = NULL,
+ *cur_tty = NULL;
int i=pam_get_uid(pamh, &uid, &user);
if ( i != PAM_SUCCESS ) RETURN_ERROR( i );
@@ -306,7 +307,13 @@ static int tally_bump (int inc,
(void) pam_get_item(pamh, PAM_RHOST, (const void **)&remote_host);
if (!remote_host)
{
- strcpy(faillog.fail_line, "unknown");
+ (void) pam_get_item(pamh, PAM_TTY, (const void **)&cur_tty);
+ if (!cur_tty)
+ strcpy(faillog.fail_line, "unknown");
+ else {
+ strncpy(faillog.fail_line, cur_tty, (size_t)sizeof(faillog.fail_line));
+ faillog.fail_line[sizeof(faillog.fail_line)-1] = 0;
+ }
}
else
{