- (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*)