*/
#ifndef lint
-static char rcsid[] = "$Id: auth.c,v 1.48 1999/03/30 06:02:21 paulus Exp $";
+static char rcsid[] = "$Id: auth.c,v 1.51 1999/04/12 06:24:44 paulus Exp $";
#endif
#include <stdio.h>
itime = MIN(idle.xmit_idle, idle.recv_idle);
if (itime >= idle_time_limit) {
/* link is idle: shut it down. */
- info("Terminating connection due to lack of activity.");
+ notice("Terminating connection due to lack of activity.");
lcp_close(0, "Link inactive");
} else {
TIMEOUT(check_idle, NULL, idle_time_limit - itime);
*resp = reply;
return PAM_SUCCESS;
}
+
static struct pam_conv PAM_conversation = {
&PAM_conv,
NULL
pam_error = pam_start ("ppp", user, &PAM_conversation, &pamh);
if (pam_error != PAM_SUCCESS) {
- *msg = (char *) pam_strerror (pamh, pam_error);
+ *msg = (char *) pam_strerror (pamh, pam_error);
+ reopen_log();
return UPAP_AUTHNAK;
}
/*
}
*msg = (char *) pam_strerror (pamh, pam_error);
+
/*
* Clean up the mess
*/
+ reopen_log(); /* apparently the PAM stuff does closelog() */
PAM_username = NULL;
PAM_password = NULL;
if (pam_error != PAM_SUCCESS)
(void)lseek(fd, (off_t)(pw->pw_uid * sizeof(ll)), SEEK_SET);
memset((void *)&ll, 0, sizeof(ll));
(void)time(&ll.ll_time);
- (void)strlcpy(ll.ll_line, tty, sizeof(ll.ll_line));
+ (void)strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
(void)write(fd, (char *)&ll, sizeof(ll));
(void)close(fd);
}
pam_end (pamh, pam_error);
pamh = NULL;
}
+ /* Apparently the pam stuff does closelog(). */
+ reopen_log();
#else /* ! USE_PAM */
char *tty;