summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CREDITS1
-rw-r--r--ChangeLog4
-rw-r--r--configure.in3
-rw-r--r--session.c4
4 files changed, 7 insertions, 5 deletions
diff --git a/CREDITS b/CREDITS
index 1e317f6ca..90aa89dc1 100644
--- a/CREDITS
+++ b/CREDITS
@@ -44,6 +44,7 @@ Jarno Huuskonen <jhuuskon@hytti.uku.fi> - Bugfixes
Jim Knoble <jmknoble@pobox.com> - Many patches
Jonchen (email unknown) - the original author of PAM support of SSH
Juergen Keil <jk@tools.de> - scp bugfixing
+KAMAHARA Junzo <kamahara@cc.kshosen.ac.jp> - Configure fixes
Kees Cook <cook@cpoint.net> - scp fixes
Kenji Miyake <kenji@miyake.org> - Configure fixes
Kevin O'Connor <kevin_oconnor@standardandpoors.com> - RSAless operation
diff --git a/ChangeLog b/ChangeLog
index a58d4a6b4..61993bb00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,9 @@
20001007
- (stevesk) Print PAM return value in PAM log messages to aid
with debugging.
-
+ - (stevesk) Fix detection of pw_class struct member in configure;
+ patch from KAMAHARA Junzo <kamahara@cc.kshosen.ac.jp>
+
20001002
- (djm) Fix USER_PATH, report from Kevin Steves <stevesk@sweden.hp.com>
- (djm) Add host system and CC to end-of-configure report. Suggested by
diff --git a/configure.in b/configure.in
index 38afa3b4d..c342d14fa 100644
--- a/configure.in
+++ b/configure.in
@@ -829,10 +829,9 @@ AC_CACHE_CHECK([for pw_class field in struct passwd],
ac_cv_have_pw_class_in_struct_passwd, [
AC_TRY_COMPILE(
[
-#include <sys/types.h>
#include <pwd.h>
],
- [ struct passwd p s; p.pw_class = NULL; ],
+ [ struct passwd p; p.pw_class = 0; ],
[ ac_cv_have_pw_class_in_struct_passwd="yes" ],
[ ac_cv_have_pw_class_in_struct_passwd="no" ]
)
diff --git a/session.c b/session.c
index 446385892..0aa5138c6 100644
--- a/session.c
+++ b/session.c
@@ -244,7 +244,7 @@ do_authenticated(struct passwd * pw)
s = session_new();
s->pw = pw;
-#ifdef HAVE_LOGIN_CAP
+#if defined(HAVE_LOGIN_CAP) && defined(HAVE_PW_CLASS_IN_PASSWD)
if ((lc = login_getclass(pw->pw_class)) == NULL) {
error("unable to get login class");
return;
@@ -1966,7 +1966,7 @@ do_authenticated2(void)
close(startup_pipe);
startup_pipe = -1;
}
-#ifdef HAVE_LOGIN_CAP
+#if defined(HAVE_LOGIN_CAP) && defined(HAVE_PW_CLASS_IN_PASSWD)
pw = auth_get_user();
if ((lc = login_getclass(pw->pw_class)) == NULL) {
error("unable to get login class");