summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2013-04-23 14:25:52 +1000
committerDamien Miller <djm@mindrot.org>2013-04-23 14:25:52 +1000
commit6332da2ae88db623d7da8070dd807efa26d9dfe8 (patch)
tree1d8fd6ce793ce93282d2ae80a6cee8324b283f31 /configure.ac
parentce1c9574fcfaf753a062276867335c1e237f725c (diff)
- (djm) [auth.c configure.ac misc.c monitor.c monitor_wrap.c] Support
platforms, such as Android, that lack struct passwd.pw_gecos. Report and initial patch from Nathan Osman bz#2086; feedback tim@ ok dtucker@
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac54
1 files changed, 11 insertions, 43 deletions
diff --git a/configure.ac b/configure.ac
index 9777d597f..c30d547d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.520 2013/04/18 11:36:20 dtucker Exp $ 1# $Id: configure.ac,v 1.521 2013/04/23 04:25:53 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) 17AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org])
18AC_REVISION($Revision: 1.520 $) 18AC_REVISION($Revision: 1.521 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20AC_LANG([C]) 20AC_LANG([C])
21 21
@@ -3303,9 +3303,16 @@ OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX])
3303OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) 3303OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX])
3304 3304
3305AC_CHECK_MEMBERS([struct stat.st_blksize]) 3305AC_CHECK_MEMBERS([struct stat.st_blksize])
3306AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_class,
3307struct passwd.pw_change, struct passwd.pw_expire],
3308[], [], [[
3309#include <sys/types.h>
3310#include <pwd.h>
3311]])
3312
3306AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [state], 3313AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [state],
3307 [Define if we don't have struct __res_state in resolv.h])], 3314 [Define if we don't have struct __res_state in resolv.h])],
3308[ 3315[[
3309#include <stdio.h> 3316#include <stdio.h>
3310#if HAVE_SYS_TYPES_H 3317#if HAVE_SYS_TYPES_H
3311# include <sys/types.h> 3318# include <sys/types.h>
@@ -3313,7 +3320,7 @@ AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [sta
3313#include <netinet/in.h> 3320#include <netinet/in.h>
3314#include <arpa/nameser.h> 3321#include <arpa/nameser.h>
3315#include <resolv.h> 3322#include <resolv.h>
3316]) 3323]])
3317 3324
3318AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], 3325AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage],
3319 ac_cv_have_ss_family_in_struct_ss, [ 3326 ac_cv_have_ss_family_in_struct_ss, [
@@ -3343,45 +3350,6 @@ if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
3343 [Fields in struct sockaddr_storage]) 3350 [Fields in struct sockaddr_storage])
3344fi 3351fi
3345 3352
3346AC_CACHE_CHECK([for pw_class field in struct passwd],
3347 ac_cv_have_pw_class_in_struct_passwd, [
3348 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
3349 [[ struct passwd p; p.pw_class = 0; ]])],
3350 [ ac_cv_have_pw_class_in_struct_passwd="yes" ],
3351 [ ac_cv_have_pw_class_in_struct_passwd="no"
3352 ])
3353])
3354if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then
3355 AC_DEFINE([HAVE_PW_CLASS_IN_PASSWD], [1],
3356 [Define if your password has a pw_class field])
3357fi
3358
3359AC_CACHE_CHECK([for pw_expire field in struct passwd],
3360 ac_cv_have_pw_expire_in_struct_passwd, [
3361 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
3362 [[ struct passwd p; p.pw_expire = 0; ]])],
3363 [ ac_cv_have_pw_expire_in_struct_passwd="yes" ],
3364 [ ac_cv_have_pw_expire_in_struct_passwd="no"
3365 ])
3366])
3367if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then
3368 AC_DEFINE([HAVE_PW_EXPIRE_IN_PASSWD], [1],
3369 [Define if your password has a pw_expire field])
3370fi
3371
3372AC_CACHE_CHECK([for pw_change field in struct passwd],
3373 ac_cv_have_pw_change_in_struct_passwd, [
3374 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]],
3375 [[ struct passwd p; p.pw_change = 0; ]])],
3376 [ ac_cv_have_pw_change_in_struct_passwd="yes" ],
3377 [ ac_cv_have_pw_change_in_struct_passwd="no"
3378 ])
3379])
3380if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then
3381 AC_DEFINE([HAVE_PW_CHANGE_IN_PASSWD], [1],
3382 [Define if your password has a pw_change field])
3383fi
3384
3385dnl make sure we're using the real structure members and not defines 3353dnl make sure we're using the real structure members and not defines
3386AC_CACHE_CHECK([for msg_accrights field in struct msghdr], 3354AC_CACHE_CHECK([for msg_accrights field in struct msghdr],
3387 ac_cv_have_accrights_in_msghdr, [ 3355 ac_cv_have_accrights_in_msghdr, [