]> andersk Git - openssh.git/commitdiff
- (stevesk) handle systems without pw_expire and pw_change.
authorstevesk <stevesk>
Fri, 22 Jun 2001 21:14:18 +0000 (21:14 +0000)
committerstevesk <stevesk>
Fri, 22 Jun 2001 21:14:18 +0000 (21:14 +0000)
ChangeLog
acconfig.h
configure.in
misc.c

index 4dbf17b4fa8bda6813273d1e4d23664cc05950e2..83e8fe646023bb18dbd992fc46d64d10794aae22 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+20010622
+ - (stevesk) handle systems without pw_expire and pw_change.
+
 20010621
  - OpenBSD CVS Sync
    - markus@cvs.openbsd.org 2001/06/16 08:49:38
index 3b275187d98773a3bc35ebc632581285a87e6d7e..d46ca1aba35c6def42b68251a3caa0ee82046d6e 100644 (file)
 /* Define if your password has a pw_class field */
 #undef HAVE_PW_CLASS_IN_PASSWD
 
+/* Define if your password has a pw_expire field */
+#undef HAVE_PW_EXPIRE_IN_PASSWD
+
+/* Define if your password has a pw_change field */
+#undef HAVE_PW_CHANGE_IN_PASSWD
+
 /* Define if your system's struct sockaddr_un has a sun_len member */
 #undef HAVE_SUN_LEN_IN_SOCKADDR_UN
 
index 9adeb1345d065341aac3aa2f00ce81607b9c1d45..32901348eeb7c9c2a1b109526687cdcdf622b987 100644 (file)
@@ -1144,6 +1144,35 @@ if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then
        AC_DEFINE(HAVE_PW_CLASS_IN_PASSWD)
 fi
 
+AC_CACHE_CHECK([for pw_expire field in struct passwd],
+               ac_cv_have_pw_expire_in_struct_passwd, [
+       AC_TRY_COMPILE(
+               [
+#include <pwd.h>
+               ],
+               [ struct passwd p; p.pw_expire = 0; ],
+               [ ac_cv_have_pw_expire_in_struct_passwd="yes" ],
+               [ ac_cv_have_pw_expire_in_struct_passwd="no" ]
+       )
+])
+if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then
+       AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD)
+fi
+
+AC_CACHE_CHECK([for pw_change field in struct passwd],
+               ac_cv_have_pw_change_in_struct_passwd, [
+       AC_TRY_COMPILE(
+               [
+#include <pwd.h>
+               ],
+               [ struct passwd p; p.pw_change = 0; ],
+               [ ac_cv_have_pw_change_in_struct_passwd="yes" ],
+               [ ac_cv_have_pw_change_in_struct_passwd="no" ]
+       )
+])
+if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then
+       AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD)
+fi
 
 AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [
        AC_TRY_LINK([], 
diff --git a/misc.c b/misc.c
index 283e17ec267dddc828f8def08683ac8303d26e73..db9c2e4815ee07660a7d7f818811636635ccede0 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -131,8 +131,12 @@ pwcopy(struct passwd *pw)
        copy->pw_gecos = xstrdup(pw->pw_gecos);
        copy->pw_uid = pw->pw_uid;
        copy->pw_gid = pw->pw_gid;
+#ifdef HAVE_PW_EXPIRE_IN_PASSWD
        copy->pw_expire = pw->pw_expire;
+#endif
+#ifdef HAVE_PW_CHANGE_IN_PASSWD
        copy->pw_change = pw->pw_change;
+#endif
 #ifdef HAVE_PW_CLASS_IN_PASSWD
        copy->pw_class = xstrdup(pw->pw_class);
 #endif
This page took 0.084685 seconds and 5 git commands to generate.