- (djm) Disconnect if no tty and PAM reports password expired
diff --git a/session.c b/session.c
index e9d8ceb..10cefdb 100644
--- a/session.c
+++ b/session.c
@@ -432,6 +432,9 @@
 #if defined(USE_PAM)
 	do_pam_session(s->pw->pw_name, NULL);
 	do_pam_setcred(1);
+	if (is_pam_password_change_required())
+		packet_disconnect("Password change required but no "
+		    "TTY available");
 #endif /* USE_PAM */
 
 	/* Fork the child. */