- (djm) Only enable PAM_TTY kludge for Linux. Problem report from
Kevin Steves <stevesk@sweden.hp.com>
diff --git a/ChangeLog b/ChangeLog
index b2bef47..a37d7b4 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 af99056..e11bf5e 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 27e59ef..a3067d6 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 @@
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 @@
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 ace6de4..4d0f6ea 100644
--- a/configure.in
+++ b/configure.in
@@ -99,6 +99,7 @@
*-*-linux*)
no_dev_ptmx=1
AC_DEFINE(DONT_TRY_OTHER_AF)
+ AC_DEFINE(PAM_TTY_KLUDGE)
inet6_default_4in6=yes
;;
*-*-netbsd*)