summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--acconfig.h3
-rw-r--r--auth-pam.c4
-rw-r--r--configure.in1
4 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b2bef47c..a37d7b4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+20000709
+ - (djm) Only enable PAM_TTY kludge for Linux. Problem report from
+ Kevin Steves <stevesk@sweden.hp.com>
+
20000708
- (djm) Fix bad fprintf format handling in auth-pam.c. Patch from
Aaron Hopkins <aaron@die.net>
diff --git a/acconfig.h b/acconfig.h
index af990565..e11bf5e6 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -6,6 +6,9 @@
@TOP@
+/* Work around problematic Linux PAM modules handling of PAM_TTY */
+#undef PAM_TTY_KLUDGE
+
/* Use PIPES instead of a socketpair() */
#undef USE_PIPES
diff --git a/auth-pam.c b/auth-pam.c
index 27e59ef9..a3067d61 100644
--- a/auth-pam.c
+++ b/auth-pam.c
@@ -34,7 +34,7 @@
#include "xmalloc.h"
#include "servconf.h"
-RCSID("$Id: auth-pam.c,v 1.9 2000/07/08 00:14:08 djm Exp $");
+RCSID("$Id: auth-pam.c,v 1.10 2000/07/09 11:21:52 djm Exp $");
#define NEW_AUTHTOK_MSG \
"Warning: You password has expired, please change it now"
@@ -246,6 +246,7 @@ void start_pam(struct passwd *pw)
PAM_STRERROR((pam_handle_t *)pamh, pam_retval));
}
+#ifdef PAM_TTY_KLUDGE
/*
* Some PAM modules (e.g. pam_time) require a TTY to operate,
* and will fail in various stupid ways if they don't get one.
@@ -258,6 +259,7 @@ void start_pam(struct passwd *pw)
fatal("PAM set tty failed: %.200s",
PAM_STRERROR((pam_handle_t *)pamh, pam_retval));
}
+#endif /* PAM_TTY_KLUDGE */
fatal_add_cleanup(&pam_cleanup_proc, NULL);
}
diff --git a/configure.in b/configure.in
index ace6de4b..4d0f6ea4 100644
--- a/configure.in
+++ b/configure.in
@@ -99,6 +99,7 @@ case "$host" in
*-*-linux*)
no_dev_ptmx=1
AC_DEFINE(DONT_TRY_OTHER_AF)
+ AC_DEFINE(PAM_TTY_KLUDGE)
inet6_default_4in6=yes
;;
*-*-netbsd*)