From f38ba20df530935c085eee2011f5d6693b79b806 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Fri, 21 Mar 2003 01:07:44 +0000 Subject: - (bal) Collection of Cray patches (bsd-cray.h fix for CRAYT3E and improved guessing rules) --- openbsd-compat/bsd-cray.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'openbsd-compat') diff --git a/openbsd-compat/bsd-cray.h b/openbsd-compat/bsd-cray.h index 9a15cb251..68947c92f 100644 --- a/openbsd-compat/bsd-cray.h +++ b/openbsd-compat/bsd-cray.h @@ -1,5 +1,5 @@ /* - * $Id: bsd-cray.h,v 1.6 2003/01/27 21:15:11 mouring Exp $ + * $Id: bsd-cray.h,v 1.6.2.1 2003/03/21 01:07:45 mouring Exp $ * * bsd-cray.h * @@ -49,8 +49,10 @@ extern char cray_tmpdir[]; /* cray tmpdir */ #ifndef MAXHOSTNAMELEN #define MAXHOSTNAMELEN 64 #endif +#ifndef _CRAYT3E #include #define TIOCGPGRP (tIOC|20) #endif +#endif #endif /* _BSD_CRAY_H */ -- cgit v1.2.3 From c0d2468298d069cb0d234a4b1b9465b8edc8e005 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 26 Mar 2003 16:02:47 +1100 Subject: - (djm) Fix getpeerid support for 64 bit BE systems. From Arnd Bergmann --- ChangeLog | 4 +++- openbsd-compat/bsd-getpeereid.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index eae68464d..cdcd73df3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,8 @@ [sftp-server.c] one last fix to the tree: race fix broke stuff; pr 3169; srp@srparish.net, help from djm + - (djm) Fix getpeerid support for 64 bit BE systems. From + Arnd Bergmann - Release 3.6p1 20030324 @@ -1254,4 +1256,4 @@ save auth method before monitor_reset_key_state(); bugzilla bug #284; ok provos@ -$Id: ChangeLog,v 1.2633.2.7 2003/03/26 04:59:47 djm Exp $ +$Id: ChangeLog,v 1.2633.2.8 2003/03/26 05:02:47 djm Exp $ diff --git a/openbsd-compat/bsd-getpeereid.c b/openbsd-compat/bsd-getpeereid.c index c7876823d..3f554e72a 100644 --- a/openbsd-compat/bsd-getpeereid.c +++ b/openbsd-compat/bsd-getpeereid.c @@ -24,7 +24,7 @@ #include "includes.h" -RCSID("$Id: bsd-getpeereid.c,v 1.1 2002/09/12 00:33:02 djm Exp $"); +RCSID("$Id: bsd-getpeereid.c,v 1.1.4.1 2003/03/26 05:02:47 djm Exp $"); #if !defined(HAVE_GETPEEREID) @@ -33,7 +33,7 @@ int getpeereid(int s, uid_t *euid, gid_t *gid) { struct ucred cred; - size_t len = sizeof(cred); + socklen_t len = sizeof(cred); if (getsockopt(s, SOL_SOCKET, SO_PEERCRED, &cred, &len) < 0) return (-1); -- cgit v1.2.3 From ae225aa5594655e3fa5685b4dd7f2ae0e1a5e2d7 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Wed, 26 Mar 2003 16:03:05 +1100 Subject: - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au --- ChangeLog | 4 +++- openbsd-compat/fake-getaddrinfo.c | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index cdcd73df3..9a7e2ea93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,8 @@ srp@srparish.net, help from djm - (djm) Fix getpeerid support for 64 bit BE systems. From Arnd Bergmann + - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. + Report from murple@murple.net, diagnosis from dtucker@zip.com.au - Release 3.6p1 20030324 @@ -1256,4 +1258,4 @@ save auth method before monitor_reset_key_state(); bugzilla bug #284; ok provos@ -$Id: ChangeLog,v 1.2633.2.8 2003/03/26 05:02:47 djm Exp $ +$Id: ChangeLog,v 1.2633.2.9 2003/03/26 05:03:05 djm Exp $ diff --git a/openbsd-compat/fake-getaddrinfo.c b/openbsd-compat/fake-getaddrinfo.c index e04776606..bc58f30a6 100644 --- a/openbsd-compat/fake-getaddrinfo.c +++ b/openbsd-compat/fake-getaddrinfo.c @@ -12,7 +12,7 @@ #include "includes.h" #include "ssh.h" -RCSID("$Id: fake-getaddrinfo.c,v 1.4 2003/02/24 01:35:09 djm Exp $"); +RCSID("$Id: fake-getaddrinfo.c,v 1.4.2.1 2003/03/26 05:03:06 djm Exp $"); #ifndef HAVE_GAI_STRERROR char *gai_strerror(int ecode) @@ -71,6 +71,7 @@ int getaddrinfo(const char *hostname, const char *servname, struct in_addr in; int i; long int port; + u_long addr; port = 0; if (servname != NULL) { @@ -86,7 +87,10 @@ int getaddrinfo(const char *hostname, const char *servname, } if (hints && hints->ai_flags & AI_PASSIVE) { - if (NULL != (*res = malloc_ai(port, htonl(0x00000000)))) + addr = htonl(0x00000000); + if (hostname && inet_aton(hostname, &in) != 0) + addr = in.s_addr; + if (NULL != (*res = malloc_ai(port, addr))) return 0; else return EAI_MEMORY; -- cgit v1.2.3 From 4dd222cb8747903750eea47be63305cfc9f1a483 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 19 Sep 2003 16:55:01 +1000 Subject: - (djm) Bug #680: Remove missing inet_ntoa.h header reference --- ChangeLog | 3 ++- openbsd-compat/inet_ntoa.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 692b17255..fb5e7d111 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 20030919 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL; djast AT cs.toronto.edu + - (djm) Bug #680: Remove missing inet_ntoa.h header reference 20030918 - (djm) Bug #652: Fix empty password auth @@ -1122,4 +1123,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.2994.2.8 2003/09/19 06:31:31 djm Exp $ +$Id: ChangeLog,v 1.2994.2.9 2003/09/19 06:55:01 djm Exp $ diff --git a/openbsd-compat/inet_ntoa.c b/openbsd-compat/inet_ntoa.c index e0384491d..f9fdc9ee5 100644 --- a/openbsd-compat/inet_ntoa.c +++ b/openbsd-compat/inet_ntoa.c @@ -43,7 +43,6 @@ static char rcsid[] = "$OpenBSD: inet_ntoa.c,v 1.4 2003/06/02 20:18:35 millert E #include #include #include -#include "inet_ntoa.h" char *inet_ntoa(struct in_addr in) { -- cgit v1.2.3 From 387666a626a625b516ea621e463682e647ffbb50 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 19 Sep 2003 20:46:21 +1000 Subject: - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h unless required. Reorder to reduce warnings. --- ChangeLog | 4 +++- openbsd-compat/port-aix.h | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 31ce3af46..94b8aa5db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ djast AT cs.toronto.edu - (djm) Bug #680: Remove missing inet_ntoa.h header reference - (djm) Bug #646: Fix location of x11-ssh-askpass; Jim + - (dtucker) [openbsd-compat/port-aix.h] Bug #640: Don't include audit.h + unless required. Reorder to reduce warnings. 20030918 - (djm) Bug #652: Fix empty password auth @@ -1124,4 +1126,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.2994.2.10 2003/09/19 07:06:06 djm Exp $ +$Id: ChangeLog,v 1.2994.2.11 2003/09/19 10:46:21 dtucker Exp $ diff --git a/openbsd-compat/port-aix.h b/openbsd-compat/port-aix.h index 09e7f9e97..94c8c5119 100644 --- a/openbsd-compat/port-aix.h +++ b/openbsd-compat/port-aix.h @@ -1,4 +1,4 @@ -/* $Id: port-aix.h,v 1.14 2003/08/29 16:59:52 mouring Exp $ */ +/* $Id: port-aix.h,v 1.14.2.1 2003/09/19 10:46:22 dtucker Exp $ */ /* * @@ -30,10 +30,10 @@ #ifdef WITH_AIXAUTHENTICATE # include # include -# include -# ifdef HAVE_SYS_AUDIT_H +# if defined(HAVE_SYS_AUDIT_H) && defined(AIX_LOGINFAILED_4ARG) # include # endif +# include #endif /* Some versions define r_type in the above headers, which causes a conflict */ -- cgit v1.2.3 From 7724e94d041d267b5b9915b37d44c0986b12fe6d Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 22 Sep 2003 12:09:17 +1000 Subject: - (dtucker) [configure.ac openbsd-compat/fake-rfc2553.c openbsd-compat/fake-rfc2553.h] Bug #659: Test for and handle systems with where gai_strerror is defined as "const char *". Part of patch supplied by bugzilla-openssh at thewrittenword.com --- ChangeLog | 6 +++++- configure.ac | 19 +++++++++++++++++-- openbsd-compat/fake-rfc2553.c | 6 +++++- openbsd-compat/fake-rfc2553.h | 4 ++-- 4 files changed, 29 insertions(+), 6 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 77ca50246..933b8094d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,10 @@ Patch from david.haughton at ncr.com - (dtucker) [configure.ac] Bug #659: uid swapping issues on IRIX 6. Part of patch supplied by bugzilla-openssh at thewrittenword.com + - (dtucker) [configure.ac openbsd-compat/fake-rfc2553.c + openbsd-compat/fake-rfc2553.h] Bug #659: Test for and handle systems with + where gai_strerror is defined as "const char *". Part of patch supplied + by bugzilla-openssh at thewrittenword.com 20030919 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL; @@ -1141,4 +1145,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.2994.2.18 2003/09/22 01:58:44 dtucker Exp $ +$Id: ChangeLog,v 1.2994.2.19 2003/09/22 02:09:17 dtucker Exp $ diff --git a/configure.ac b/configure.ac index 5cf7d9097..c5f98468f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.154.2.6 2003/09/22 01:58:44 dtucker Exp $ +# $Id: configure.ac,v 1.154.2.7 2003/09/22 02:09:18 dtucker Exp $ AC_INIT AC_CONFIG_SRCDIR([ssh.c]) @@ -731,7 +731,7 @@ dnl Checks for library functions. Please keep in alphabetical order AC_CHECK_FUNCS(\ arc4random __b64_ntop b64_ntop __b64_pton b64_pton basename \ bcopy bindresvport_sa clock fchmod fchown freeaddrinfo futimes \ - gai_strerror getaddrinfo getcwd getgrouplist getnameinfo getopt \ + getaddrinfo getcwd getgrouplist getnameinfo getopt \ getpeereid _getpty getrlimit getttyent glob inet_aton \ inet_ntoa inet_ntop innetgr login_getcapbool md5_crypt memmove \ mkdtemp mmap ngetaddrinfo nsleep ogetaddrinfo openlog_r openpty \ @@ -743,6 +743,21 @@ AC_CHECK_FUNCS(\ truncate utimes vhangup vsnprintf waitpid \ ) +# IRIX has a const char return value for gai_strerror() +AC_CHECK_FUNCS(gai_strerror,[ + AC_DEFINE(HAVE_GAI_STRERROR) + AC_TRY_COMPILE([ +#include +#include +#include + +const char *gai_strerror(int);],[ +char *str; + +str = gai_strerror(0);],[ + AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1, + [Define if gai_strerror() returns const char *])])]) + AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP)) dnl Make sure prototypes are defined for these before using them. diff --git a/openbsd-compat/fake-rfc2553.c b/openbsd-compat/fake-rfc2553.c index f44924836..b0cc69bd7 100644 --- a/openbsd-compat/fake-rfc2553.c +++ b/openbsd-compat/fake-rfc2553.c @@ -37,7 +37,7 @@ #include "includes.h" -RCSID("$Id: fake-rfc2553.c,v 1.4 2003/06/13 22:43:23 djm Exp $"); +RCSID("$Id: fake-rfc2553.c,v 1.4.2.1 2003/09/22 02:09:18 dtucker Exp $"); #ifndef HAVE_GETNAMEINFO int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, @@ -77,7 +77,11 @@ int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, #endif /* !HAVE_GETNAMEINFO */ #ifndef HAVE_GAI_STRERROR +#ifdef HAVE_CONST_GAI_STRERROR_PROTO +const char * +#else char * +#endif gai_strerror(int err) { switch (err) { diff --git a/openbsd-compat/fake-rfc2553.h b/openbsd-compat/fake-rfc2553.h index b70b928f8..2d5439296 100644 --- a/openbsd-compat/fake-rfc2553.h +++ b/openbsd-compat/fake-rfc2553.h @@ -1,4 +1,4 @@ -/* $Id: fake-rfc2553.h,v 1.6 2003/08/29 16:59:52 mouring Exp $ */ +/* $Id: fake-rfc2553.h,v 1.6.2.1 2003/09/22 02:09:18 dtucker Exp $ */ /* * Copyright (C) 2000-2003 Damien Miller. All rights reserved. @@ -137,7 +137,7 @@ int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); #endif /* !HAVE_GETADDRINFO */ -#ifndef HAVE_GAI_STRERROR +#if !defined(HAVE_GAI_STRERROR) && !defined(HAVE_CONST_GAI_STRERROR_PROTO) char *gai_strerror(int); #endif /* !HAVE_GAI_STRERROR */ -- cgit v1.2.3 From 537d716831e65176b7ec1ac52b7ea370d1e9e7c0 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Mon, 22 Sep 2003 13:05:48 +1000 Subject: - (dtucker) [openbsd-compat/port-aix.c] Use correct include for xmalloc.h, add canohost.h to stop warning. Based on patch from openssh-unix-dev at thewrittenword.com --- ChangeLog | 5 ++++- openbsd-compat/port-aix.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 29951f6d5..fb121b124 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,9 @@ - (dtucker) [uidswap.c] Don't test restoration of uid on Cygwin since the OS does not support permanently dropping privileges. Patch from vinschen at redhat.com. + - (dtucker) [openbsd-compat/port-aix.c] Use correct include for xmalloc.h, + add canohost.h to stop warning. Based on patch from openssh-unix-dev at + thewrittenword.com 20030919 - (djm) Bug #683: Remove reference to --with-ipv4-default from INSTALL; @@ -1151,4 +1154,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.2994.2.21 2003/09/22 02:55:20 dtucker Exp $ +$Id: ChangeLog,v 1.2994.2.22 2003/09/22 03:05:48 dtucker Exp $ diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c index 7a981634b..9fbcce936 100644 --- a/openbsd-compat/port-aix.c +++ b/openbsd-compat/port-aix.c @@ -27,11 +27,12 @@ #include "ssh.h" #include "log.h" #include "servconf.h" +#include "canohost.h" +#include "xmalloc.h" #ifdef _AIX #include -#include <../xmalloc.h> #include "port-aix.h" extern ServerOptions options; -- cgit v1.2.3 From 5806767e5866d959078a1208ae969c2f8f2d1c7a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 25 May 2005 19:42:40 +1000 Subject: - (dtucker) [openbsd-compat/bsd-cygwin_util.c] Ensure sufficient memory allocation when retrieving core Windows environment. Add CYGWIN variable to propagated variables. Patch from vinschen at redhat.com, ok djm@ --- ChangeLog | 2 +- openbsd-compat/bsd-cygwin_util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 24605b538..7830d7d63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2495,4 +2495,4 @@ - (djm) Trim deprecated options from INSTALL. Mention UsePAM - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu -$Id: ChangeLog,v 1.3759 2005/05/25 09:42:10 dtucker Exp $ +$Id: ChangeLog,v 1.3758.2.1 2005/05/25 09:42:40 dtucker Exp $ diff --git a/openbsd-compat/bsd-cygwin_util.c b/openbsd-compat/bsd-cygwin_util.c index b5e3cc52b..ff394ec17 100644 --- a/openbsd-compat/bsd-cygwin_util.c +++ b/openbsd-compat/bsd-cygwin_util.c @@ -29,7 +29,7 @@ #include "includes.h" -RCSID("$Id: bsd-cygwin_util.c,v 1.14 2005/05/25 09:42:11 dtucker Exp $"); +RCSID("$Id: bsd-cygwin_util.c,v 1.13.4.1 2005/05/25 09:42:40 dtucker Exp $"); #ifdef HAVE_CYGWIN -- cgit v1.2.3 From 8ba5292c25655a1002ec790f5840a7b8420091bf Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 4 Feb 2011 11:42:11 +1100 Subject: cherry-pick 20110125 - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c openbsd-compat/port-linux.h] Move SELinux-specific code from ssh.c to port-linux.c to avoid compilation errors. Add -lselinux to ssh when building with SELinux support to avoid linking failure; report from amk AT spamfence.net; ok dtucker --- ChangeLog | 14 - Makefile.in | 2 +- configure.ac | 2501 ++++++++++++++++++++++--------------------- openbsd-compat/port-linux.c | 16 +- openbsd-compat/port-linux.h | 2 +- 5 files changed, 1317 insertions(+), 1218 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index a69ed9fde..6d2375a33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,3 @@ -20110128 - - (djm) [openbsd-compat/port-linux.c] Check whether SELinux is enabled - before attempting setfscreatecon(). Check whether matchpathcon() - succeeded before using its result. Patch from cjwatson AT debian.org; - bz#1851 - -20110127 - - (tim) [config.guess config.sub] Sync with upstream. - - (tim) [configure.ac] Consistent M4 quoting throughout, updated obsolete - AC_TRY_COMPILE with AC_COMPILE_IFELSE, updated obsolete AC_TRY_LINK with - AC_LINK_IFELSE, updated obsolete AC_TRY_RUN with AC_RUN_IFELSE, misc white - space changes for consistency/readability. Makes autoconf 2.68 happy. - "Nice work" djm - 20110125 - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c openbsd-compat/port-linux.h] Move SELinux-specific code from ssh.c to diff --git a/Makefile.in b/Makefile.in index d0263779b..870a7f18d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.321 2011/01/25 01:16:16 djm Exp $ +# $Id: Makefile.in,v 1.320.4.1 2011/02/04 00:42:13 djm Exp $ # uncomment if you run a non bourne compatable shell. Ie. csh #SHELL = @SH@ diff --git a/configure.ac b/configure.ac index c8d90ea0d..f23784d9b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.471 2011/01/26 20:38:58 tim Exp $ +# $Id: configure.ac,v 1.469.4.1 2011/02/04 00:42:14 djm Exp $ # # Copyright (c) 1999-2004 Damien Miller # @@ -14,10 +14,9 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) -AC_REVISION($Revision: 1.471 $) +AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) +AC_REVISION($Revision: 1.469.4.1 $) AC_CONFIG_SRCDIR([ssh.c]) -AC_LANG([C]) # local macros AC_DEFUN([OPENSSH_CHECK_CFLAG_COMPILE], [{ @@ -25,13 +24,13 @@ AC_DEFUN([OPENSSH_CHECK_CFLAG_COMPILE], [{ saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $1" AC_COMPILE_IFELSE([void main(void) { return 0; }], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) CFLAGS="$saved_CFLAGS" ] ) }]) -AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADER(config.h) AC_PROG_CC AC_CANONICAL_HOST AC_C_BIGENDIAN @@ -42,22 +41,22 @@ AC_PROG_CPP AC_PROG_RANLIB AC_PROG_INSTALL AC_PROG_EGREP -AC_PATH_PROG([AR], [ar]) -AC_PATH_PROG([CAT], [cat]) -AC_PATH_PROG([KILL], [kill]) -AC_PATH_PROGS([PERL], [perl5 perl]) -AC_PATH_PROG([SED], [sed]) -AC_SUBST([PERL]) -AC_PATH_PROG([ENT], [ent]) -AC_SUBST([ENT]) -AC_PATH_PROG([TEST_MINUS_S_SH], [bash]) -AC_PATH_PROG([TEST_MINUS_S_SH], [ksh]) -AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) -AC_PATH_PROG([SH], [sh]) -AC_PATH_PROG([GROFF], [groff]) -AC_PATH_PROG([NROFF], [nroff]) -AC_PATH_PROG([MANDOC], [mandoc]) -AC_SUBST([TEST_SHELL], [sh]) +AC_PATH_PROG(AR, ar) +AC_PATH_PROG(CAT, cat) +AC_PATH_PROG(KILL, kill) +AC_PATH_PROGS(PERL, perl5 perl) +AC_PATH_PROG(SED, sed) +AC_SUBST(PERL) +AC_PATH_PROG(ENT, ent) +AC_SUBST(ENT) +AC_PATH_PROG(TEST_MINUS_S_SH, bash) +AC_PATH_PROG(TEST_MINUS_S_SH, ksh) +AC_PATH_PROG(TEST_MINUS_S_SH, sh) +AC_PATH_PROG(SH, sh) +AC_PATH_PROG(GROFF, groff) +AC_PATH_PROG(NROFF, nroff) +AC_PATH_PROG(MANDOC, mandoc) +AC_SUBST(TEST_SHELL,sh) dnl select manpage formatter if test "x$MANDOC" != "x" ; then @@ -70,18 +69,18 @@ else AC_MSG_WARN([no manpage formatted found]) MANFMT="false" fi -AC_SUBST([MANFMT]) +AC_SUBST(MANFMT) dnl for buildpkg.sh -AC_PATH_PROG([PATH_GROUPADD_PROG], [groupadd], [groupadd], +AC_PATH_PROG(PATH_GROUPADD_PROG, groupadd, groupadd, [/usr/sbin${PATH_SEPARATOR}/etc]) -AC_PATH_PROG([PATH_USERADD_PROG], [useradd], [useradd], +AC_PATH_PROG(PATH_USERADD_PROG, useradd, useradd, [/usr/sbin${PATH_SEPARATOR}/etc]) -AC_CHECK_PROG([MAKE_PACKAGE_SUPPORTED], [pkgmk], [yes], [no]) +AC_CHECK_PROG(MAKE_PACKAGE_SUPPORTED, pkgmk, yes, no) if test -x /sbin/sh; then - AC_SUBST([STARTUP_SCRIPT_SHELL], [/sbin/sh]) + AC_SUBST(STARTUP_SCRIPT_SHELL,/sbin/sh) else - AC_SUBST([STARTUP_SCRIPT_SHELL], [/bin/sh]) + AC_SUBST(STARTUP_SCRIPT_SHELL,/bin/sh) fi # System features @@ -93,34 +92,34 @@ fi # Use LOGIN_PROGRAM from environment if possible if test ! -z "$LOGIN_PROGRAM" ; then - AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM"], + AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM", [If your header files don't define LOGIN_PROGRAM, then use this (detected) from environment and PATH]) else # Search for login - AC_PATH_PROG([LOGIN_PROGRAM_FALLBACK], [login]) + AC_PATH_PROG(LOGIN_PROGRAM_FALLBACK, login) if test ! -z "$LOGIN_PROGRAM_FALLBACK" ; then - AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM_FALLBACK"]) + AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM_FALLBACK") fi fi -AC_PATH_PROG([PATH_PASSWD_PROG], [passwd]) +AC_PATH_PROG(PATH_PASSWD_PROG, passwd) if test ! -z "$PATH_PASSWD_PROG" ; then - AC_DEFINE_UNQUOTED([_PATH_PASSWD_PROG], ["$PATH_PASSWD_PROG"], + AC_DEFINE_UNQUOTED(_PATH_PASSWD_PROG, "$PATH_PASSWD_PROG", [Full path of your "passwd" program]) fi if test -z "$LD" ; then LD=$CC fi -AC_SUBST([LD]) +AC_SUBST(LD) AC_C_INLINE -AC_CHECK_DECL([LLONG_MAX], [have_llong_max=1], , [#include ]) +AC_CHECK_DECL(LLONG_MAX, have_llong_max=1, , [#include ]) use_stack_protector=1 -AC_ARG_WITH([stackprotect], +AC_ARG_WITH(stackprotect, [ --without-stackprotect Don't use compiler's stack protection], [ if test "x$withval" = "xno"; then use_stack_protector=0 @@ -136,7 +135,7 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then OPENSSH_CHECK_CFLAG_COMPILE([-Wno-pointer-sign]) OPENSSH_CHECK_CFLAG_COMPILE([-Wno-unused-result]) OPENSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) - AC_MSG_CHECKING([gcc version]) + AC_MSG_CHECKING(gcc version) GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` case $GCC_VER in 1.*) no_attrib_nonnull=1 ;; @@ -146,52 +145,52 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then 2.*) no_attrib_nonnull=1 ;; *) ;; esac - AC_MSG_RESULT([$GCC_VER]) + AC_MSG_RESULT($GCC_VER) - AC_MSG_CHECKING([if $CC accepts -fno-builtin-memset]) + AC_MSG_CHECKING(if $CC accepts -fno-builtin-memset) saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fno-builtin-memset" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ char b[10]; memset(b, 0, sizeof(b)); ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) + AC_LINK_IFELSE( [AC_LANG_SOURCE([[ +#include +int main(void){char b[10]; memset(b, 0, sizeof(b));} + ]])], + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) CFLAGS="$saved_CFLAGS" ] - ) +) # -fstack-protector-all doesn't always work for some GCC versions # and/or platforms, so we test if we can. If it's not supported # on a given platform gcc will emit a warning so we use -Werror. if test "x$use_stack_protector" = "x1"; then for t in -fstack-protector-all -fstack-protector; do - AC_MSG_CHECKING([if $CC supports $t]) + AC_MSG_CHECKING(if $CC supports $t) saved_CFLAGS="$CFLAGS" saved_LDFLAGS="$LDFLAGS" CFLAGS="$CFLAGS $t -Werror" LDFLAGS="$LDFLAGS $t -Werror" AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ - char x[256]; - snprintf(x, sizeof(x), "XXX"); - ]])], - [ AC_MSG_RESULT([yes]) + [AC_LANG_SOURCE([ +#include +int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;} + ])], + [ AC_MSG_RESULT(yes) CFLAGS="$saved_CFLAGS $t" LDFLAGS="$saved_LDFLAGS $t" - AC_MSG_CHECKING([if $t works]) + AC_MSG_CHECKING(if $t works) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ - char x[256]; - snprintf(x, sizeof(x), "XXX"); - ]])], - [ AC_MSG_RESULT([yes]) + [AC_LANG_SOURCE([ +#include +int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;} + ])], + [ AC_MSG_RESULT(yes) break ], - [ AC_MSG_RESULT([no]) ], + [ AC_MSG_RESULT(no) ], [ AC_MSG_WARN([cross compiling: cannot test]) break ] ) ], - [ AC_MSG_RESULT([no]) ] + [ AC_MSG_RESULT(no) ] ) CFLAGS="$saved_CFLAGS" LDFLAGS="$saved_LDFLAGS" @@ -203,7 +202,7 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then unset ac_cv_have_decl_LLONG_MAX saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -std=gnu99" - AC_CHECK_DECL([LLONG_MAX], + AC_CHECK_DECL(LLONG_MAX, [have_llong_max=1], [CFLAGS="$saved_CFLAGS"], [#include ] @@ -212,10 +211,10 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then fi if test "x$no_attrib_nonnull" != "x1" ; then - AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull]) + AC_DEFINE(HAVE_ATTRIBUTE__NONNULL__, 1, [Have attribute nonnull]) fi -AC_ARG_WITH([rpath], +AC_ARG_WITH(rpath, [ --without-rpath Disable auto-added -R linker paths], [ if test "x$withval" = "xno" ; then @@ -228,7 +227,7 @@ AC_ARG_WITH([rpath], ) # Allow user to specify flags -AC_ARG_WITH([cflags], +AC_ARG_WITH(cflags, [ --with-cflags Specify additional flags to pass to compiler], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -237,7 +236,7 @@ AC_ARG_WITH([cflags], fi ] ) -AC_ARG_WITH([cppflags], +AC_ARG_WITH(cppflags, [ --with-cppflags Specify additional flags to pass to preprocessor] , [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -246,7 +245,7 @@ AC_ARG_WITH([cppflags], fi ] ) -AC_ARG_WITH([ldflags], +AC_ARG_WITH(ldflags, [ --with-ldflags Specify additional flags to pass to linker], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -255,7 +254,7 @@ AC_ARG_WITH([ldflags], fi ] ) -AC_ARG_WITH([libs], +AC_ARG_WITH(libs, [ --with-libs Specify additional libraries to link with], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -264,7 +263,7 @@ AC_ARG_WITH([libs], fi ] ) -AC_ARG_WITH([Werror], +AC_ARG_WITH(Werror, [ --with-Werror Build main code with -Werror], [ if test -n "$withval" && test "x$withval" != "xno"; then @@ -276,7 +275,7 @@ AC_ARG_WITH([Werror], ] ) -AC_CHECK_HEADERS([ \ +AC_CHECK_HEADERS( \ bstring.h \ crypt.h \ crypto/sha2.h \ @@ -340,29 +339,29 @@ AC_CHECK_HEADERS([ \ utmp.h \ utmpx.h \ vis.h \ -]) +) # lastlog.h requires sys/time.h to be included first on Solaris -AC_CHECK_HEADERS([lastlog.h], [], [], [ +AC_CHECK_HEADERS(lastlog.h, [], [], [ #ifdef HAVE_SYS_TIME_H # include #endif ]) # sys/ptms.h requires sys/stream.h to be included first on Solaris -AC_CHECK_HEADERS([sys/ptms.h], [], [], [ +AC_CHECK_HEADERS(sys/ptms.h, [], [], [ #ifdef HAVE_SYS_STREAM_H # include #endif ]) # login_cap.h requires sys/types.h on NetBSD -AC_CHECK_HEADERS([login_cap.h], [], [], [ +AC_CHECK_HEADERS(login_cap.h, [], [], [ #include ]) # older BSDs need sys/param.h before sys/mount.h -AC_CHECK_HEADERS([sys/mount.h], [], [], [ +AC_CHECK_HEADERS(sys/mount.h, [], [], [ #include ]) @@ -379,14 +378,15 @@ case "$host" in # particularly with older versions of vac or xlc. # It also throws errors about null macro argments, but these are # not fatal. - AC_MSG_CHECKING([if compiler allows macro redefinitions]) + AC_MSG_CHECKING(if compiler allows macro redefinitions) AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #define testmacro foo -#define testmacro bar]], - [[ exit(0); ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) +#define testmacro bar +int main(void) { exit(0); } + ]])], + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" @@ -407,22 +407,21 @@ case "$host" in for tryflags in $flags ;do if (test -z "$blibflags"); then LDFLAGS="$saved_LDFLAGS $tryflags$blibpath" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], - [blibflags=$tryflags], []) + AC_TRY_LINK([], [], [blibflags=$tryflags]) fi done if (test -z "$blibflags"); then - AC_MSG_RESULT([not found]) + AC_MSG_RESULT(not found) AC_MSG_ERROR([*** must be able to specify blibpath on AIX - check config.log]) else - AC_MSG_RESULT([$blibflags]) + AC_MSG_RESULT($blibflags) fi LDFLAGS="$saved_LDFLAGS" dnl Check for authenticate. Might be in libs.a on older AIXes - AC_CHECK_FUNC([authenticate], [AC_DEFINE([WITH_AIXAUTHENTICATE], [1], + AC_CHECK_FUNC(authenticate, [AC_DEFINE(WITH_AIXAUTHENTICATE, 1, [Define if you want to enable AIX4's authenticate function])], - [AC_CHECK_LIB([s], [authenticate], - [ AC_DEFINE([WITH_AIXAUTHENTICATE]) + [AC_CHECK_LIB(s,authenticate, + [ AC_DEFINE(WITH_AIXAUTHENTICATE) LIBS="$LIBS -ls" ]) ]) @@ -430,98 +429,96 @@ case "$host" in AC_CHECK_DECLS([authenticate, loginrestrictions, loginsuccess, passwdexpired, setauthdb], , , [#include ]) dnl Check if loginfailed is declared and takes 4 arguments (AIX >= 5.2) - AC_CHECK_DECLS([loginfailed], - [AC_MSG_CHECKING([if loginfailed takes 4 arguments]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ (void)loginfailed("user","host","tty",0); ]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([AIX_LOGINFAILED_4ARG], [1], - [Define if your AIX loginfailed() function - takes 4 arguments (AIX >= 5.2)])], [AC_MSG_RESULT([no]) - ])], - [], - [#include ] + AC_CHECK_DECLS(loginfailed, + [AC_MSG_CHECKING(if loginfailed takes 4 arguments) + AC_TRY_COMPILE( + [#include ], + [(void)loginfailed("user","host","tty",0);], + [AC_MSG_RESULT(yes) + AC_DEFINE(AIX_LOGINFAILED_4ARG, 1, + [Define if your AIX loginfailed() function + takes 4 arguments (AIX >= 5.2)])], + [AC_MSG_RESULT(no)] + )], + [], + [#include ] ) - AC_CHECK_FUNCS([getgrset setauthdb]) - AC_CHECK_DECL([F_CLOSEM], - AC_DEFINE([HAVE_FCNTL_CLOSEM], [1], [Use F_CLOSEM fcntl for closefrom]), + AC_CHECK_FUNCS(getgrset setauthdb) + AC_CHECK_DECL(F_CLOSEM, + AC_DEFINE(HAVE_FCNTL_CLOSEM, 1, [Use F_CLOSEM fcntl for closefrom]), [], [ #include #include ] ) check_for_aix_broken_getaddrinfo=1 - AC_DEFINE([BROKEN_REALPATH], [1], [Define if you have a broken realpath.]) - AC_DEFINE([SETEUID_BREAKS_SETUID], [1], + AC_DEFINE(BROKEN_REALPATH, 1, [Define if you have a broken realpath.]) + AC_DEFINE(SETEUID_BREAKS_SETUID, 1, [Define if your platform breaks doing a seteuid before a setuid]) - AC_DEFINE([BROKEN_SETREUID], [1], [Define if your setreuid() is broken]) - AC_DEFINE([BROKEN_SETREGID], [1], [Define if your setregid() is broken]) + AC_DEFINE(BROKEN_SETREUID, 1, [Define if your setreuid() is broken]) + AC_DEFINE(BROKEN_SETREGID, 1, [Define if your setregid() is broken]) dnl AIX handles lastlog as part of its login message - AC_DEFINE([DISABLE_LASTLOG], [1], [Define if you don't want to use lastlog]) - AC_DEFINE([LOGIN_NEEDS_UTMPX], [1], + AC_DEFINE(DISABLE_LASTLOG, 1, [Define if you don't want to use lastlog]) + AC_DEFINE(LOGIN_NEEDS_UTMPX, 1, [Some systems need a utmpx entry for /bin/login to work]) - AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV], + AC_DEFINE(SPT_TYPE,SPT_REUSEARGV, [Define to a Set Process Title type if your system is supported by bsd-setproctitle.c]) - AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], + AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1, [AIX 5.2 and 5.3 (and presumably newer) require this]) - AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd]) + AC_DEFINE(PTY_ZEROREAD, 1, [read(1) can return 0 for a non-closed fd]) ;; *-*-cygwin*) check_for_libcrypt_later=1 LIBS="$LIBS /usr/lib/textreadmode.o" - AC_DEFINE([HAVE_CYGWIN], [1], [Define if you are on Cygwin]) - AC_DEFINE([USE_PIPES], [1], [Use PIPES instead of a socketpair()]) - AC_DEFINE([DISABLE_SHADOW], [1], + AC_DEFINE(HAVE_CYGWIN, 1, [Define if you are on Cygwin]) + AC_DEFINE(USE_PIPES, 1, [Use PIPES instead of a socketpair()]) + AC_DEFINE(DISABLE_SHADOW, 1, [Define if you want to disable shadow passwords]) - AC_DEFINE([NO_X11_UNIX_SOCKETS], [1], + AC_DEFINE(NO_X11_UNIX_SOCKETS, 1, [Define if X11 doesn't support AF_UNIX sockets on that system]) - AC_DEFINE([NO_IPPORT_RESERVED_CONCEPT], [1], + AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT, 1, [Define if the concept of ports only accessible to superusers isn't known]) - AC_DEFINE([DISABLE_FD_PASSING], [1], + AC_DEFINE(DISABLE_FD_PASSING, 1, [Define if your platform needs to skip post auth file descriptor passing]) - AC_DEFINE([SSH_IOBUFSZ], [65535], [Windows is sensitive to read buffer size]) - AC_DEFINE([FILESYSTEM_NO_BACKSLASH], [1], [File names may not contain backslash characters]) + AC_DEFINE(SSH_IOBUFSZ, 65535, [Windows is sensitive to read buffer size]) + AC_DEFINE(FILESYSTEM_NO_BACKSLASH, 1, [File names may not contain backslash characters]) ;; *-*-dgux*) - AC_DEFINE([IP_TOS_IS_BROKEN], [1], + AC_DEFINE(IP_TOS_IS_BROKEN, 1, [Define if your system choked on IP TOS setting]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) ;; *-*-darwin*) - AC_MSG_CHECKING([if we have working getaddrinfo]) - AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include + AC_MSG_CHECKING(if we have working getaddrinfo) + AC_TRY_RUN([#include main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) exit(0); else exit(1); -} - ]])], - [AC_MSG_RESULT([working])], - [AC_MSG_RESULT([buggy]) - AC_DEFINE([BROKEN_GETADDRINFO], [1], - [getaddrinfo is broken (if present)]) - ], - [AC_MSG_RESULT([assume it is working])]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([BROKEN_GLOB], [1], [OS X glob does not do what we expect]) - AC_DEFINE_UNQUOTED([BIND_8_COMPAT], [1], +}], [AC_MSG_RESULT(working)], + [AC_MSG_RESULT(buggy) + AC_DEFINE(BROKEN_GETADDRINFO, 1, [getaddrinfo is broken (if present)])], + [AC_MSG_RESULT(assume it is working)]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(BROKEN_GLOB, 1, [OS X glob does not do what we expect]) + AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1, [Define if your resolver libs need this for getrrsetbyname]) - AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) - AC_DEFINE([SSH_TUN_COMPAT_AF], [1], + AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) + AC_DEFINE(SSH_TUN_COMPAT_AF, 1, [Use tunnel device compatibility to OpenBSD]) - AC_DEFINE([SSH_TUN_PREPEND_AF], [1], + AC_DEFINE(SSH_TUN_PREPEND_AF, 1, [Prepend the address family to IP tunnel traffic]) - m4_pattern_allow([AU_IPv]) - AC_CHECK_DECL([AU_IPv4], [], - AC_DEFINE([AU_IPv4], [0], [System only supports IPv4 audit records]) + m4_pattern_allow(AU_IPv) + AC_CHECK_DECL(AU_IPv4, [], + AC_DEFINE(AU_IPv4, 0, [System only supports IPv4 audit records]) [#include ] - AC_DEFINE([LASTLOG_WRITE_PUTUTXLINE], [1], + AC_DEFINE(LASTLOG_WRITE_PUTUTXLINE, 1, [Define if pututxline updates lastlog too]) ) ;; @@ -530,25 +527,25 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) ;; *-*-haiku*) LIBS="$LIBS -lbsd " - AC_CHECK_LIB([network], [socket]) - AC_DEFINE([HAVE_U_INT64_T]) + AC_CHECK_LIB(network, socket) + AC_DEFINE(HAVE_U_INT64_T) MANTYPE=man ;; *-*-hpux*) # first we define all of the options common to all HP-UX releases CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" IPADDR_IN_DISPLAY=yes - AC_DEFINE([USE_PIPES]) - AC_DEFINE([LOGIN_NO_ENDOPT], [1], + AC_DEFINE(USE_PIPES) + AC_DEFINE(LOGIN_NO_ENDOPT, 1, [Define if your login program cannot handle end of options ("--")]) - AC_DEFINE([LOGIN_NEEDS_UTMPX]) - AC_DEFINE([LOCKED_PASSWD_STRING], ["*"], + AC_DEFINE(LOGIN_NEEDS_UTMPX) + AC_DEFINE(LOCKED_PASSWD_STRING, "*", [String used in /etc/passwd to denote locked account]) - AC_DEFINE([SPT_TYPE], [SPT_PSTAT]) + AC_DEFINE(SPT_TYPE,SPT_PSTAT) MAIL="/var/mail/username" LIBS="$LIBS -lsec" - AC_CHECK_LIB([xnet], [t_error], , - [AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***])]) + AC_CHECK_LIB(xnet, t_error, , + AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***])) # next, we define all of the options specific to major releases case "$host" in @@ -558,13 +555,13 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) fi ;; *-*-hpux11*) - AC_DEFINE([PAM_SUN_CODEBASE], [1], + AC_DEFINE(PAM_SUN_CODEBASE, 1, [Define if you are using Solaris-derived PAM which passes pam_messages to the conversation function with an extra level of indirection]) - AC_DEFINE([DISABLE_UTMP], [1], + AC_DEFINE(DISABLE_UTMP, 1, [Define if you don't want to use utmp]) - AC_DEFINE([USE_BTMP], [1], [Use btmp to log bad logins]) + AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) check_for_hpux_broken_getaddrinfo=1 check_for_conflicting_getspnam=1 ;; @@ -573,7 +570,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) # lastly, we define options specific to minor releases case "$host" in *-*-hpux10.26) - AC_DEFINE([HAVE_SECUREWARE], [1], + AC_DEFINE(HAVE_SECUREWARE, 1, [Define if you have SecureWare-based protected password database]) disable_ptmx_check=yes @@ -583,79 +580,79 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) ;; *-*-irix5*) PATH="$PATH:/usr/etc" - AC_DEFINE([BROKEN_INET_NTOA], [1], + AC_DEFINE(BROKEN_INET_NTOA, 1, [Define if you system's inet_ntoa is busted (e.g. Irix gcc issue)]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([WITH_ABBREV_NO_TTY], [1], + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(WITH_ABBREV_NO_TTY, 1, [Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp]) - AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) + AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") ;; *-*-irix6*) PATH="$PATH:/usr/etc" - AC_DEFINE([WITH_IRIX_ARRAY], [1], + AC_DEFINE(WITH_IRIX_ARRAY, 1, [Define if you have/want arrays (cluster-wide session managment, not C arrays)]) - AC_DEFINE([WITH_IRIX_PROJECT], [1], + AC_DEFINE(WITH_IRIX_PROJECT, 1, [Define if you want IRIX project management]) - AC_DEFINE([WITH_IRIX_AUDIT], [1], + AC_DEFINE(WITH_IRIX_AUDIT, 1, [Define if you want IRIX audit trails]) - AC_CHECK_FUNC([jlimit_startjob], [AC_DEFINE([WITH_IRIX_JOBS], [1], + AC_CHECK_FUNC(jlimit_startjob, [AC_DEFINE(WITH_IRIX_JOBS, 1, [Define if you want IRIX kernel jobs])]) - AC_DEFINE([BROKEN_INET_NTOA]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([BROKEN_UPDWTMPX], [1], [updwtmpx is broken (if present)]) - AC_DEFINE([WITH_ABBREV_NO_TTY]) - AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) + AC_DEFINE(BROKEN_INET_NTOA) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(BROKEN_UPDWTMPX, 1, [updwtmpx is broken (if present)]) + AC_DEFINE(WITH_ABBREV_NO_TTY) + AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") ;; *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) check_for_libcrypt_later=1 - AC_DEFINE([PAM_TTY_KLUDGE]) - AC_DEFINE([LOCKED_PASSWD_PREFIX], ["!"]) - AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV]) - AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts]) - AC_DEFINE([USE_BTMP], [1], [Use btmp to log bad logins]) + AC_DEFINE(PAM_TTY_KLUDGE) + AC_DEFINE(LOCKED_PASSWD_PREFIX, "!") + AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) + AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts]) + AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) ;; *-*-linux*) no_dev_ptmx=1 check_for_libcrypt_later=1 check_for_openpty_ctty_bug=1 - AC_DEFINE([PAM_TTY_KLUDGE], [1], + AC_DEFINE(PAM_TTY_KLUDGE, 1, [Work around problematic Linux PAM modules handling of PAM_TTY]) - AC_DEFINE([LOCKED_PASSWD_PREFIX], ["!"], + AC_DEFINE(LOCKED_PASSWD_PREFIX, "!", [String used in /etc/passwd to denote locked account]) - AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV]) - AC_DEFINE([LINK_OPNOTSUPP_ERRNO], [EPERM], + AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) + AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM, [Define to whatever link() returns for "not supported" if it doesn't return EOPNOTSUPP.]) - AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts]) - AC_DEFINE([USE_BTMP]) - AC_DEFINE([LINUX_OOM_ADJUST], [1], [Adjust Linux out-of-memory killer]) + AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts]) + AC_DEFINE(USE_BTMP) + AC_DEFINE(LINUX_OOM_ADJUST, 1, [Adjust Linux out-of-memory killer]) inet6_default_4in6=yes case `uname -r` in 1.*|2.0.*) - AC_DEFINE([BROKEN_CMSG_TYPE], [1], + AC_DEFINE(BROKEN_CMSG_TYPE, 1, [Define if cmsg_type is not passed correctly]) ;; esac # tun(4) forwarding compat code - AC_CHECK_HEADERS([linux/if_tun.h]) + AC_CHECK_HEADERS(linux/if_tun.h) if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then - AC_DEFINE([SSH_TUN_LINUX], [1], + AC_DEFINE(SSH_TUN_LINUX, 1, [Open tunnel devices the Linux tun/tap way]) - AC_DEFINE([SSH_TUN_COMPAT_AF], [1], + AC_DEFINE(SSH_TUN_COMPAT_AF, 1, [Use tunnel device compatibility to OpenBSD]) - AC_DEFINE([SSH_TUN_PREPEND_AF], [1], + AC_DEFINE(SSH_TUN_PREPEND_AF, 1, [Prepend the address family to IP tunnel traffic]) fi ;; mips-sony-bsd|mips-sony-newsos4) - AC_DEFINE([NEED_SETPGRP], [1], [Need setpgrp to acquire controlling tty]) + AC_DEFINE(NEED_SETPGRP, 1, [Need setpgrp to acquire controlling tty]) SONY=1 ;; *-*-netbsd*) @@ -663,91 +660,91 @@ mips-sony-bsd|mips-sony-newsos4) if test "x$withval" != "xno" ; then need_dash_r=1 fi - AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) + AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) AC_CHECK_HEADER([net/if_tap.h], , - AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) - AC_DEFINE([SSH_TUN_PREPEND_AF], [1], + AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support])) + AC_DEFINE(SSH_TUN_PREPEND_AF, 1, [Prepend the address family to IP tunnel traffic]) ;; *-*-freebsd*) check_for_libcrypt_later=1 - AC_DEFINE([LOCKED_PASSWD_PREFIX], ["*LOCKED*"], [Account locked with pw(1)]) - AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) + AC_DEFINE(LOCKED_PASSWD_PREFIX, "*LOCKED*", [Account locked with pw(1)]) + AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) AC_CHECK_HEADER([net/if_tap.h], , - AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) - AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need]) + AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support])) + AC_DEFINE(BROKEN_GLOB, 1, [FreeBSD glob does not do what we need]) ;; *-*-bsdi*) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) ;; *-next-*) conf_lastlog_location="/usr/adm/lastlog" conf_utmp_location=/etc/utmp conf_wtmp_location=/usr/adm/wtmp MAIL=/usr/spool/mail - AC_DEFINE([HAVE_NEXT], [1], [Define if you are on NeXT]) - AC_DEFINE([BROKEN_REALPATH]) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([BROKEN_SAVED_UIDS], [1], [Needed for NeXT]) + AC_DEFINE(HAVE_NEXT, 1, [Define if you are on NeXT]) + AC_DEFINE(BROKEN_REALPATH) + AC_DEFINE(USE_PIPES) + AC_DEFINE(BROKEN_SAVED_UIDS, 1, [Needed for NeXT]) ;; *-*-openbsd*) - AC_DEFINE([HAVE_ATTRIBUTE__SENTINEL__], [1], [OpenBSD's gcc has sentinel]) - AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD's gcc has bounded]) - AC_DEFINE([SSH_TUN_OPENBSD], [1], [Open tunnel devices the OpenBSD way]) - AC_DEFINE([SYSLOG_R_SAFE_IN_SIGHAND], [1], + AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel]) + AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded]) + AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way]) + AC_DEFINE(SYSLOG_R_SAFE_IN_SIGHAND, 1, [syslog_r function is safe to use in in a signal handler]) ;; *-*-solaris*) if test "x$withval" != "xno" ; then need_dash_r=1 fi - AC_DEFINE([PAM_SUN_CODEBASE]) - AC_DEFINE([LOGIN_NEEDS_UTMPX]) - AC_DEFINE([LOGIN_NEEDS_TERM], [1], + AC_DEFINE(PAM_SUN_CODEBASE) + AC_DEFINE(LOGIN_NEEDS_UTMPX) + AC_DEFINE(LOGIN_NEEDS_TERM, 1, [Some versions of /bin/login need the TERM supplied on the commandline]) - AC_DEFINE([PAM_TTY_KLUDGE]) - AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], + AC_DEFINE(PAM_TTY_KLUDGE) + AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1, [Define if pam_chauthtok wants real uid set to the unpriv'ed user]) - AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) + AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") # Pushing STREAMS modules will cause sshd to acquire a controlling tty. - AC_DEFINE([SSHD_ACQUIRES_CTTY], [1], + AC_DEFINE(SSHD_ACQUIRES_CTTY, 1, [Define if sshd somehow reacquires a controlling TTY after setsid()]) - AC_DEFINE([PASSWD_NEEDS_USERNAME], [1], [must supply username to passwd + AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd in case the name is longer than 8 chars]) - AC_DEFINE([BROKEN_TCGETATTR_ICANON], [1], [tcgetattr with ICANON may hang]) + AC_DEFINE(BROKEN_TCGETATTR_ICANON, 1, [tcgetattr with ICANON may hang]) external_path_file=/etc/default/login # hardwire lastlog location (can't detect it on some versions) conf_lastlog_location="/var/adm/lastlog" - AC_MSG_CHECKING([for obsolete utmp and wtmp in solaris2.x]) + AC_MSG_CHECKING(for obsolete utmp and wtmp in solaris2.x) sol2ver=`echo "$host"| sed -e 's/.*[[0-9]]\.//'` if test "$sol2ver" -ge 8; then - AC_MSG_RESULT([yes]) - AC_DEFINE([DISABLE_UTMP]) - AC_DEFINE([DISABLE_WTMP], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(DISABLE_UTMP) + AC_DEFINE(DISABLE_WTMP, 1, [Define if you don't want to use wtmp]) else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi - AC_ARG_WITH([solaris-contracts], + AC_ARG_WITH(solaris-contracts, [ --with-solaris-contracts Enable Solaris process contracts (experimental)], [ - AC_CHECK_LIB([contract], [ct_tmpl_activate], - [ AC_DEFINE([USE_SOLARIS_PROCESS_CONTRACTS], [1], + AC_CHECK_LIB(contract, ct_tmpl_activate, + [ AC_DEFINE(USE_SOLARIS_PROCESS_CONTRACTS, 1, [Define if you have Solaris process contracts]) SSHDLIBS="$SSHDLIBS -lcontract" SPC_MSG="yes" ], ) ], ) - AC_ARG_WITH([solaris-projects], + AC_ARG_WITH(solaris-projects, [ --with-solaris-projects Enable Solaris projects (experimental)], [ - AC_CHECK_LIB([project], [setproject], - [ AC_DEFINE([USE_SOLARIS_PROJECTS], [1], + AC_CHECK_LIB(project, setproject, + [ AC_DEFINE(USE_SOLARIS_PROJECTS, 1, [Define if you have Solaris projects]) SSHDLIBS="$SSHDLIBS -lproject" SP_MSG="yes" ], ) @@ -756,33 +753,33 @@ mips-sony-bsd|mips-sony-newsos4) ;; *-*-sunos4*) CPPFLAGS="$CPPFLAGS -DSUNOS4" - AC_CHECK_FUNCS([getpwanam]) - AC_DEFINE([PAM_SUN_CODEBASE]) + AC_CHECK_FUNCS(getpwanam) + AC_DEFINE(PAM_SUN_CODEBASE) conf_utmp_location=/etc/utmp conf_wtmp_location=/var/adm/wtmp conf_lastlog_location=/var/adm/lastlog - AC_DEFINE([USE_PIPES]) + AC_DEFINE(USE_PIPES) ;; *-ncr-sysv*) LIBS="$LIBS -lc89" - AC_DEFINE([USE_PIPES]) - AC_DEFINE([SSHD_ACQUIRES_CTTY]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(SSHD_ACQUIRES_CTTY) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) ;; *-sni-sysv*) # /usr/ucblib MUST NOT be searched on ReliantUNIX - AC_CHECK_LIB([dl], [dlsym], ,) + AC_CHECK_LIB(dl, dlsym, ,) # -lresolv needs to be at the end of LIBS or DNS lookups break - AC_CHECK_LIB([resolv], [res_query], [ LIBS="$LIBS -lresolv" ]) + AC_CHECK_LIB(resolv, res_query, [ LIBS="$LIBS -lresolv" ]) IPADDR_IN_DISPLAY=yes - AC_DEFINE([USE_PIPES]) - AC_DEFINE([IP_TOS_IS_BROKEN]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([SSHD_ACQUIRES_CTTY]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(IP_TOS_IS_BROKEN) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(SSHD_ACQUIRES_CTTY) external_path_file=/etc/default/login # /usr/ucblib/libucb.a no longer needed on ReliantUNIX # Attention: always take care to bind libsocket and libnsl before libc, @@ -790,36 +787,36 @@ mips-sony-bsd|mips-sony-newsos4) ;; # UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. *-*-sysv4.2*) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([PASSWD_NEEDS_USERNAME], [1], [must supply username to passwd]) - AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd]) + AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") ;; # UnixWare 7.x, OpenUNIX 8 *-*-sysv5*) CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf" - AC_DEFINE([UNIXWARE_LONG_PASSWORDS], [1], [Support passwords > 8 chars]) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_GETADDRINFO]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([PASSWD_NEEDS_USERNAME]) + AC_DEFINE(UNIXWARE_LONG_PASSWORDS, 1, [Support passwords > 8 chars]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_GETADDRINFO) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(PASSWD_NEEDS_USERNAME) case "$host" in *-*-sysv5SCO_SV*) # SCO OpenServer 6.x TEST_SHELL=/u95/bin/sh - AC_DEFINE([BROKEN_LIBIAF], [1], + AC_DEFINE(BROKEN_LIBIAF, 1, [ia_uinfo routines not supported by OS yet]) - AC_DEFINE([BROKEN_UPDWTMPX]) - AC_CHECK_LIB([prot], [getluid], [ LIBS="$LIBS -lprot" - AC_CHECK_FUNCS([getluid setluid], , , [-lprot]) - AC_DEFINE([HAVE_SECUREWARE]) - AC_DEFINE([DISABLE_SHADOW]) - ], , ) + AC_DEFINE(BROKEN_UPDWTMPX) + AC_CHECK_LIB(prot, getluid,[ LIBS="$LIBS -lprot" + AC_CHECK_FUNCS(getluid setluid,,,-lprot) + AC_DEFINE(HAVE_SECUREWARE) + AC_DEFINE(DISABLE_SHADOW) + ],,) ;; - *) AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) + *) AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") check_for_libcrypt_later=1 ;; esac @@ -837,128 +834,132 @@ mips-sony-bsd|mips-sony-newsos4) fi LIBS="$LIBS -lprot -lx -ltinfo -lm" no_dev_ptmx=1 - AC_DEFINE([USE_PIPES]) - AC_DEFINE([HAVE_SECUREWARE]) - AC_DEFINE([DISABLE_SHADOW]) - AC_DEFINE([DISABLE_FD_PASSING]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_GETADDRINFO]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([WITH_ABBREV_NO_TTY]) - AC_DEFINE([BROKEN_UPDWTMPX]) - AC_DEFINE([PASSWD_NEEDS_USERNAME]) - AC_CHECK_FUNCS([getluid setluid]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(HAVE_SECUREWARE) + AC_DEFINE(DISABLE_SHADOW) + AC_DEFINE(DISABLE_FD_PASSING) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_GETADDRINFO) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(WITH_ABBREV_NO_TTY) + AC_DEFINE(BROKEN_UPDWTMPX) + AC_DEFINE(PASSWD_NEEDS_USERNAME) + AC_CHECK_FUNCS(getluid setluid) MANTYPE=man TEST_SHELL=ksh ;; *-*-unicosmk*) - AC_DEFINE([NO_SSH_LASTLOG], [1], + AC_DEFINE(NO_SSH_LASTLOG, 1, [Define if you don't want to use lastlog in session.c]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([DISABLE_FD_PASSING]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(USE_PIPES) + AC_DEFINE(DISABLE_FD_PASSING) LDFLAGS="$LDFLAGS" LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" MANTYPE=cat ;; *-*-unicosmp*) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([WITH_ABBREV_NO_TTY]) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([DISABLE_FD_PASSING]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(WITH_ABBREV_NO_TTY) + AC_DEFINE(USE_PIPES) + AC_DEFINE(DISABLE_FD_PASSING) LDFLAGS="$LDFLAGS" LIBS="$LIBS -lgen -lacid -ldb" MANTYPE=cat ;; *-*-unicos*) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([DISABLE_FD_PASSING]) - AC_DEFINE([NO_SSH_LASTLOG]) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(USE_PIPES) + AC_DEFINE(DISABLE_FD_PASSING) + AC_DEFINE(NO_SSH_LASTLOG) LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" MANTYPE=cat ;; *-dec-osf*) - AC_MSG_CHECKING([for Digital Unix SIA]) + AC_MSG_CHECKING(for Digital Unix SIA) no_osfsia="" - AC_ARG_WITH([osfsia], + AC_ARG_WITH(osfsia, [ --with-osfsia Enable Digital Unix SIA], [ if test "x$withval" = "xno" ; then - AC_MSG_RESULT([disabled]) + AC_MSG_RESULT(disabled) no_osfsia=1 fi ], ) if test -z "$no_osfsia" ; then if test -f /etc/sia/matrix.conf; then - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_OSF_SIA], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_OSF_SIA, 1, [Define if you have Digital Unix Security Integration Architecture]) - AC_DEFINE([DISABLE_LOGIN], [1], + AC_DEFINE(DISABLE_LOGIN, 1, [Define if you don't want to use your system's login() call]) - AC_DEFINE([DISABLE_FD_PASSING]) + AC_DEFINE(DISABLE_FD_PASSING) LIBS="$LIBS -lsecurity -ldb -lm -laud" SIA_MSG="yes" else - AC_MSG_RESULT([no]) - AC_DEFINE([LOCKED_PASSWD_SUBSTR], ["Nologin"], + AC_MSG_RESULT(no) + AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin", [String used in /etc/passwd to denote locked account]) fi fi - AC_DEFINE([BROKEN_GETADDRINFO]) - AC_DEFINE([SETEUID_BREAKS_SETUID]) - AC_DEFINE([BROKEN_SETREUID]) - AC_DEFINE([BROKEN_SETREGID]) - AC_DEFINE([BROKEN_READV_COMPARISON], [1], [Can't do comparisons on readv]) + AC_DEFINE(BROKEN_GETADDRINFO) + AC_DEFINE(SETEUID_BREAKS_SETUID) + AC_DEFINE(BROKEN_SETREUID) + AC_DEFINE(BROKEN_SETREGID) + AC_DEFINE(BROKEN_READV_COMPARISON, 1, [Can't do comparisons on readv]) ;; *-*-nto-qnx*) - AC_DEFINE([USE_PIPES]) - AC_DEFINE([NO_X11_UNIX_SOCKETS]) - AC_DEFINE([MISSING_NFDBITS], [1], [Define on *nto-qnx systems]) - AC_DEFINE([MISSING_HOWMANY], [1], [Define on *nto-qnx systems]) - AC_DEFINE([MISSING_FD_MASK], [1], [Define on *nto-qnx systems]) - AC_DEFINE([DISABLE_LASTLOG]) - AC_DEFINE([SSHD_ACQUIRES_CTTY]) - AC_DEFINE([BROKEN_SHADOW_EXPIRE], [1], [QNX shadow support is broken]) + AC_DEFINE(USE_PIPES) + AC_DEFINE(NO_X11_UNIX_SOCKETS) + AC_DEFINE(MISSING_NFDBITS, 1, [Define on *nto-qnx systems]) + AC_DEFINE(MISSING_HOWMANY, 1, [Define on *nto-qnx systems]) + AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems]) + AC_DEFINE(DISABLE_LASTLOG) + AC_DEFINE(SSHD_ACQUIRES_CTTY) + AC_DEFINE(BROKEN_SHADOW_EXPIRE, 1, [QNX shadow support is broken]) enable_etc_default_login=no # has incompatible /etc/default/login case "$host" in *-*-nto-qnx6*) - AC_DEFINE([DISABLE_FD_PASSING]) + AC_DEFINE(DISABLE_FD_PASSING) ;; esac ;; *-*-ultrix*) - AC_DEFINE([BROKEN_GETGROUPS], [1], [getgroups(0,NULL) will return -1]) - AC_DEFINE([BROKEN_MMAP], [1], [Ultrix mmap can't map files]) - AC_DEFINE([NEED_SETPGRP]) - AC_DEFINE([HAVE_SYS_SYSLOG_H], [1], [Force use of sys/syslog.h on Ultrix]) + AC_DEFINE(BROKEN_GETGROUPS, 1, [getgroups(0,NULL) will return -1]) + AC_DEFINE(BROKEN_MMAP, 1, [Ultrix mmap can't map files]) + AC_DEFINE(NEED_SETPGRP) + AC_DEFINE(HAVE_SYS_SYSLOG_H, 1, [Force use of sys/syslog.h on Ultrix]) ;; *-*-lynxos) CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" - AC_DEFINE([MISSING_HOWMANY]) - AC_DEFINE([BROKEN_SETVBUF], [1], [LynxOS has broken setvbuf() implementation]) + AC_DEFINE(MISSING_HOWMANY) + AC_DEFINE(BROKEN_SETVBUF, 1, [LynxOS has broken setvbuf() implementation]) ;; esac -AC_MSG_CHECKING([compiler and flags for sanity]) -AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[ exit(0); ]])], - [ AC_MSG_RESULT([yes]) ], +AC_MSG_CHECKING(compiler and flags for sanity) +AC_RUN_IFELSE( + [AC_LANG_SOURCE([ +#include +int main(){exit(0);} + ])], + [ AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***]) ], [ AC_MSG_WARN([cross compiling: not checking compiler sanity]) ] @@ -966,12 +967,12 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[ exit(0); ]])], dnl Checks for header files. # Checks for libraries. -AC_CHECK_FUNC([yp_match], , [AC_CHECK_LIB([nsl], [yp_match])]) -AC_CHECK_FUNC([setsockopt], , [AC_CHECK_LIB([socket], [setsockopt])]) +AC_CHECK_FUNC(yp_match, , AC_CHECK_LIB(nsl, yp_match)) +AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt)) dnl IRIX and Solaris 2.5.1 have dirname() in libgen -AC_CHECK_FUNCS([dirname], [AC_CHECK_HEADERS([libgen.h])] , [ - AC_CHECK_LIB([gen], [dirname], [ +AC_CHECK_FUNCS(dirname, [AC_CHECK_HEADERS(libgen.h)] ,[ + AC_CHECK_LIB(gen, dirname,[ AC_CACHE_CHECK([for broken dirname], ac_cv_have_broken_dirname, [ save_LIBS="$LIBS" @@ -1001,19 +1002,19 @@ int main(int argc, char **argv) { ]) if test "x$ac_cv_have_broken_dirname" = "xno" ; then LIBS="$LIBS -lgen" - AC_DEFINE([HAVE_DIRNAME]) - AC_CHECK_HEADERS([libgen.h]) + AC_DEFINE(HAVE_DIRNAME) + AC_CHECK_HEADERS(libgen.h) fi ]) ]) -AC_CHECK_FUNC([getspnam], , - [AC_CHECK_LIB([gen], [getspnam], [LIBS="$LIBS -lgen"])]) -AC_SEARCH_LIBS([basename], [gen], [AC_DEFINE([HAVE_BASENAME], [1], - [Define if you have the basename function.])]) +AC_CHECK_FUNC(getspnam, , + AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen")) +AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME, 1, + [Define if you have the basename function.])) dnl zlib is required -AC_ARG_WITH([zlib], +AC_ARG_WITH(zlib, [ --with-zlib=PATH Use zlib in PATH], [ if test "x$withval" = "xno" ; then AC_MSG_ERROR([*** zlib is required ***]) @@ -1039,8 +1040,8 @@ AC_ARG_WITH([zlib], fi ] ) -AC_CHECK_HEADER([zlib.h], ,[AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***])]) -AC_CHECK_LIB([z], [deflate], , +AC_CHECK_HEADER([zlib.h], ,AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***])) +AC_CHECK_LIB(z, deflate, , [ saved_CPPFLAGS="$CPPFLAGS" saved_LDFLAGS="$LDFLAGS" @@ -1053,7 +1054,7 @@ AC_CHECK_LIB([z], [deflate], , fi CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}" LIBS="$LIBS -lz" - AC_TRY_LINK_FUNC([deflate], [AC_DEFINE([HAVE_LIBZ])], + AC_TRY_LINK_FUNC(deflate, AC_DEFINE(HAVE_LIBZ), [ AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***]) ] @@ -1061,7 +1062,7 @@ AC_CHECK_LIB([z], [deflate], , ] ) -AC_ARG_WITH([zlib-version-check], +AC_ARG_WITH(zlib-version-check, [ --without-zlib-version-check Disable zlib version check], [ if test "x$withval" = "xno" ; then zlib_check_nonfatal=1 @@ -1069,12 +1070,12 @@ AC_ARG_WITH([zlib-version-check], ] ) -AC_MSG_CHECKING([for possibly buggy zlib]) -AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +AC_MSG_CHECKING(for possibly buggy zlib) +AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include - ]], - [[ +int main() +{ int a=0, b=0, c=0, d=0, n, v; n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d); if (n != 3 && n != 4) @@ -1091,9 +1092,10 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ exit(0); exit(2); +} ]])], - AC_MSG_RESULT([no]), - [ AC_MSG_RESULT([yes]) + AC_MSG_RESULT(no), + [ AC_MSG_RESULT(yes) if test -z "$zlib_check_nonfatal" ; then AC_MSG_ERROR([*** zlib too old - check config.log *** Your reported zlib version has known security problems. It's possible your @@ -1110,25 +1112,25 @@ See http://www.gzip.org/zlib/ for details.]) ) dnl UnixWare 2.x -AC_CHECK_FUNC([strcasecmp], - [], [ AC_CHECK_LIB([resolv], [strcasecmp], [LIBS="$LIBS -lresolv"]) ] +AC_CHECK_FUNC(strcasecmp, + [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ] ) -AC_CHECK_FUNCS([utimes], - [], [ AC_CHECK_LIB([c89], [utimes], [AC_DEFINE([HAVE_UTIMES]) +AC_CHECK_FUNCS(utimes, + [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES) LIBS="$LIBS -lc89"]) ] ) dnl Checks for libutil functions -AC_CHECK_HEADERS([libutil.h]) -AC_SEARCH_LIBS([login], [util bsd], [AC_DEFINE([HAVE_LOGIN], [1], +AC_CHECK_HEADERS(libutil.h) +AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1, [Define if your libraries define login()])]) -AC_CHECK_FUNCS([fmt_scaled logout updwtmp logwtmp]) +AC_CHECK_FUNCS(fmt_scaled logout updwtmp logwtmp) AC_FUNC_STRFTIME # Check for ALTDIRFUNC glob() extension -AC_MSG_CHECKING([for GLOB_ALTDIRFUNC support]) -AC_EGREP_CPP([FOUNDIT], +AC_MSG_CHECKING(for GLOB_ALTDIRFUNC support) +AC_EGREP_CPP(FOUNDIT, [ #include #ifdef GLOB_ALTDIRFUNC @@ -1136,83 +1138,87 @@ AC_EGREP_CPP([FOUNDIT], #endif ], [ - AC_DEFINE([GLOB_HAS_ALTDIRFUNC], [1], + AC_DEFINE(GLOB_HAS_ALTDIRFUNC, 1, [Define if your system glob() function has the GLOB_ALTDIRFUNC extension]) - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) ] ) # Check for g.gl_matchc glob() extension -AC_MSG_CHECKING([for gl_matchc field in glob_t]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ glob_t g; g.gl_matchc = 1; ]])], +AC_MSG_CHECKING(for gl_matchc field in glob_t) +AC_TRY_COMPILE( + [ #include ], + [glob_t g; g.gl_matchc = 1;], [ - AC_DEFINE([GLOB_HAS_GL_MATCHC], [1], + AC_DEFINE(GLOB_HAS_GL_MATCHC, 1, [Define if your system glob() function has gl_matchc options in glob_t]) - AC_MSG_RESULT([yes]) - ], [ - AC_MSG_RESULT([no]) -]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ] +) # Check for g.gl_statv glob() extension -AC_MSG_CHECKING([for gl_statv and GLOB_KEEPSTAT extensions for glob]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], [[ +AC_MSG_CHECKING(for gl_statv and GLOB_KEEPSTAT extensions for glob) +AC_TRY_COMPILE( + [ #include ], + [ #ifndef GLOB_KEEPSTAT #error "glob does not support GLOB_KEEPSTAT extension" #endif glob_t g; g.gl_statv = NULL; -]])], +], [ - AC_DEFINE([GLOB_HAS_GL_STATV], [1], + AC_DEFINE(GLOB_HAS_GL_STATV, 1, [Define if your system glob() function has gl_statv options in glob_t]) - AC_MSG_RESULT([yes]) - ], [ - AC_MSG_RESULT([no]) - -]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + ] +) -AC_CHECK_DECLS([GLOB_NOMATCH], , , [#include ]) +AC_CHECK_DECLS(GLOB_NOMATCH, , , [#include ]) AC_MSG_CHECKING([whether struct dirent allocates space for d_name]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include -#include ]], - [[ - struct dirent d; - exit(sizeof(d.d_name)<=sizeof(char)); +#include +int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));} ]])], - [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT(yes)], [ - AC_MSG_RESULT([no]) - AC_DEFINE([BROKEN_ONE_BYTE_DIRENT_D_NAME], [1], + AC_MSG_RESULT(no) + AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME, 1, [Define if your struct dirent expects you to allocate extra space for d_name]) ], [ AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME]) - AC_DEFINE([BROKEN_ONE_BYTE_DIRENT_D_NAME]) + AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) ] ) AC_MSG_CHECKING([for /proc/pid/fd directory]) if test -d "/proc/$$/fd" ; then - AC_DEFINE([HAVE_PROC_PID], [1], [Define if you have /proc/$pid/fd]) - AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_PROC_PID, 1, [Define if you have /proc/$pid/fd]) + AC_MSG_RESULT(yes) else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi # Check whether user wants S/Key support SKEY_MSG="no" -AC_ARG_WITH([skey], +AC_ARG_WITH(skey, [ --with-skey[[=PATH]] Enable S/Key support (optionally in PATH)], [ if test "x$withval" != "xno" ; then @@ -1222,46 +1228,40 @@ AC_ARG_WITH([skey], LDFLAGS="$LDFLAGS -L${withval}/lib" fi - AC_DEFINE([SKEY], [1], [Define if you want S/Key support]) + AC_DEFINE(SKEY, 1, [Define if you want S/Key support]) LIBS="-lskey $LIBS" SKEY_MSG="yes" AC_MSG_CHECKING([for s/key support]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - char *ff = skey_keyinfo(""); ff=""; - exit(0); +int main() { char *ff = skey_keyinfo(""); ff=""; exit(0); } ]])], - [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT(yes)], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) AC_MSG_ERROR([** Incomplete or missing s/key libraries.]) ]) - AC_MSG_CHECKING([if skeychallenge takes 4 arguments]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include - ]], [[ - (void)skeychallenge(NULL,"name","",0); - ]])], - [ - AC_MSG_RESULT([yes]) - AC_DEFINE([SKEYCHALLENGE_4ARG], [1], + AC_MSG_CHECKING(if skeychallenge takes 4 arguments) + AC_TRY_COMPILE( + [#include + #include ], + [(void)skeychallenge(NULL,"name","",0);], + [AC_MSG_RESULT(yes) + AC_DEFINE(SKEYCHALLENGE_4ARG, 1, [Define if your skeychallenge() function takes 4 arguments (NetBSD)])], - [ - AC_MSG_RESULT([no]) - ]) + [AC_MSG_RESULT(no)] + ) fi ] ) # Check whether user wants TCP wrappers support TCPW_MSG="no" -AC_ARG_WITH([tcp-wrappers], +AC_ARG_WITH(tcp-wrappers, [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)], [ if test "x$withval" != "xno" ; then @@ -1290,26 +1290,28 @@ AC_ARG_WITH([tcp-wrappers], fi fi LIBS="-lwrap $LIBS" - AC_MSG_CHECKING([for libwrap]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_MSG_CHECKING(for libwrap) + AC_TRY_LINK( + [ #include #include #include #include -int deny_severity = 0, allow_severity = 0; - ]], [[ - hosts_access(0); - ]])], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([LIBWRAP], [1], + int deny_severity = 0, allow_severity = 0; + ], + [hosts_access(0);], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(LIBWRAP, 1, [Define if you want TCP Wrappers support]) SSHDLIBS="$SSHDLIBS -lwrap" TCPW_MSG="yes" - ], [ + ], + [ AC_MSG_ERROR([*** libwrap missing]) - - ]) + ] + ) LIBS="$saved_LIBS" fi ] @@ -1317,18 +1319,18 @@ int deny_severity = 0, allow_severity = 0; # Check whether user wants libedit support LIBEDIT_MSG="no" -AC_ARG_WITH([libedit], +AC_ARG_WITH(libedit, [ --with-libedit[[=PATH]] Enable libedit support for sftp], [ if test "x$withval" != "xno" ; then if test "x$withval" = "xyes" ; then - AC_PATH_PROG([PKGCONFIG], [pkg-config], [no]) + AC_PATH_PROG(PKGCONFIG, pkg-config, no) if test "x$PKGCONFIG" != "xno"; then - AC_MSG_CHECKING([if $PKGCONFIG knows about libedit]) + AC_MSG_CHECKING(if $PKGCONFIG knows about libedit) if "$PKGCONFIG" libedit; then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) use_pkgconfig_for_libedit=yes else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi fi else @@ -1346,70 +1348,73 @@ AC_ARG_WITH([libedit], LIBEDIT="-ledit -lcurses" fi OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` - AC_CHECK_LIB([edit], [el_init], - [ AC_DEFINE([USE_LIBEDIT], [1], [Use libedit for sftp]) + AC_CHECK_LIB(edit, el_init, + [ AC_DEFINE(USE_LIBEDIT, 1, [Use libedit for sftp]) LIBEDIT_MSG="yes" - AC_SUBST([LIBEDIT]) + AC_SUBST(LIBEDIT) ], - [ AC_MSG_ERROR([libedit not found]) ], + [ AC_MSG_ERROR(libedit not found) ], [ $OTHERLIBS ] ) - AC_MSG_CHECKING([if libedit version is compatible]) + AC_MSG_CHECKING(if libedit version is compatible) AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ + [AC_LANG_SOURCE([[ +#include +int main(void) +{ int i = H_SETSIZE; el_init("", NULL, NULL, NULL); exit(0); +} ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - AC_MSG_ERROR([libedit version is not compatible]) ] + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) + AC_MSG_ERROR(libedit version is not compatible) ] ) fi ] ) AUDIT_MODULE=none -AC_ARG_WITH([audit], +AC_ARG_WITH(audit, [ --with-audit=module Enable audit support (modules=debug,bsm,linux)], [ - AC_MSG_CHECKING([for supported audit module]) + AC_MSG_CHECKING(for supported audit module) case "$withval" in bsm) - AC_MSG_RESULT([bsm]) + AC_MSG_RESULT(bsm) AUDIT_MODULE=bsm dnl Checks for headers, libs and functions - AC_CHECK_HEADERS([bsm/audit.h], [], - [AC_MSG_ERROR([BSM enabled and bsm/audit.h not found])], + AC_CHECK_HEADERS(bsm/audit.h, [], + [AC_MSG_ERROR(BSM enabled and bsm/audit.h not found)], [ #ifdef HAVE_TIME_H # include #endif ] ) - AC_CHECK_LIB([bsm], [getaudit], [], - [AC_MSG_ERROR([BSM enabled and required library not found])]) - AC_CHECK_FUNCS([getaudit], [], - [AC_MSG_ERROR([BSM enabled and required function not found])]) + AC_CHECK_LIB(bsm, getaudit, [], + [AC_MSG_ERROR(BSM enabled and required library not found)]) + AC_CHECK_FUNCS(getaudit, [], + [AC_MSG_ERROR(BSM enabled and required function not found)]) # These are optional - AC_CHECK_FUNCS([getaudit_addr aug_get_machine]) - AC_DEFINE([USE_BSM_AUDIT], [1], [Use BSM audit module]) + AC_CHECK_FUNCS(getaudit_addr aug_get_machine) + AC_DEFINE(USE_BSM_AUDIT, 1, [Use BSM audit module]) ;; linux) - AC_MSG_RESULT([linux]) + AC_MSG_RESULT(linux) AUDIT_MODULE=linux dnl Checks for headers, libs and functions - AC_CHECK_HEADERS([libaudit.h]) + AC_CHECK_HEADERS(libaudit.h) SSHDLIBS="$SSHDLIBS -laudit" - AC_DEFINE([USE_LINUX_AUDIT], [1], [Use Linux audit module]) + AC_DEFINE(USE_LINUX_AUDIT, 1, [Use Linux audit module]) ;; debug) AUDIT_MODULE=debug - AC_MSG_RESULT([debug]) - AC_DEFINE([SSH_AUDIT_EVENTS], [1], [Use audit debugging module]) + AC_MSG_RESULT(debug) + AC_DEFINE(SSH_AUDIT_EVENTS, 1, [Use audit debugging module]) ;; no) - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) ;; *) AC_MSG_ERROR([Unknown audit module $withval]) @@ -1418,7 +1423,7 @@ AC_ARG_WITH([audit], ) dnl Checks for library functions. Please keep in alphabetical order -AC_CHECK_FUNCS([ \ +AC_CHECK_FUNCS( \ arc4random \ arc4random_buf \ arc4random_uniform \ @@ -1514,43 +1519,46 @@ AC_CHECK_FUNCS([ \ vhangup \ vsnprintf \ waitpid \ -]) +) AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ #include ]], - [[ return (isblank('a')); ]])], - [AC_DEFINE([HAVE_ISBLANK], [1], [Define if you have isblank(3C).]) +[ +#include +int main(void) +{ + return (isblank('a')); +} +], + [AC_DEFINE(HAVE_ISBLANK, 1, [Define if you have isblank(3C).]) ]) # PKCS#11 support requires dlopen() and co -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support])] +AC_SEARCH_LIBS(dlopen, dl, + AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support]) ) # IRIX has a const char return value for gai_strerror() -AC_CHECK_FUNCS([gai_strerror], [ - AC_DEFINE([HAVE_GAI_STRERROR]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_CHECK_FUNCS(gai_strerror,[ + AC_DEFINE(HAVE_GAI_STRERROR) + AC_TRY_COMPILE([ #include #include #include -const char *gai_strerror(int); - ]], [[ - char *str; - str = gai_strerror(0); - ]])], [ - AC_DEFINE([HAVE_CONST_GAI_STRERROR_PROTO], [1], - [Define if gai_strerror() returns const char *])], [])]) +const char *gai_strerror(int);],[ +char *str; + +str = gai_strerror(0);],[ + AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1, + [Define if gai_strerror() returns const char *])])]) -AC_SEARCH_LIBS([nanosleep], [rt posix4], [AC_DEFINE([HAVE_NANOSLEEP], [1], - [Some systems put nanosleep outside of libc])]) +AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP, 1, + [Some systems put nanosleep outside of libc])) dnl Make sure prototypes are defined for these before using them. -AC_CHECK_DECL([getrusage], [AC_CHECK_FUNCS([getrusage])]) -AC_CHECK_DECL([strsep], - [AC_CHECK_FUNCS([strsep])], +AC_CHECK_DECL(getrusage, [AC_CHECK_FUNCS(getrusage)]) +AC_CHECK_DECL(strsep, + [AC_CHECK_FUNCS(strsep)], [], [ #ifdef HAVE_STRING_H @@ -1559,21 +1567,21 @@ AC_CHECK_DECL([strsep], ]) dnl tcsendbreak might be a macro -AC_CHECK_DECL([tcsendbreak], - [AC_DEFINE([HAVE_TCSENDBREAK])], - [AC_CHECK_FUNCS([tcsendbreak])], +AC_CHECK_DECL(tcsendbreak, + [AC_DEFINE(HAVE_TCSENDBREAK)], + [AC_CHECK_FUNCS(tcsendbreak)], [#include ] ) -AC_CHECK_DECLS([h_errno], , ,[#include ]) +AC_CHECK_DECLS(h_errno, , ,[#include ]) -AC_CHECK_DECLS([SHUT_RD], , , +AC_CHECK_DECLS(SHUT_RD, , , [ #include #include ]) -AC_CHECK_DECLS([O_NONBLOCK], , , +AC_CHECK_DECLS(O_NONBLOCK, , , [ #include #ifdef HAVE_SYS_STAT_H @@ -1584,104 +1592,90 @@ AC_CHECK_DECLS([O_NONBLOCK], , , #endif ]) -AC_CHECK_DECLS([writev], , , [ +AC_CHECK_DECLS(writev, , , [ #include #include #include ]) -AC_CHECK_DECLS([MAXSYMLINKS], , , [ +AC_CHECK_DECLS(MAXSYMLINKS, , , [ #include ]) -AC_CHECK_DECLS([offsetof], , , [ +AC_CHECK_DECLS(offsetof, , , [ #include ]) -AC_CHECK_FUNCS([setresuid], [ +AC_CHECK_FUNCS(setresuid, [ dnl Some platorms have setresuid that isn't implemented, test for this - AC_MSG_CHECKING([if setresuid seems to work]) + AC_MSG_CHECKING(if setresuid seems to work) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - errno=0; - setresuid(0,0,0); - if (errno==ENOSYS) - exit(1); - else - exit(0); +int main(){errno=0; setresuid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} ]])], - [AC_MSG_RESULT([yes])], - [AC_DEFINE([BROKEN_SETRESUID], [1], + [AC_MSG_RESULT(yes)], + [AC_DEFINE(BROKEN_SETRESUID, 1, [Define if your setresuid() is broken]) - AC_MSG_RESULT([not implemented])], + AC_MSG_RESULT(not implemented)], [AC_MSG_WARN([cross compiling: not checking setresuid])] ) ]) -AC_CHECK_FUNCS([setresgid], [ +AC_CHECK_FUNCS(setresgid, [ dnl Some platorms have setresgid that isn't implemented, test for this - AC_MSG_CHECKING([if setresgid seems to work]) + AC_MSG_CHECKING(if setresgid seems to work) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - errno=0; - setresgid(0,0,0); - if (errno==ENOSYS) - exit(1); - else - exit(0); +int main(){errno=0; setresgid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} ]])], - [AC_MSG_RESULT([yes])], - [AC_DEFINE([BROKEN_SETRESGID], [1], + [AC_MSG_RESULT(yes)], + [AC_DEFINE(BROKEN_SETRESGID, 1, [Define if your setresgid() is broken]) - AC_MSG_RESULT([not implemented])], + AC_MSG_RESULT(not implemented)], [AC_MSG_WARN([cross compiling: not checking setresuid])] ) ]) dnl Checks for time functions -AC_CHECK_FUNCS([gettimeofday time]) +AC_CHECK_FUNCS(gettimeofday time) dnl Checks for utmp functions -AC_CHECK_FUNCS([endutent getutent getutid getutline pututline setutent]) -AC_CHECK_FUNCS([utmpname]) +AC_CHECK_FUNCS(endutent getutent getutid getutline pututline setutent) +AC_CHECK_FUNCS(utmpname) dnl Checks for utmpx functions -AC_CHECK_FUNCS([endutxent getutxent getutxid getutxline getutxuser pututxline]) -AC_CHECK_FUNCS([setutxdb setutxent utmpxname]) +AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline getutxuser pututxline) +AC_CHECK_FUNCS(setutxdb setutxent utmpxname) dnl Checks for lastlog functions -AC_CHECK_FUNCS([getlastlogxbyname]) +AC_CHECK_FUNCS(getlastlogxbyname) -AC_CHECK_FUNC([daemon], - [AC_DEFINE([HAVE_DAEMON], [1], [Define if your libraries define daemon()])], - [AC_CHECK_LIB([bsd], [daemon], - [LIBS="$LIBS -lbsd"; AC_DEFINE([HAVE_DAEMON])])] +AC_CHECK_FUNC(daemon, + [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])], + [AC_CHECK_LIB(bsd, daemon, + [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])] ) -AC_CHECK_FUNC([getpagesize], - [AC_DEFINE([HAVE_GETPAGESIZE], [1], +AC_CHECK_FUNC(getpagesize, + [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Define if your libraries define getpagesize()])], - [AC_CHECK_LIB([ucb], [getpagesize], - [LIBS="$LIBS -lucb"; AC_DEFINE([HAVE_GETPAGESIZE])])] + [AC_CHECK_LIB(ucb, getpagesize, + [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])] ) # Check for broken snprintf if test "x$ac_cv_func_snprintf" = "xyes" ; then AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ - char b[5]; - snprintf(b,5,"123456789"); - exit(b[4]!='\0'); + [AC_LANG_SOURCE([[ +#include +int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');} ]])], - [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT(yes)], [ - AC_MSG_RESULT([no]) - AC_DEFINE([BROKEN_SNPRINTF], [1], + AC_MSG_RESULT(no) + AC_DEFINE(BROKEN_SNPRINTF, 1, [Define if your snprintf is busted]) AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) ], @@ -1696,7 +1690,7 @@ if test "x$ac_cv_func_asprintf" != "xyes" && \ test "x$ac_cv_func_vsnprintf" = "xyes" ; then AC_MSG_CHECKING([whether vsnprintf returns correct values on overflow]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include @@ -1707,14 +1701,15 @@ int x_snprintf(char *str,size_t count,const char *fmt,...) va_start(ap, fmt); ret = vsnprintf(str, count, fmt, ap); va_end(ap); return ret; } - ]], [[ +int main(void) +{ char x[1]; exit(x_snprintf(x, 1, "%s %d", "hello", 12345) == 11 ? 0 : 1); - ]])], - [AC_MSG_RESULT([yes])], +} ]])], + [AC_MSG_RESULT(yes)], [ - AC_MSG_RESULT([no]) - AC_DEFINE([BROKEN_SNPRINTF], [1], + AC_MSG_RESULT(no) + AC_DEFINE(BROKEN_SNPRINTF, 1, [Define if your snprintf is busted]) AC_MSG_WARN([****** Your vsnprintf() function is broken, complain to your vendor]) ], @@ -1726,69 +1721,71 @@ fi # check that the fmt argument is const char * or just char *. # This is only useful for when BROKEN_SNPRINTF AC_MSG_CHECKING([whether snprintf can declare const char *fmt]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -int snprintf(char *a, size_t b, const char *c, ...) { return 0; } - ]], [[ - snprintf(0, 0, 0); - ]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([SNPRINTF_CONST], [const], +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include + int snprintf(char *a, size_t b, const char *c, ...) { return 0; } + int main(void) { snprintf(0, 0, 0); } + ]])], + [AC_MSG_RESULT(yes) + AC_DEFINE(SNPRINTF_CONST, [const], [Define as const if snprintf() can declare const char *fmt])], - [AC_MSG_RESULT([no]) - AC_DEFINE([SNPRINTF_CONST], [/* not const */])]) + [AC_MSG_RESULT(no) + AC_DEFINE(SNPRINTF_CONST, [/* not const */])]) # Check for missing getpeereid (or equiv) support NO_PEERCHECK="" if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then AC_MSG_CHECKING([whether system supports SO_PEERCRED getsockopt]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include ]], [[int i = SO_PEERCRED;]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_SO_PEERCRED], [1], [Have PEERCRED socket option]) - ], [AC_MSG_RESULT([no]) - NO_PEERCHECK=1 - ]) + AC_TRY_COMPILE( + [#include + #include ], + [int i = SO_PEERCRED;], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SO_PEERCRED, 1, [Have PEERCRED socket option]) + ], + [AC_MSG_RESULT(no) + NO_PEERCHECK=1] + ) fi dnl see whether mkstemp() requires XXXXXX if test "x$ac_cv_func_mkdtemp" = "xyes" ; then AC_MSG_CHECKING([for (overly) strict mkstemp]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include - ]], [[ - char template[]="conftest.mkstemp-test"; - if (mkstemp(template) == -1) - exit(1); - unlink(template); - exit(0); +main() { char template[]="conftest.mkstemp-test"; +if (mkstemp(template) == -1) + exit(1); +unlink(template); exit(0); +} ]])], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) ], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_STRICT_MKSTEMP], [1], [Silly mkstemp()]) + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_STRICT_MKSTEMP, 1, [Silly mkstemp()]) ], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE_STRICT_MKSTEMP]) + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_STRICT_MKSTEMP) ] ) fi dnl make sure that openpty does not reacquire controlling terminal if test ! -z "$check_for_openpty_ctty_bug"; then - AC_MSG_CHECKING([if openpty correctly handles controlling tty]) + AC_MSG_CHECKING(if openpty correctly handles controlling tty) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include #include - ]], [[ + +int +main() +{ pid_t pid; int fd, ptyfd, ttyfd, status; @@ -1811,25 +1808,26 @@ if test ! -z "$check_for_openpty_ctty_bug"; then else exit(0); /* Did not acquire ctty: OK */ } +} ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) - AC_DEFINE([SSHD_ACQUIRES_CTTY]) + AC_MSG_RESULT(no) + AC_DEFINE(SSHD_ACQUIRES_CTTY) ], [ - AC_MSG_RESULT([cross-compiling, assuming yes]) + AC_MSG_RESULT(cross-compiling, assuming yes) ] ) fi if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then - AC_MSG_CHECKING([if getaddrinfo seems to work]) + AC_MSG_CHECKING(if getaddrinfo seems to work) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include @@ -1837,7 +1835,10 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ #include #define TEST_PORT "2222" - ]], [[ + +int +main(void) +{ int err, sock; struct addrinfo *gai_ai, *ai, hints; char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; @@ -1879,25 +1880,26 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ } } exit(0); +} ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) - AC_DEFINE([BROKEN_GETADDRINFO]) + AC_MSG_RESULT(no) + AC_DEFINE(BROKEN_GETADDRINFO) ], [ - AC_MSG_RESULT([cross-compiling, assuming yes]) + AC_MSG_RESULT(cross-compiling, assuming yes) ] ) fi if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ test "x$check_for_aix_broken_getaddrinfo" = "x1"; then - AC_MSG_CHECKING([if getaddrinfo seems to work]) + AC_MSG_CHECKING(if getaddrinfo seems to work) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include @@ -1905,7 +1907,10 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ #include #define TEST_PORT "2222" - ]], [[ + +int +main(void) +{ int err, sock; struct addrinfo *gai_ai, *ai, hints; char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; @@ -1935,33 +1940,37 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ } } exit(0); +} ]])], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([AIX_GETNAMEINFO_HACK], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(AIX_GETNAMEINFO_HACK, 1, [Define if you have a getaddrinfo that fails for the all-zeros IPv6 address]) ], [ - AC_MSG_RESULT([no]) - AC_DEFINE([BROKEN_GETADDRINFO]) + AC_MSG_RESULT(no) + AC_DEFINE(BROKEN_GETADDRINFO) ], [ - AC_MSG_RESULT([cross-compiling, assuming no]) + AC_MSG_RESULT(cross-compiling, assuming no) ] ) fi if test "x$check_for_conflicting_getspnam" = "x1"; then - AC_MSG_CHECKING([for conflicting getspnam in shadow.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ exit(0); ]])], + AC_MSG_CHECKING(for conflicting getspnam in shadow.h) + AC_COMPILE_IFELSE( [ - AC_MSG_RESULT([no]) +#include +int main(void) {exit(0);} ], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([GETSPNAM_CONFLICTING_DEFS], [1], + AC_MSG_RESULT(no) + ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(GETSPNAM_CONFLICTING_DEFS, 1, [Conflicting defs for getspnam]) ] ) @@ -1972,7 +1981,7 @@ AC_FUNC_GETPGRP # Search for OpenSSL saved_CPPFLAGS="$CPPFLAGS" saved_LDFLAGS="$LDFLAGS" -AC_ARG_WITH([ssl-dir], +AC_ARG_WITH(ssl-dir, [ --with-ssl-dir=PATH Specify path to OpenSSL installation ], [ if test "x$withval" != "xno" ; then @@ -2008,9 +2017,9 @@ AC_ARG_WITH([ssl-dir], ] ) LIBS="-lcrypto $LIBS" -AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], +AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL, 1, [Define if your ssl headers are included - with #include ])], + with #include ]), [ dnl Check default openssl install dir if test -n "${need_dash_r}"; then @@ -2020,8 +2029,8 @@ AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], fi CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}" AC_CHECK_HEADER([openssl/opensslv.h], , - [AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])]) - AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL])], + AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])) + AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL), [ AC_MSG_ERROR([*** Can't find recent OpenSSL libcrypto (see config.log for details) ***]) ] @@ -2032,12 +2041,12 @@ AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], # Determine OpenSSL header version AC_MSG_CHECKING([OpenSSL header version]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include #define DATA "conftest.sslincver" - ]], [[ +int main(void) { FILE *fd; int rc; @@ -2049,14 +2058,15 @@ AC_RUN_IFELSE( exit(1); exit(0); +} ]])], [ ssl_header_ver=`cat conftest.sslincver` - AC_MSG_RESULT([$ssl_header_ver]) + AC_MSG_RESULT($ssl_header_ver) ], [ - AC_MSG_RESULT([not found]) - AC_MSG_ERROR([OpenSSL version header not found.]) + AC_MSG_RESULT(not found) + AC_MSG_ERROR(OpenSSL version header not found.) ], [ AC_MSG_WARN([cross compiling: not checking]) @@ -2066,13 +2076,13 @@ AC_RUN_IFELSE( # Determine OpenSSL library version AC_MSG_CHECKING([OpenSSL library version]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include #include #define DATA "conftest.ssllibver" - ]], [[ +int main(void) { FILE *fd; int rc; @@ -2084,21 +2094,22 @@ AC_RUN_IFELSE( exit(1); exit(0); +} ]])], [ ssl_library_ver=`cat conftest.ssllibver` - AC_MSG_RESULT([$ssl_library_ver]) + AC_MSG_RESULT($ssl_library_ver) ], [ - AC_MSG_RESULT([not found]) - AC_MSG_ERROR([OpenSSL library not found.]) + AC_MSG_RESULT(not found) + AC_MSG_ERROR(OpenSSL library not found.) ], [ AC_MSG_WARN([cross compiling: not checking]) ] ) -AC_ARG_WITH([openssl-header-check], +AC_ARG_WITH(openssl-header-check, [ --without-openssl-header-check Disable OpenSSL version consistency check], [ if test "x$withval" = "xno" ; then openssl_check_nonfatal=1 @@ -2109,17 +2120,16 @@ AC_ARG_WITH([openssl-header-check], # Sanity check OpenSSL headers AC_MSG_CHECKING([whether OpenSSL's headers match the library]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); +int main(void) { exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); } ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) if test "x$openssl_check_nonfatal" = "x"; then AC_MSG_ERROR([Your OpenSSL headers do not match your library. Check config.log for details. @@ -2140,84 +2150,85 @@ Also see contrib/findssl.sh for help identifying header/library mismatches.]) AC_MSG_CHECKING([if programs using OpenSSL functions will link]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ SSLeay_add_all_algorithms(); ]])], + [AC_LANG_SOURCE([[ +#include +int main(void) { SSLeay_add_all_algorithms(); } + ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) saved_LIBS="$LIBS" LIBS="$LIBS -ldl" AC_MSG_CHECKING([if programs using OpenSSL need -ldl]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ #include ]], - [[ SSLeay_add_all_algorithms(); ]])], + [AC_LANG_SOURCE([[ +#include +int main(void) { SSLeay_add_all_algorithms(); } + ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) LIBS="$saved_LIBS" ] ) ] ) -AC_CHECK_FUNCS([RSA_generate_key_ex DSA_generate_parameters_ex BN_is_prime_ex RSA_get_default_method]) +AC_CHECK_FUNCS(RSA_generate_key_ex DSA_generate_parameters_ex BN_is_prime_ex RSA_get_default_method) -AC_ARG_WITH([ssl-engine], +AC_ARG_WITH(ssl-engine, [ --with-ssl-engine Enable OpenSSL (hardware) ENGINE support ], [ if test "x$withval" != "xno" ; then - AC_MSG_CHECKING([for OpenSSL ENGINE support]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include - ]], [[ - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); - ]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([USE_OPENSSL_ENGINE], [1], + AC_MSG_CHECKING(for OpenSSL ENGINE support) + AC_TRY_COMPILE( + [ #include ], + [ +ENGINE_load_builtin_engines();ENGINE_register_all_complete(); + ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(USE_OPENSSL_ENGINE, 1, [Enable OpenSSL engine support]) - ], [ AC_MSG_ERROR([OpenSSL ENGINE support not found]) - ]) + ], + [ AC_MSG_ERROR(OpenSSL ENGINE support not found)] + ) fi ] ) # Check for OpenSSL without EVP_aes_{192,256}_cbc AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL); +int main(void) { exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);} ]])], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) ], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([OPENSSL_LOBOTOMISED_AES], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(OPENSSL_LOBOTOMISED_AES, 1, [libcrypto is missing AES 192 and 256 bit functions]) ] ) AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - if(EVP_DigestUpdate(NULL, NULL,0)) - exit(0); +int main(void) { if(EVP_DigestUpdate(NULL, NULL,0)) exit(0); } ]])], [ - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) - AC_DEFINE([OPENSSL_EVP_DIGESTUPDATE_VOID], [1], + AC_MSG_RESULT(no) + AC_DEFINE(OPENSSL_EVP_DIGESTUPDATE_VOID, 1, [Define if EVP_DigestUpdate returns void]) ] ) @@ -2225,24 +2236,24 @@ AC_LINK_IFELSE( # Some systems want crypt() from libcrypt, *not* the version in OpenSSL, # because the system crypt() is more featureful. if test "x$check_for_libcrypt_before" = "x1"; then - AC_CHECK_LIB([crypt], [crypt]) + AC_CHECK_LIB(crypt, crypt) fi # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the # version in OpenSSL. if test "x$check_for_libcrypt_later" = "x1"; then - AC_CHECK_LIB([crypt], [crypt], [LIBS="$LIBS -lcrypt"]) + AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt") fi # Search for SHA256 support in libc and/or OpenSSL -AC_CHECK_FUNCS([SHA256_Update EVP_sha256], [TEST_SSH_SHA256=yes], +AC_CHECK_FUNCS(SHA256_Update EVP_sha256, [TEST_SSH_SHA256=yes], [TEST_SSH_SHA256=no]) -AC_SUBST([TEST_SSH_SHA256]) +AC_SUBST(TEST_SSH_SHA256) # Check complete ECC support in OpenSSL AC_MSG_CHECKING([whether OpenSSL has complete ECC support]) AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include #include @@ -2252,31 +2263,32 @@ AC_LINK_IFELSE( #if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ # error "OpenSSL < 0.9.8g has unreliable ECC code" #endif - ]], [[ +int main(void) { EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1); const EVP_MD *m = EVP_sha512(); /* We need this too */ +} ]])], [ - AC_MSG_RESULT([yes]) - AC_DEFINE([OPENSSL_HAS_ECC], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(OPENSSL_HAS_ECC, 1, [libcrypto includes complete ECC support]) TEST_SSH_ECC=yes COMMENT_OUT_ECC="" ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) TEST_SSH_ECC=no COMMENT_OUT_ECC="#no ecc#" ] ) -AC_SUBST([TEST_SSH_ECC]) -AC_SUBST([COMMENT_OUT_ECC]) +AC_SUBST(TEST_SSH_ECC) +AC_SUBST(COMMENT_OUT_ECC) saved_LIBS="$LIBS" -AC_CHECK_LIB([iaf], [ia_openinfo], [ +AC_CHECK_LIB(iaf, ia_openinfo, [ LIBS="$LIBS -liaf" - AC_CHECK_FUNCS([set_id], [SSHDLIBS="$SSHDLIBS -liaf" - AC_DEFINE([HAVE_LIBIAF], [1], + AC_CHECK_FUNCS(set_id, [SSHDLIBS="$SSHDLIBS -liaf" + AC_DEFINE(HAVE_LIBIAF, 1, [Define if system has libiaf that supports set_id]) ]) ]) @@ -2287,18 +2299,17 @@ LIBS="$saved_LIBS" # Check wheter OpenSSL seeds itself AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include #include - ]], [[ - exit(RAND_status() == 1 ? 0 : 1); +int main(void) { exit(RAND_status() == 1 ? 0 : 1); } ]])], [ OPENSSL_SEEDS_ITSELF=yes - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) # Default to use of the rand helper if OpenSSL doesn't # seed itself USE_RAND_HELPER=yes @@ -2313,7 +2324,7 @@ AC_RUN_IFELSE( # Check for PAM libs PAM_MSG="no" -AC_ARG_WITH([pam], +AC_ARG_WITH(pam, [ --with-pam Enable PAM support ], [ if test "x$withval" != "xno" ; then @@ -2323,16 +2334,16 @@ AC_ARG_WITH([pam], fi saved_LIBS="$LIBS" - AC_CHECK_LIB([dl], [dlopen], , ) - AC_CHECK_LIB([pam], [pam_set_item], , [AC_MSG_ERROR([*** libpam missing])]) - AC_CHECK_FUNCS([pam_getenvlist]) - AC_CHECK_FUNCS([pam_putenv]) + AC_CHECK_LIB(dl, dlopen, , ) + AC_CHECK_LIB(pam, pam_set_item, , AC_MSG_ERROR([*** libpam missing])) + AC_CHECK_FUNCS(pam_getenvlist) + AC_CHECK_FUNCS(pam_putenv) LIBS="$saved_LIBS" PAM_MSG="yes" SSHDLIBS="$SSHDLIBS -lpam" - AC_DEFINE([USE_PAM], [1], + AC_DEFINE(USE_PAM, 1, [Define if you want to enable PAM support]) if test $ac_cv_lib_dl_dlopen = yes; then @@ -2353,27 +2364,29 @@ AC_ARG_WITH([pam], if test "x$PAM_MSG" = "xyes" ; then # Check PAM strerror arguments (old PAM) AC_MSG_CHECKING([whether pam_strerror takes only one argument]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #if defined(HAVE_SECURITY_PAM_APPL_H) #include #elif defined (HAVE_PAM_PAM_APPL_H) #include #endif - ]], [[ -(void)pam_strerror((pam_handle_t *)NULL, -1); - ]])], [AC_MSG_RESULT([no])], [ - AC_DEFINE([HAVE_OLD_PAM], [1], + ], + [(void)pam_strerror((pam_handle_t *)NULL, -1);], + [AC_MSG_RESULT(no)], + [ + AC_DEFINE(HAVE_OLD_PAM, 1, [Define if you have an old version of PAM which takes only one argument to pam_strerror]) - AC_MSG_RESULT([yes]) + AC_MSG_RESULT(yes) PAM_MSG="yes (old library)" - - ]) + ] + ) fi # Do we want to force the use of the rand helper? -AC_ARG_WITH([rand-helper], +AC_ARG_WITH(rand-helper, [ --with-rand-helper Use subprocess to gather strong randomness ], [ if test "x$withval" = "xno" ; then @@ -2393,7 +2406,7 @@ AC_ARG_WITH([rand-helper], # Which randomness source do we use? if test ! -z "$OPENSSL_SEEDS_ITSELF" && test -z "$USE_RAND_HELPER" ; then # OpenSSL only - AC_DEFINE([OPENSSL_PRNG_ONLY], [1], + AC_DEFINE(OPENSSL_PRNG_ONLY, 1, [Define if you want OpenSSL's internally seeded PRNG only]) RAND_MSG="OpenSSL internal ONLY" INSTALL_SSH_RAND_HELPER="" @@ -2402,12 +2415,12 @@ elif test ! -z "$USE_RAND_HELPER" ; then RAND_MSG="ssh-rand-helper" INSTALL_SSH_RAND_HELPER="yes" fi -AC_SUBST([INSTALL_SSH_RAND_HELPER]) +AC_SUBST(INSTALL_SSH_RAND_HELPER) ### Configuration of ssh-rand-helper # PRNGD TCP socket -AC_ARG_WITH([prngd-port], +AC_ARG_WITH(prngd-port, [ --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT], [ case "$withval" in @@ -2417,19 +2430,19 @@ AC_ARG_WITH([prngd-port], [[0-9]]*) ;; *) - AC_MSG_ERROR([You must specify a numeric port number for --with-prngd-port]) + AC_MSG_ERROR(You must specify a numeric port number for --with-prngd-port) ;; esac if test ! -z "$withval" ; then PRNGD_PORT="$withval" - AC_DEFINE_UNQUOTED([PRNGD_PORT], [$PRNGD_PORT], + AC_DEFINE_UNQUOTED(PRNGD_PORT, $PRNGD_PORT, [Port number of PRNGD/EGD random number socket]) fi ] ) # PRNGD Unix domain socket -AC_ARG_WITH([prngd-socket], +AC_ARG_WITH(prngd-socket, [ --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)], [ case "$withval" in @@ -2442,38 +2455,38 @@ AC_ARG_WITH([prngd-socket], /*) ;; *) - AC_MSG_ERROR([You must specify an absolute path to the entropy socket]) + AC_MSG_ERROR(You must specify an absolute path to the entropy socket) ;; esac if test ! -z "$withval" ; then if test ! -z "$PRNGD_PORT" ; then - AC_MSG_ERROR([You may not specify both a PRNGD/EGD port and socket]) + AC_MSG_ERROR(You may not specify both a PRNGD/EGD port and socket) fi if test ! -r "$withval" ; then - AC_MSG_WARN([Entropy socket is not readable]) + AC_MSG_WARN(Entropy socket is not readable) fi PRNGD_SOCKET="$withval" - AC_DEFINE_UNQUOTED([PRNGD_SOCKET], ["$PRNGD_SOCKET"], + AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET", [Location of PRNGD/EGD random number socket]) fi ], [ # Check for existing socket only if we don't have a random device already if test "$USE_RAND_HELPER" = yes ; then - AC_MSG_CHECKING([for PRNGD/EGD socket]) + AC_MSG_CHECKING(for PRNGD/EGD socket) # Insert other locations here for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then PRNGD_SOCKET="$sock" - AC_DEFINE_UNQUOTED([PRNGD_SOCKET], ["$PRNGD_SOCKET"]) + AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET") break; fi done if test ! -z "$PRNGD_SOCKET" ; then - AC_MSG_RESULT([$PRNGD_SOCKET]) + AC_MSG_RESULT($PRNGD_SOCKET) else - AC_MSG_RESULT([not found]) + AC_MSG_RESULT(not found) fi fi ] @@ -2481,7 +2494,7 @@ AC_ARG_WITH([prngd-socket], # Change default command timeout for hashing entropy source entropy_timeout=200 -AC_ARG_WITH([entropy-timeout], +AC_ARG_WITH(entropy-timeout, [ --with-entropy-timeout Specify entropy gathering command timeout (msec)], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -2490,11 +2503,11 @@ AC_ARG_WITH([entropy-timeout], fi ] ) -AC_DEFINE_UNQUOTED([ENTROPY_TIMEOUT_MSEC], [$entropy_timeout], +AC_DEFINE_UNQUOTED(ENTROPY_TIMEOUT_MSEC, $entropy_timeout, [Builtin PRNG command timeout]) SSH_PRIVSEP_USER=sshd -AC_ARG_WITH([privsep-user], +AC_ARG_WITH(privsep-user, [ --with-privsep-user=user Specify non-privileged user for privilege separation], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -2503,9 +2516,9 @@ AC_ARG_WITH([privsep-user], fi ] ) -AC_DEFINE_UNQUOTED([SSH_PRIVSEP_USER], ["$SSH_PRIVSEP_USER"], +AC_DEFINE_UNQUOTED(SSH_PRIVSEP_USER, "$SSH_PRIVSEP_USER", [non-privileged user for privilege separation]) -AC_SUBST([SSH_PRIVSEP_USER]) +AC_SUBST(SSH_PRIVSEP_USER) # We do this little dance with the search path to insure # that programs that we select for use by installed programs @@ -2522,22 +2535,22 @@ test -d /usr/sbin && PATH=$PATH:/usr/sbin PATH=$PATH:/etc:$OPATH # These programs are used by the command hashing source to gather entropy -OSSH_PATH_ENTROPY_PROG([PROG_LS], [ls]) -OSSH_PATH_ENTROPY_PROG([PROG_NETSTAT], [netstat]) -OSSH_PATH_ENTROPY_PROG([PROG_ARP], [arp]) -OSSH_PATH_ENTROPY_PROG([PROG_IFCONFIG], [ifconfig]) -OSSH_PATH_ENTROPY_PROG([PROG_JSTAT], [jstat]) -OSSH_PATH_ENTROPY_PROG([PROG_PS], [ps]) -OSSH_PATH_ENTROPY_PROG([PROG_SAR], [sar]) -OSSH_PATH_ENTROPY_PROG([PROG_W], [w]) -OSSH_PATH_ENTROPY_PROG([PROG_WHO], [who]) -OSSH_PATH_ENTROPY_PROG([PROG_LAST], [last]) -OSSH_PATH_ENTROPY_PROG([PROG_LASTLOG], [lastlog]) -OSSH_PATH_ENTROPY_PROG([PROG_DF], [df]) -OSSH_PATH_ENTROPY_PROG([PROG_VMSTAT], [vmstat]) -OSSH_PATH_ENTROPY_PROG([PROG_UPTIME], [uptime]) -OSSH_PATH_ENTROPY_PROG([PROG_IPCS], [ipcs]) -OSSH_PATH_ENTROPY_PROG([PROG_TAIL], [tail]) +OSSH_PATH_ENTROPY_PROG(PROG_LS, ls) +OSSH_PATH_ENTROPY_PROG(PROG_NETSTAT, netstat) +OSSH_PATH_ENTROPY_PROG(PROG_ARP, arp) +OSSH_PATH_ENTROPY_PROG(PROG_IFCONFIG, ifconfig) +OSSH_PATH_ENTROPY_PROG(PROG_JSTAT, jstat) +OSSH_PATH_ENTROPY_PROG(PROG_PS, ps) +OSSH_PATH_ENTROPY_PROG(PROG_SAR, sar) +OSSH_PATH_ENTROPY_PROG(PROG_W, w) +OSSH_PATH_ENTROPY_PROG(PROG_WHO, who) +OSSH_PATH_ENTROPY_PROG(PROG_LAST, last) +OSSH_PATH_ENTROPY_PROG(PROG_LASTLOG, lastlog) +OSSH_PATH_ENTROPY_PROG(PROG_DF, df) +OSSH_PATH_ENTROPY_PROG(PROG_VMSTAT, vmstat) +OSSH_PATH_ENTROPY_PROG(PROG_UPTIME, uptime) +OSSH_PATH_ENTROPY_PROG(PROG_IPCS, ipcs) +OSSH_PATH_ENTROPY_PROG(PROG_TAIL, tail) # restore PATH PATH=$OPATH @@ -2554,7 +2567,7 @@ if test ! -z "$INSTALL_SSH_RAND_HELPER" ; then INSTALL_SSH_PRNG_CMDS="yes" fi fi -AC_SUBST([INSTALL_SSH_PRNG_CMDS]) +AC_SUBST(INSTALL_SSH_PRNG_CMDS) # Cheap hack to ensure NEWS-OS libraries are arranged right. @@ -2566,11 +2579,11 @@ fi AC_CHECK_TYPES([long long, unsigned long long, long double]) # Check datatype sizes -AC_CHECK_SIZEOF([char], [1]) -AC_CHECK_SIZEOF([short int], [2]) -AC_CHECK_SIZEOF([int], [4]) -AC_CHECK_SIZEOF([long int], [4]) -AC_CHECK_SIZEOF([long long int], [8]) +AC_CHECK_SIZEOF(char, 1) +AC_CHECK_SIZEOF(short int, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long int, 4) +AC_CHECK_SIZEOF(long long int, 8) # Sanity check long long for some platforms (AIX) if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then @@ -2581,7 +2594,7 @@ fi if test -z "$have_llong_max"; then AC_MSG_CHECKING([for max value of long long]) AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ #include /* Why is this so damn hard? */ #ifdef __GNUC__ @@ -2617,7 +2630,8 @@ fprint_ll(FILE *f, long long n) return -1; return 0; } - ]], [[ + +int main(void) { FILE *f; long long i, llmin, llmax = 0; @@ -2651,21 +2665,22 @@ fprint_ll(FILE *f, long long n) if (fclose(f) < 0) exit(5); exit(0); +} ]])], [ llong_min=`$AWK '{print $1}' conftest.llminmax` llong_max=`$AWK '{print $2}' conftest.llminmax` - AC_MSG_RESULT([$llong_max]) - AC_DEFINE_UNQUOTED([LLONG_MAX], [${llong_max}LL], + AC_MSG_RESULT($llong_max) + AC_DEFINE_UNQUOTED(LLONG_MAX, [${llong_max}LL], [max value of long long calculated by configure]) AC_MSG_CHECKING([for min value of long long]) - AC_MSG_RESULT([$llong_min]) - AC_DEFINE_UNQUOTED([LLONG_MIN], [${llong_min}LL], + AC_MSG_RESULT($llong_min) + AC_DEFINE_UNQUOTED(LLONG_MIN, [${llong_min}LL], [min value of long long calculated by configure]) ], [ - AC_MSG_RESULT([not found]) + AC_MSG_RESULT(not found) ], [ AC_MSG_WARN([cross compiling: not checking]) @@ -2676,24 +2691,28 @@ fi # More checks for data types AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_int a; a = 1;]])], - [ ac_cv_have_u_int="yes" ], [ ac_cv_have_u_int="no" - ]) + AC_TRY_COMPILE( + [ #include ], + [ u_int a; a = 1;], + [ ac_cv_have_u_int="yes" ], + [ ac_cv_have_u_int="no" ] + ) ]) if test "x$ac_cv_have_u_int" = "xyes" ; then - AC_DEFINE([HAVE_U_INT], [1], [define if you have u_int data type]) + AC_DEFINE(HAVE_U_INT, 1, [define if you have u_int data type]) have_u_int=1 fi AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ int8_t a; int16_t b; int32_t c; a = b = c = 1;]])], - [ ac_cv_have_intxx_t="yes" ], [ ac_cv_have_intxx_t="no" - ]) + AC_TRY_COMPILE( + [ #include ], + [ int8_t a; int16_t b; int32_t c; a = b = c = 1;], + [ ac_cv_have_intxx_t="yes" ], + [ ac_cv_have_intxx_t="no" ] + ) ]) if test "x$ac_cv_have_intxx_t" = "xyes" ; then - AC_DEFINE([HAVE_INTXX_T], [1], [define if you have intxx_t data type]) + AC_DEFINE(HAVE_INTXX_T, 1, [define if you have intxx_t data type]) have_intxx_t=1 fi @@ -2701,17 +2720,20 @@ if (test -z "$have_intxx_t" && \ test "x$ac_cv_header_stdint_h" = "xyes") then AC_MSG_CHECKING([for intXX_t types in stdint.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ int8_t a; int16_t b; int32_t c; a = b = c = 1;]])], + AC_TRY_COMPILE( + [ #include ], + [ int8_t a; int16_t b; int32_t c; a = b = c = 1;], [ - AC_DEFINE([HAVE_INTXX_T]) - AC_MSG_RESULT([yes]) - ], [ AC_MSG_RESULT([no]) - ]) + AC_DEFINE(HAVE_INTXX_T) + AC_MSG_RESULT(yes) + ], + [ AC_MSG_RESULT(no) ] + ) fi AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #ifdef HAVE_STDINT_H # include @@ -2720,124 +2742,139 @@ AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [ #ifdef HAVE_SYS_BITYPES_H # include #endif - ]], [[ -int64_t a; a = 1; - ]])], - [ ac_cv_have_int64_t="yes" ], [ ac_cv_have_int64_t="no" - ]) + ], + [ int64_t a; a = 1;], + [ ac_cv_have_int64_t="yes" ], + [ ac_cv_have_int64_t="no" ] + ) ]) if test "x$ac_cv_have_int64_t" = "xyes" ; then - AC_DEFINE([HAVE_INT64_T], [1], [define if you have int64_t data type]) + AC_DEFINE(HAVE_INT64_T, 1, [define if you have int64_t data type]) fi AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;]])], - [ ac_cv_have_u_intxx_t="yes" ], [ ac_cv_have_u_intxx_t="no" - ]) + AC_TRY_COMPILE( + [ #include ], + [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;], + [ ac_cv_have_u_intxx_t="yes" ], + [ ac_cv_have_u_intxx_t="no" ] + ) ]) if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then - AC_DEFINE([HAVE_U_INTXX_T], [1], [define if you have u_intxx_t data type]) + AC_DEFINE(HAVE_U_INTXX_T, 1, [define if you have u_intxx_t data type]) have_u_intxx_t=1 fi if test -z "$have_u_intxx_t" ; then AC_MSG_CHECKING([for u_intXX_t types in sys/socket.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;]])], + AC_TRY_COMPILE( + [ #include ], + [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;], [ - AC_DEFINE([HAVE_U_INTXX_T]) - AC_MSG_RESULT([yes]) - ], [ AC_MSG_RESULT([no]) - ]) + AC_DEFINE(HAVE_U_INTXX_T) + AC_MSG_RESULT(yes) + ], + [ AC_MSG_RESULT(no) ] + ) fi AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_int64_t a; a = 1;]])], - [ ac_cv_have_u_int64_t="yes" ], [ ac_cv_have_u_int64_t="no" - ]) + AC_TRY_COMPILE( + [ #include ], + [ u_int64_t a; a = 1;], + [ ac_cv_have_u_int64_t="yes" ], + [ ac_cv_have_u_int64_t="no" ] + ) ]) if test "x$ac_cv_have_u_int64_t" = "xyes" ; then - AC_DEFINE([HAVE_U_INT64_T], [1], [define if you have u_int64_t data type]) + AC_DEFINE(HAVE_U_INT64_T, 1, [define if you have u_int64_t data type]) have_u_int64_t=1 fi if test -z "$have_u_int64_t" ; then AC_MSG_CHECKING([for u_int64_t type in sys/bitypes.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_int64_t a; a = 1]])], + AC_TRY_COMPILE( + [ #include ], + [ u_int64_t a; a = 1], [ - AC_DEFINE([HAVE_U_INT64_T]) - AC_MSG_RESULT([yes]) - ], [ AC_MSG_RESULT([no]) - ]) + AC_DEFINE(HAVE_U_INT64_T) + AC_MSG_RESULT(yes) + ], + [ AC_MSG_RESULT(no) ] + ) fi if test -z "$have_u_intxx_t" ; then AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include - ]], [[ - uint8_t a; - uint16_t b; - uint32_t c; - a = b = c = 1; - ]])], - [ ac_cv_have_uintxx_t="yes" ], [ ac_cv_have_uintxx_t="no" - ]) + ], + [ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1; ], + [ ac_cv_have_uintxx_t="yes" ], + [ ac_cv_have_uintxx_t="no" ] + ) ]) if test "x$ac_cv_have_uintxx_t" = "xyes" ; then - AC_DEFINE([HAVE_UINTXX_T], [1], + AC_DEFINE(HAVE_UINTXX_T, 1, [define if you have uintxx_t data type]) fi fi if test -z "$have_uintxx_t" ; then AC_MSG_CHECKING([for uintXX_t types in stdint.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;]])], + AC_TRY_COMPILE( + [ #include ], + [ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;], [ - AC_DEFINE([HAVE_UINTXX_T]) - AC_MSG_RESULT([yes]) - ], [ AC_MSG_RESULT([no]) - ]) + AC_DEFINE(HAVE_UINTXX_T) + AC_MSG_RESULT(yes) + ], + [ AC_MSG_RESULT(no) ] + ) fi if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \ test "x$ac_cv_header_sys_bitypes_h" = "xyes") then AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include - ]], [[ + ], + [ int8_t a; int16_t b; int32_t c; u_int8_t e; u_int16_t f; u_int32_t g; a = b = c = e = f = g = 1; - ]])], + ], [ - AC_DEFINE([HAVE_U_INTXX_T]) - AC_DEFINE([HAVE_INTXX_T]) - AC_MSG_RESULT([yes]) - ], [AC_MSG_RESULT([no]) - ]) + AC_DEFINE(HAVE_U_INTXX_T) + AC_DEFINE(HAVE_INTXX_T) + AC_MSG_RESULT(yes) + ], + [AC_MSG_RESULT(no)] + ) fi AC_CACHE_CHECK([for u_char], ac_cv_have_u_char, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ u_char foo; foo = 125; ]])], - [ ac_cv_have_u_char="yes" ], [ ac_cv_have_u_char="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ u_char foo; foo = 125; ], + [ ac_cv_have_u_char="yes" ], + [ ac_cv_have_u_char="no" ] + ) ]) if test "x$ac_cv_have_u_char" = "xyes" ; then - AC_DEFINE([HAVE_U_CHAR], [1], [define if you have u_char data type]) + AC_DEFINE(HAVE_U_CHAR, 1, [define if you have u_char data type]) fi TYPE_SOCKLEN_T -AC_CHECK_TYPES([sig_atomic_t], , , [#include ]) -AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [ +AC_CHECK_TYPES(sig_atomic_t,,,[#include ]) +AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t],,,[ #include #ifdef HAVE_SYS_BITYPES_H #include @@ -2850,125 +2887,156 @@ AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [ #endif ]) -AC_CHECK_TYPES([in_addr_t, in_port_t], , , +AC_CHECK_TYPES([in_addr_t, in_port_t],,, [#include #include ]) AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ size_t foo; foo = 1235; ]])], - [ ac_cv_have_size_t="yes" ], [ ac_cv_have_size_t="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ size_t foo; foo = 1235; ], + [ ac_cv_have_size_t="yes" ], + [ ac_cv_have_size_t="no" ] + ) ]) if test "x$ac_cv_have_size_t" = "xyes" ; then - AC_DEFINE([HAVE_SIZE_T], [1], [define if you have size_t data type]) + AC_DEFINE(HAVE_SIZE_T, 1, [define if you have size_t data type]) fi AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ ssize_t foo; foo = 1235; ]])], - [ ac_cv_have_ssize_t="yes" ], [ ac_cv_have_ssize_t="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ ssize_t foo; foo = 1235; ], + [ ac_cv_have_ssize_t="yes" ], + [ ac_cv_have_ssize_t="no" ] + ) ]) if test "x$ac_cv_have_ssize_t" = "xyes" ; then - AC_DEFINE([HAVE_SSIZE_T], [1], [define if you have ssize_t data type]) + AC_DEFINE(HAVE_SSIZE_T, 1, [define if you have ssize_t data type]) fi AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ clock_t foo; foo = 1235; ]])], - [ ac_cv_have_clock_t="yes" ], [ ac_cv_have_clock_t="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ clock_t foo; foo = 1235; ], + [ ac_cv_have_clock_t="yes" ], + [ ac_cv_have_clock_t="no" ] + ) ]) if test "x$ac_cv_have_clock_t" = "xyes" ; then - AC_DEFINE([HAVE_CLOCK_T], [1], [define if you have clock_t data type]) + AC_DEFINE(HAVE_CLOCK_T, 1, [define if you have clock_t data type]) fi AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ sa_family_t foo; foo = 1235; ]])], - [ ac_cv_have_sa_family_t="yes" ], - [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + ], + [ sa_family_t foo; foo = 1235; ], + [ ac_cv_have_sa_family_t="yes" ], + [ AC_TRY_COMPILE( + [ #include #include #include - ]], [[ sa_family_t foo; foo = 1235; ]])], + ], + [ sa_family_t foo; foo = 1235; ], [ ac_cv_have_sa_family_t="yes" ], + [ ac_cv_have_sa_family_t="no" ] + )] ) - ]) ]) if test "x$ac_cv_have_sa_family_t" = "xyes" ; then - AC_DEFINE([HAVE_SA_FAMILY_T], [1], + AC_DEFINE(HAVE_SA_FAMILY_T, 1, [define if you have sa_family_t data type]) fi AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ pid_t foo; foo = 1235; ]])], - [ ac_cv_have_pid_t="yes" ], [ ac_cv_have_pid_t="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ pid_t foo; foo = 1235; ], + [ ac_cv_have_pid_t="yes" ], + [ ac_cv_have_pid_t="no" ] + ) ]) if test "x$ac_cv_have_pid_t" = "xyes" ; then - AC_DEFINE([HAVE_PID_T], [1], [define if you have pid_t data type]) + AC_DEFINE(HAVE_PID_T, 1, [define if you have pid_t data type]) fi AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ mode_t foo; foo = 1235; ]])], - [ ac_cv_have_mode_t="yes" ], [ ac_cv_have_mode_t="no" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ mode_t foo; foo = 1235; ], + [ ac_cv_have_mode_t="yes" ], + [ ac_cv_have_mode_t="no" ] + ) ]) if test "x$ac_cv_have_mode_t" = "xyes" ; then - AC_DEFINE([HAVE_MODE_T], [1], [define if you have mode_t data type]) + AC_DEFINE(HAVE_MODE_T, 1, [define if you have mode_t data type]) fi AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ struct sockaddr_storage s; ]])], - [ ac_cv_have_struct_sockaddr_storage="yes" ], - [ ac_cv_have_struct_sockaddr_storage="no" - ]) + ], + [ struct sockaddr_storage s; ], + [ ac_cv_have_struct_sockaddr_storage="yes" ], + [ ac_cv_have_struct_sockaddr_storage="no" ] + ) ]) if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then - AC_DEFINE([HAVE_STRUCT_SOCKADDR_STORAGE], [1], + AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, [define if you have struct sockaddr_storage data type]) fi AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ struct sockaddr_in6 s; s.sin6_family = 0; ]])], - [ ac_cv_have_struct_sockaddr_in6="yes" ], - [ ac_cv_have_struct_sockaddr_in6="no" - ]) + ], + [ struct sockaddr_in6 s; s.sin6_family = 0; ], + [ ac_cv_have_struct_sockaddr_in6="yes" ], + [ ac_cv_have_struct_sockaddr_in6="no" ] + ) ]) if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then - AC_DEFINE([HAVE_STRUCT_SOCKADDR_IN6], [1], + AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6, 1, [define if you have struct sockaddr_in6 data type]) fi AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ struct in6_addr s; s.s6_addr[0] = 0; ]])], - [ ac_cv_have_struct_in6_addr="yes" ], - [ ac_cv_have_struct_in6_addr="no" - ]) + ], + [ struct in6_addr s; s.s6_addr[0] = 0; ], + [ ac_cv_have_struct_in6_addr="yes" ], + [ ac_cv_have_struct_in6_addr="no" ] + ) ]) if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then - AC_DEFINE([HAVE_STRUCT_IN6_ADDR], [1], + AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1, [define if you have struct in6_addr data type]) dnl Now check for sin6_scope_id - AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], , , + AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,, [ #ifdef HAVE_SYS_TYPES_H #include @@ -2978,33 +3046,36 @@ dnl Now check for sin6_scope_id fi AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include #include - ]], [[ struct addrinfo s; s.ai_flags = AI_PASSIVE; ]])], - [ ac_cv_have_struct_addrinfo="yes" ], - [ ac_cv_have_struct_addrinfo="no" - ]) + ], + [ struct addrinfo s; s.ai_flags = AI_PASSIVE; ], + [ ac_cv_have_struct_addrinfo="yes" ], + [ ac_cv_have_struct_addrinfo="no" ] + ) ]) if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then - AC_DEFINE([HAVE_STRUCT_ADDRINFO], [1], + AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, [define if you have struct addrinfo data type]) fi AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ struct timeval tv; tv.tv_sec = 1;]])], - [ ac_cv_have_struct_timeval="yes" ], - [ ac_cv_have_struct_timeval="no" - ]) + AC_TRY_COMPILE( + [ #include ], + [ struct timeval tv; tv.tv_sec = 1;], + [ ac_cv_have_struct_timeval="yes" ], + [ ac_cv_have_struct_timeval="no" ] + ) ]) if test "x$ac_cv_have_struct_timeval" = "xyes" ; then - AC_DEFINE([HAVE_STRUCT_TIMEVAL], [1], [define if you have struct timeval]) + AC_DEFINE(HAVE_STRUCT_TIMEVAL, 1, [define if you have struct timeval]) have_struct_timeval=1 fi -AC_CHECK_TYPES([struct timespec]) +AC_CHECK_TYPES(struct timespec) # We need int64_t or else certian parts of the compile will fail. if test "x$ac_cv_have_int64_t" = "xno" && \ @@ -3040,32 +3111,32 @@ main() #else main() { exit(0); } #endif - ]])], [ true ], [ AC_DEFINE([BROKEN_SNPRINTF]) ], + ]])], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ], AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ) fi dnl Checks for structure members -OSSH_CHECK_HEADER_FOR_FIELD([ut_host], [utmp.h], [HAVE_HOST_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_host], [utmpx.h], [HAVE_HOST_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([syslen], [utmpx.h], [HAVE_SYSLEN_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_pid], [utmp.h], [HAVE_PID_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_type], [utmp.h], [HAVE_TYPE_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_type], [utmpx.h], [HAVE_TYPE_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmp.h], [HAVE_TV_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_id], [utmp.h], [HAVE_ID_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_id], [utmpx.h], [HAVE_ID_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_addr], [utmp.h], [HAVE_ADDR_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_addr], [utmpx.h], [HAVE_ADDR_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_addr_v6], [utmp.h], [HAVE_ADDR_V6_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_addr_v6], [utmpx.h], [HAVE_ADDR_V6_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_exit], [utmp.h], [HAVE_EXIT_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX]) -OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) +OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmpx.h, HAVE_HOST_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(syslen, utmpx.h, HAVE_SYSLEN_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_pid, utmp.h, HAVE_PID_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmp.h, HAVE_TYPE_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmpx.h, HAVE_TYPE_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmp.h, HAVE_TV_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmp.h, HAVE_ID_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmpx.h, HAVE_ID_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmp.h, HAVE_ADDR_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmpx.h, HAVE_ADDR_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_addr_v6, utmp.h, HAVE_ADDR_V6_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_addr_v6, utmpx.h, HAVE_ADDR_V6_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_exit, utmp.h, HAVE_EXIT_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmp.h, HAVE_TIME_IN_UTMP) +OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX) +OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX) AC_CHECK_MEMBERS([struct stat.st_blksize]) -AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [state], +AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE(__res_state, state, [Define if we don't have struct __res_state in resolv.h])], [ #include @@ -3079,79 +3150,94 @@ AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [sta AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], ac_cv_have_ss_family_in_struct_ss, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ struct sockaddr_storage s; s.ss_family = 1; ]])], - [ ac_cv_have_ss_family_in_struct_ss="yes" ], - [ ac_cv_have_ss_family_in_struct_ss="no" ]) + ], + [ struct sockaddr_storage s; s.ss_family = 1; ], + [ ac_cv_have_ss_family_in_struct_ss="yes" ], + [ ac_cv_have_ss_family_in_struct_ss="no" ], + ) ]) if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then - AC_DEFINE([HAVE_SS_FAMILY_IN_SS], [1], [Fields in struct sockaddr_storage]) + AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Fields in struct sockaddr_storage]) fi AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], ac_cv_have___ss_family_in_struct_ss, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include - ]], [[ struct sockaddr_storage s; s.__ss_family = 1; ]])], - [ ac_cv_have___ss_family_in_struct_ss="yes" ], - [ ac_cv_have___ss_family_in_struct_ss="no" - ]) + ], + [ struct sockaddr_storage s; s.__ss_family = 1; ], + [ ac_cv_have___ss_family_in_struct_ss="yes" ], + [ ac_cv_have___ss_family_in_struct_ss="no" ] + ) ]) if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then - AC_DEFINE([HAVE___SS_FAMILY_IN_SS], [1], + AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, [Fields in struct sockaddr_storage]) fi AC_CACHE_CHECK([for pw_class field in struct passwd], ac_cv_have_pw_class_in_struct_passwd, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ 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" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ 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" ] + ) ]) if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then - AC_DEFINE([HAVE_PW_CLASS_IN_PASSWD], [1], + AC_DEFINE(HAVE_PW_CLASS_IN_PASSWD, 1, [Define if your password has a pw_class field]) fi AC_CACHE_CHECK([for pw_expire field in struct passwd], ac_cv_have_pw_expire_in_struct_passwd, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ 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" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ 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], [1], + AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD, 1, [Define if your password has a pw_expire field]) fi AC_CACHE_CHECK([for pw_change field in struct passwd], ac_cv_have_pw_change_in_struct_passwd, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ 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" - ]) + AC_TRY_COMPILE( + [ +#include + ], + [ 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], [1], + AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD, 1, [Define if your password has a pw_change field]) fi dnl make sure we're using the real structure members and not defines AC_CACHE_CHECK([for msg_accrights field in struct msghdr], ac_cv_have_accrights_in_msghdr, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_COMPILE_IFELSE( + [ #include #include #include - ]], [[ +int main() { #ifdef msg_accrights #error "msg_accrights is a macro" exit(1); @@ -3159,19 +3245,20 @@ exit(1); struct msghdr m; m.msg_accrights = 0; exit(0); - ]])], +} + ], [ ac_cv_have_accrights_in_msghdr="yes" ], [ ac_cv_have_accrights_in_msghdr="no" ] ) ]) if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then - AC_DEFINE([HAVE_ACCRIGHTS_IN_MSGHDR], [1], + AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR, 1, [Define if your system uses access rights style file descriptor passing]) fi -AC_MSG_CHECKING([if struct statvfs.f_fsid is integral type]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_MSG_CHECKING(if struct statvfs.f_fsid is integral type) +AC_TRY_COMPILE([ #include #include #ifdef HAVE_SYS_TIME_H @@ -3183,36 +3270,37 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_SYS_STATVFS_H #include #endif - ]], [[ struct statvfs s; s.f_fsid = 0; ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) +], [struct statvfs s; s.f_fsid = 0;], +[ AC_MSG_RESULT(yes) ], +[ AC_MSG_RESULT(no) - AC_MSG_CHECKING([if fsid_t has member val]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_MSG_CHECKING(if fsid_t has member val) + AC_TRY_COMPILE([ #include -#include - ]], [[ fsid_t t; t.val[0] = 0; ]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([FSID_HAS_VAL], [1], [fsid_t has member val]) ], - [ AC_MSG_RESULT([no]) ]) - - AC_MSG_CHECKING([if f_fsid has member __val]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include ], + [fsid_t t; t.val[0] = 0;], + [ AC_MSG_RESULT(yes) + AC_DEFINE(FSID_HAS_VAL, 1, fsid_t has member val) ], + [ AC_MSG_RESULT(no) ]) + + AC_MSG_CHECKING(if f_fsid has member __val) + AC_TRY_COMPILE([ #include -#include - ]], [[ fsid_t t; t.__val[0] = 0; ]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([FSID_HAS___VAL], [1], [fsid_t has member __val]) ], - [ AC_MSG_RESULT([no]) ]) +#include ], + [fsid_t t; t.__val[0] = 0;], + [ AC_MSG_RESULT(yes) + AC_DEFINE(FSID_HAS___VAL, 1, fsid_t has member __val) ], + [ AC_MSG_RESULT(no) ]) ]) AC_CACHE_CHECK([for msg_control field in struct msghdr], ac_cv_have_control_in_msghdr, [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_COMPILE_IFELSE( + [ #include #include #include - ]], [[ +int main() { #ifdef msg_control #error "msg_control is a macro" exit(1); @@ -3220,161 +3308,178 @@ exit(1); struct msghdr m; m.msg_control = 0; exit(0); - ]])], +} + ], [ ac_cv_have_control_in_msghdr="yes" ], [ ac_cv_have_control_in_msghdr="no" ] ) ]) if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then - AC_DEFINE([HAVE_CONTROL_IN_MSGHDR], [1], + AC_DEFINE(HAVE_CONTROL_IN_MSGHDR, 1, [Define if your system uses ancillary data style file descriptor passing]) fi AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], - [[ extern char *__progname; printf("%s", __progname); ]])], - [ ac_cv_libc_defines___progname="yes" ], - [ ac_cv_libc_defines___progname="no" - ]) + AC_TRY_LINK([], + [ extern char *__progname; printf("%s", __progname); ], + [ ac_cv_libc_defines___progname="yes" ], + [ ac_cv_libc_defines___progname="no" ] + ) ]) if test "x$ac_cv_libc_defines___progname" = "xyes" ; then - AC_DEFINE([HAVE___PROGNAME], [1], [Define if libc defines __progname]) + AC_DEFINE(HAVE___PROGNAME, 1, [Define if libc defines __progname]) fi AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ printf("%s", __FUNCTION__); ]])], - [ ac_cv_cc_implements___FUNCTION__="yes" ], - [ ac_cv_cc_implements___FUNCTION__="no" - ]) + AC_TRY_LINK([ +#include +], + [ printf("%s", __FUNCTION__); ], + [ ac_cv_cc_implements___FUNCTION__="yes" ], + [ ac_cv_cc_implements___FUNCTION__="no" ] + ) ]) if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then - AC_DEFINE([HAVE___FUNCTION__], [1], + AC_DEFINE(HAVE___FUNCTION__, 1, [Define if compiler implements __FUNCTION__]) fi AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ printf("%s", __func__); ]])], - [ ac_cv_cc_implements___func__="yes" ], - [ ac_cv_cc_implements___func__="no" - ]) + AC_TRY_LINK([ +#include +], + [ printf("%s", __func__); ], + [ ac_cv_cc_implements___func__="yes" ], + [ ac_cv_cc_implements___func__="no" ] + ) ]) if test "x$ac_cv_cc_implements___func__" = "xyes" ; then - AC_DEFINE([HAVE___func__], [1], [Define if compiler implements __func__]) + AC_DEFINE(HAVE___func__, 1, [Define if compiler implements __func__]) fi AC_CACHE_CHECK([whether va_copy exists], ac_cv_have_va_copy, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -va_list x,y; - ]], [[ va_copy(x,y); ]])], - [ ac_cv_have_va_copy="yes" ], - [ ac_cv_have_va_copy="no" - ]) + AC_TRY_LINK( + [#include + va_list x,y;], + [va_copy(x,y);], + [ ac_cv_have_va_copy="yes" ], + [ ac_cv_have_va_copy="no" ] + ) ]) if test "x$ac_cv_have_va_copy" = "xyes" ; then - AC_DEFINE([HAVE_VA_COPY], [1], [Define if va_copy exists]) + AC_DEFINE(HAVE_VA_COPY, 1, [Define if va_copy exists]) fi AC_CACHE_CHECK([whether __va_copy exists], ac_cv_have___va_copy, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -#include -va_list x,y; - ]], [[ __va_copy(x,y); ]])], - [ ac_cv_have___va_copy="yes" ], [ ac_cv_have___va_copy="no" - ]) + AC_TRY_LINK( + [#include + va_list x,y;], + [__va_copy(x,y);], + [ ac_cv_have___va_copy="yes" ], + [ ac_cv_have___va_copy="no" ] + ) ]) if test "x$ac_cv_have___va_copy" = "xyes" ; then - AC_DEFINE([HAVE___VA_COPY], [1], [Define if __va_copy exists]) + AC_DEFINE(HAVE___VA_COPY, 1, [Define if __va_copy exists]) fi AC_CACHE_CHECK([whether getopt has optreset support], ac_cv_have_getopt_optreset, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include ]], - [[ extern int optreset; optreset = 0; ]])], - [ ac_cv_have_getopt_optreset="yes" ], - [ ac_cv_have_getopt_optreset="no" - ]) + AC_TRY_LINK( + [ +#include + ], + [ extern int optreset; optreset = 0; ], + [ ac_cv_have_getopt_optreset="yes" ], + [ ac_cv_have_getopt_optreset="no" ] + ) ]) if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then - AC_DEFINE([HAVE_GETOPT_OPTRESET], [1], + AC_DEFINE(HAVE_GETOPT_OPTRESET, 1, [Define if your getopt(3) defines and uses optreset]) fi AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], -[[ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);]])], - [ ac_cv_libc_defines_sys_errlist="yes" ], - [ ac_cv_libc_defines_sys_errlist="no" - ]) + AC_TRY_LINK([], + [ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);], + [ ac_cv_libc_defines_sys_errlist="yes" ], + [ ac_cv_libc_defines_sys_errlist="no" ] + ) ]) if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then - AC_DEFINE([HAVE_SYS_ERRLIST], [1], + AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if your system defines sys_errlist[]]) fi AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], -[[ extern int sys_nerr; printf("%i", sys_nerr);]])], - [ ac_cv_libc_defines_sys_nerr="yes" ], - [ ac_cv_libc_defines_sys_nerr="no" - ]) + AC_TRY_LINK([], + [ extern int sys_nerr; printf("%i", sys_nerr);], + [ ac_cv_libc_defines_sys_nerr="yes" ], + [ ac_cv_libc_defines_sys_nerr="no" ] + ) ]) if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then - AC_DEFINE([HAVE_SYS_NERR], [1], [Define if your system defines sys_nerr]) + AC_DEFINE(HAVE_SYS_NERR, 1, [Define if your system defines sys_nerr]) fi # Check libraries needed by DNS fingerprint support -AC_SEARCH_LIBS([getrrsetbyname], [resolv], - [AC_DEFINE([HAVE_GETRRSETBYNAME], [1], +AC_SEARCH_LIBS(getrrsetbyname, resolv, + [AC_DEFINE(HAVE_GETRRSETBYNAME, 1, [Define if getrrsetbyname() exists])], [ # Needed by our getrrsetbyname() - AC_SEARCH_LIBS([res_query], [resolv]) - AC_SEARCH_LIBS([dn_expand], [resolv]) - AC_MSG_CHECKING([if res_query will link]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_SEARCH_LIBS(res_query, resolv) + AC_SEARCH_LIBS(dn_expand, resolv) + AC_MSG_CHECKING(if res_query will link) + AC_LINK_IFELSE([ +#include "confdefs.h" #include #include #include #include #include - ]], [[ +int main() +{ res_query (0, 0, 0, 0, 0); - ]])], - AC_MSG_RESULT([yes]), - [AC_MSG_RESULT([no]) + return 0; +} + ], + AC_MSG_RESULT(yes), + [AC_MSG_RESULT(no) saved_LIBS="$LIBS" LIBS="$LIBS -lresolv" - AC_MSG_CHECKING([for res_query in -lresolv]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + AC_MSG_CHECKING(for res_query in -lresolv) + AC_LINK_IFELSE([ +#include "confdefs.h" #include #include #include #include #include - ]], [[ +int main() +{ res_query (0, 0, 0, 0, 0); - ]])], - [AC_MSG_RESULT([yes])], + return 0; +} + ], + [AC_MSG_RESULT(yes)], [LIBS="$saved_LIBS" - AC_MSG_RESULT([no])]) + AC_MSG_RESULT(no)]) ]) - AC_CHECK_FUNCS([_getshort _getlong]) + AC_CHECK_FUNCS(_getshort _getlong) AC_CHECK_DECLS([_getshort, _getlong], , , [#include #include ]) - AC_CHECK_MEMBER([HEADER.ad], - [AC_DEFINE([HAVE_HEADER_AD], [1], - [Define if HEADER.ad exists in arpa/nameser.h])], , + AC_CHECK_MEMBER(HEADER.ad, + [AC_DEFINE(HAVE_HEADER_AD, 1, + [Define if HEADER.ad exists in arpa/nameser.h])],, [#include ]) ]) -AC_MSG_CHECKING([if struct __res_state _res is an extern]) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +AC_MSG_CHECKING(if struct __res_state _res is an extern) +AC_LINK_IFELSE([ #include #if HAVE_SYS_TYPES_H # include @@ -3383,43 +3488,43 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #include extern struct __res_state _res; - ]], [[ ]])], - [AC_MSG_RESULT([yes]) - AC_DEFINE([HAVE__RES_EXTERN], [1], +int main() { return 0; } + ], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE__RES_EXTERN, 1, [Define if you have struct __res_state _res as an extern]) ], - [ AC_MSG_RESULT([no]) ] + [ AC_MSG_RESULT(no) ] ) # Check whether user wants SELinux support SELINUX_MSG="no" LIBSELINUX="" -AC_ARG_WITH([selinux], +AC_ARG_WITH(selinux, [ --with-selinux Enable SELinux support], [ if test "x$withval" != "xno" ; then save_LIBS="$LIBS" - AC_DEFINE([WITH_SELINUX], [1], - [Define if you want SELinux support.]) + AC_DEFINE(WITH_SELINUX,1,[Define if you want SELinux support.]) SELINUX_MSG="yes" AC_CHECK_HEADER([selinux/selinux.h], , - AC_MSG_ERROR([SELinux support requires selinux.h header])) - AC_CHECK_LIB([selinux], [setexeccon], + AC_MSG_ERROR(SELinux support requires selinux.h header)) + AC_CHECK_LIB(selinux, setexeccon, [ LIBSELINUX="-lselinux" LIBS="$LIBS -lselinux" ], - AC_MSG_ERROR([SELinux support requires libselinux library])) + AC_MSG_ERROR(SELinux support requires libselinux library)) SSHLIBS="$SSHLIBS $LIBSELINUX" SSHDLIBS="$SSHDLIBS $LIBSELINUX" - AC_CHECK_FUNCS([getseuserbyname get_default_context_with_level]) + AC_CHECK_FUNCS(getseuserbyname get_default_context_with_level) LIBS="$save_LIBS" fi ] ) -AC_SUBST([SSHLIBS]) -AC_SUBST([SSHDLIBS]) +AC_SUBST(SSHLIBS) +AC_SUBST(SSHDLIBS) # Check whether user wants Kerberos 5 support KRB5_MSG="no" -AC_ARG_WITH([kerberos5], +AC_ARG_WITH(kerberos5, [ --with-kerberos5=PATH Enable Kerberos 5 support], [ if test "x$withval" != "xno" ; then if test "x$withval" = "xyes" ; then @@ -3428,72 +3533,73 @@ AC_ARG_WITH([kerberos5], KRB5ROOT=${withval} fi - AC_DEFINE([KRB5], [1], [Define if you want Kerberos 5 support]) + AC_DEFINE(KRB5, 1, [Define if you want Kerberos 5 support]) KRB5_MSG="yes" - AC_PATH_PROG([KRB5CONF], [krb5-config], + AC_PATH_PROG([KRB5CONF],[krb5-config], [$KRB5ROOT/bin/krb5-config], [$KRB5ROOT/bin:$PATH]) if test -x $KRB5CONF ; then - AC_MSG_CHECKING([for gssapi support]) + AC_MSG_CHECKING(for gssapi support) if $KRB5CONF | grep gssapi >/dev/null ; then - AC_MSG_RESULT([yes]) - AC_DEFINE([GSSAPI], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(GSSAPI, 1, [Define this if you want GSSAPI support in the version 2 protocol]) k5confopts=gssapi else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) k5confopts="" fi K5CFLAGS="`$KRB5CONF --cflags $k5confopts`" K5LIBS="`$KRB5CONF --libs $k5confopts`" CPPFLAGS="$CPPFLAGS $K5CFLAGS" - AC_MSG_CHECKING([whether we are using Heimdal]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include - ]], [[ char *tmp = heimdal_version; ]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([HEIMDAL], [1], - [Define this if you are using the Heimdal - version of Kerberos V5]) ], - [AC_MSG_RESULT([no]) - ]) + AC_MSG_CHECKING(whether we are using Heimdal) + AC_TRY_COMPILE([ #include ], + [ char *tmp = heimdal_version; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HEIMDAL, 1, + [Define this if you are using the + Heimdal version of Kerberos V5]) ], + AC_MSG_RESULT(no) + ) else CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" - AC_MSG_CHECKING([whether we are using Heimdal]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include - ]], [[ char *tmp = heimdal_version; ]])], - [ AC_MSG_RESULT([yes]) - AC_DEFINE([HEIMDAL]) + AC_MSG_CHECKING(whether we are using Heimdal) + AC_TRY_COMPILE([ #include ], + [ char *tmp = heimdal_version; ], + [ AC_MSG_RESULT(yes) + AC_DEFINE(HEIMDAL) K5LIBS="-lkrb5" K5LIBS="$K5LIBS -lcom_err -lasn1" - AC_CHECK_LIB([roken], [net_write], + AC_CHECK_LIB(roken, net_write, [K5LIBS="$K5LIBS -lroken"]) - AC_CHECK_LIB([des], [des_cbc_encrypt], + AC_CHECK_LIB(des, des_cbc_encrypt, [K5LIBS="$K5LIBS -ldes"]) - ], [ AC_MSG_RESULT([no]) + ], + [ AC_MSG_RESULT(no) K5LIBS="-lkrb5 -lk5crypto -lcom_err" - - ]) - AC_SEARCH_LIBS([dn_expand], [resolv]) + ] + ) + AC_SEARCH_LIBS(dn_expand, resolv) - AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context], - [ AC_DEFINE([GSSAPI]) + AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context, + [ AC_DEFINE(GSSAPI) K5LIBS="-lgssapi_krb5 $K5LIBS" ], - [ AC_CHECK_LIB([gssapi], [gss_init_sec_context], - [ AC_DEFINE([GSSAPI]) + [ AC_CHECK_LIB(gssapi, gss_init_sec_context, + [ AC_DEFINE(GSSAPI) K5LIBS="-lgssapi $K5LIBS" ], AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), $K5LIBS) ], $K5LIBS) - AC_CHECK_HEADER([gssapi.h], , + AC_CHECK_HEADER(gssapi.h, , [ unset ac_cv_header_gssapi_h CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" - AC_CHECK_HEADERS([gssapi.h], , + AC_CHECK_HEADERS(gssapi.h, , AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail]) ) ] @@ -3501,7 +3607,7 @@ AC_ARG_WITH([kerberos5], oldCPP="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" - AC_CHECK_HEADER([gssapi_krb5.h], , + AC_CHECK_HEADER(gssapi_krb5.h, , [ CPPFLAGS="$oldCPP" ]) fi @@ -3512,13 +3618,13 @@ AC_ARG_WITH([kerberos5], blibpath="$blibpath:${KRB5ROOT}/lib" fi - AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h]) - AC_CHECK_HEADERS([gssapi_krb5.h gssapi/gssapi_krb5.h]) - AC_CHECK_HEADERS([gssapi_generic.h gssapi/gssapi_generic.h]) + AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h) + AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h) + AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h) LIBS="$LIBS $K5LIBS" - AC_SEARCH_LIBS([k_hasafs], [kafs], [AC_DEFINE([USE_AFS], [1], - [Define this if you want to use libkafs' AFS support])]) + AC_SEARCH_LIBS(k_hasafs, kafs, AC_DEFINE(USE_AFS, 1, + [Define this if you want to use libkafs' AFS support])) fi ] ) @@ -3526,7 +3632,7 @@ AC_ARG_WITH([kerberos5], # Looking for programs, paths and files PRIVSEP_PATH=/var/empty -AC_ARG_WITH([privsep-path], +AC_ARG_WITH(privsep-path, [ --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -3535,9 +3641,9 @@ AC_ARG_WITH([privsep-path], fi ] ) -AC_SUBST([PRIVSEP_PATH]) +AC_SUBST(PRIVSEP_PATH) -AC_ARG_WITH([xauth], +AC_ARG_WITH(xauth, [ --with-xauth=PATH Specify path to xauth program ], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -3551,7 +3657,7 @@ AC_ARG_WITH([xauth], TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11" TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin" TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin" - AC_PATH_PROG([xauth_path], [xauth], , [$TestPath]) + AC_PATH_PROG(xauth_path, xauth, , $TestPath) if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then xauth_path="/usr/openwin/bin/xauth" fi @@ -3559,7 +3665,7 @@ AC_ARG_WITH([xauth], ) STRIP_OPT=-s -AC_ARG_ENABLE([strip], +AC_ARG_ENABLE(strip, [ --disable-strip Disable calling strip(1) on install], [ if test "x$enableval" = "xno" ; then @@ -3567,22 +3673,22 @@ AC_ARG_ENABLE([strip], fi ] ) -AC_SUBST([STRIP_OPT]) +AC_SUBST(STRIP_OPT) if test -z "$xauth_path" ; then XAUTH_PATH="undefined" - AC_SUBST([XAUTH_PATH]) + AC_SUBST(XAUTH_PATH) else - AC_DEFINE_UNQUOTED([XAUTH_PATH], ["$xauth_path"], + AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path", [Define if xauth is found in your path]) XAUTH_PATH=$xauth_path - AC_SUBST([XAUTH_PATH]) + AC_SUBST(XAUTH_PATH) fi # Check for mail directory (last resort if we cannot get it from headers) if test ! -z "$MAIL" ; then maildir=`dirname $MAIL` - AC_DEFINE_UNQUOTED([MAIL_DIRECTORY], ["$maildir"], + AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir", [Set this to your mail directory if you don't have maillock.h]) fi @@ -3592,9 +3698,9 @@ if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then fi if test -z "$no_dev_ptmx" ; then if test "x$disable_ptmx_check" != "xyes" ; then - AC_CHECK_FILE(["/dev/ptmx"], + AC_CHECK_FILE("/dev/ptmx", [ - AC_DEFINE_UNQUOTED([HAVE_DEV_PTMX], [1], + AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX, 1, [Define if you have /dev/ptmx]) have_dev_ptmx=1 ] @@ -3603,9 +3709,9 @@ if test -z "$no_dev_ptmx" ; then fi if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then - AC_CHECK_FILE(["/dev/ptc"], + AC_CHECK_FILE("/dev/ptc", [ - AC_DEFINE_UNQUOTED([HAVE_DEV_PTS_AND_PTC], [1], + AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC, 1, [Define if you have /dev/ptc]) have_dev_ptc=1 ] @@ -3615,7 +3721,7 @@ else fi # Options from here on. Some of these are preset by platform above -AC_ARG_WITH([mantype], +AC_ARG_WITH(mantype, [ --with-mantype=man|cat|doc Set man page type], [ case "$withval" in @@ -3623,14 +3729,14 @@ AC_ARG_WITH([mantype], MANTYPE=$withval ;; *) - AC_MSG_ERROR([invalid man type: $withval]) + AC_MSG_ERROR(invalid man type: $withval) ;; esac ] ) if test -z "$MANTYPE"; then TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" - AC_PATH_PROGS([NROFF], [nroff awf], [/bin/false], [$TestPath]) + AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then MANTYPE=doc elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then @@ -3639,21 +3745,21 @@ if test -z "$MANTYPE"; then MANTYPE=cat fi fi -AC_SUBST([MANTYPE]) +AC_SUBST(MANTYPE) if test "$MANTYPE" = "doc"; then mansubdir=man; else mansubdir=$MANTYPE; fi -AC_SUBST([mansubdir]) +AC_SUBST(mansubdir) # Check whether to enable MD5 passwords MD5_MSG="no" -AC_ARG_WITH([md5-passwords], +AC_ARG_WITH(md5-passwords, [ --with-md5-passwords Enable use of MD5 passwords], [ if test "x$withval" != "xno" ; then - AC_DEFINE([HAVE_MD5_PASSWORDS], [1], + AC_DEFINE(HAVE_MD5_PASSWORDS, 1, [Define if you want to allow MD5 passwords]) MD5_MSG="yes" fi @@ -3661,11 +3767,11 @@ AC_ARG_WITH([md5-passwords], ) # Whether to disable shadow password support -AC_ARG_WITH([shadow], +AC_ARG_WITH(shadow, [ --without-shadow Disable shadow password support], [ if test "x$withval" = "xno" ; then - AC_DEFINE([DISABLE_SHADOW]) + AC_DEFINE(DISABLE_SHADOW) disable_shadow=yes fi ] @@ -3673,36 +3779,37 @@ AC_ARG_WITH([shadow], if test -z "$disable_shadow" ; then AC_MSG_CHECKING([if the systems has expire shadow information]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE( + [ #include #include -struct spwd sp; - ]], [[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ]])], - [ sp_expire_available=yes ], [ - ]) + struct spwd sp; + ],[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ], + [ sp_expire_available=yes ], [] + ) if test "x$sp_expire_available" = "xyes" ; then - AC_MSG_RESULT([yes]) - AC_DEFINE([HAS_SHADOW_EXPIRE], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(HAS_SHADOW_EXPIRE, 1, [Define if you want to use shadow password expire field]) else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi fi # Use ip address instead of hostname in $DISPLAY if test ! -z "$IPADDR_IN_DISPLAY" ; then DISPLAY_HACK_MSG="yes" - AC_DEFINE([IPADDR_IN_DISPLAY], [1], + AC_DEFINE(IPADDR_IN_DISPLAY, 1, [Define if you need to use IP address instead of hostname in $DISPLAY]) else DISPLAY_HACK_MSG="no" - AC_ARG_WITH([ipaddr-display], + AC_ARG_WITH(ipaddr-display, [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], [ if test "x$withval" != "xno" ; then - AC_DEFINE([IPADDR_IN_DISPLAY]) + AC_DEFINE(IPADDR_IN_DISPLAY) DISPLAY_HACK_MSG="yes" fi ] @@ -3710,7 +3817,7 @@ else fi # check for /etc/default/login and use it if present. -AC_ARG_ENABLE([etc-default-login], +AC_ARG_ENABLE(etc-default-login, [ --disable-etc-default-login Disable using PATH from /etc/default/login [no]], [ if test "x$enableval" = "xno"; then AC_MSG_NOTICE([/etc/default/login handling disabled]) @@ -3728,10 +3835,10 @@ AC_ARG_ENABLE([etc-default-login], ) if test "x$etc_default_login" != "xno"; then - AC_CHECK_FILE(["/etc/default/login"], + AC_CHECK_FILE("/etc/default/login", [ external_path_file=/etc/default/login ]) if test "x$external_path_file" = "x/etc/default/login"; then - AC_DEFINE([HAVE_ETC_DEFAULT_LOGIN], [1], + AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN, 1, [Define if your system has /etc/default/login]) fi fi @@ -3744,7 +3851,7 @@ fi # Whether to mess with the default path SERVER_PATH_MSG="(default)" -AC_ARG_WITH([default-path], +AC_ARG_WITH(default-path, [ --with-default-path= Specify default \$PATH environment for server], [ if test "x$external_path_file" = "x/etc/login.conf" ; then @@ -3770,7 +3877,7 @@ If PATH is defined in $external_path_file, ensure the path to scp is included, otherwise scp will not work.]) fi AC_RUN_IFELSE( - [AC_LANG_PROGRAM([[ + [AC_LANG_SOURCE([[ /* find out what STDPATH is */ #include #ifdef HAVE_PATHS_H @@ -3787,7 +3894,9 @@ otherwise scp will not work.]) #include #include #define DATA "conftest.stdpath" - ]], [[ + +main() +{ FILE *fd; int rc; @@ -3799,6 +3908,7 @@ otherwise scp will not work.]) exit(1); exit(0); +} ]])], [ user_path=`cat conftest.stdpath` ], [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ], @@ -3817,23 +3927,23 @@ otherwise scp will not work.]) echo $user_path | grep "^$t_bindir" > /dev/null 2>&1 if test $? -ne 0 ; then user_path=$user_path:$t_bindir - AC_MSG_RESULT([Adding $t_bindir to USER_PATH so scp will work]) + AC_MSG_RESULT(Adding $t_bindir to USER_PATH so scp will work) fi fi fi ] ) if test "x$external_path_file" != "x/etc/login.conf" ; then - AC_DEFINE_UNQUOTED([USER_PATH], ["$user_path"], [Specify default $PATH]) - AC_SUBST([user_path]) + AC_DEFINE_UNQUOTED(USER_PATH, "$user_path", [Specify default $PATH]) + AC_SUBST(user_path) fi # Set superuser path separately to user path -AC_ARG_WITH([superuser-path], +AC_ARG_WITH(superuser-path, [ --with-superuser-path= Specify different path for super-user], [ if test -n "$withval" && test "x$withval" != "xno" && \ test "x${withval}" != "xyes"; then - AC_DEFINE_UNQUOTED([SUPERUSER_PATH], ["$withval"], + AC_DEFINE_UNQUOTED(SUPERUSER_PATH, "$withval", [Define if you want a different $PATH for the superuser]) superuser_path=$withval @@ -3848,18 +3958,18 @@ AC_ARG_WITH(4in6, [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses], [ if test "x$withval" != "xno" ; then - AC_MSG_RESULT([yes]) - AC_DEFINE([IPV4_IN_IPV6], [1], + AC_MSG_RESULT(yes) + AC_DEFINE(IPV4_IN_IPV6, 1, [Detect IPv4 in IPv6 mapped addresses and treat as IPv4]) IPV4_IN6_HACK_MSG="yes" else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi - ], [ + ],[ if test "x$inet6_default_4in6" = "xyes"; then AC_MSG_RESULT([yes (default)]) - AC_DEFINE([IPV4_IN_IPV6]) + AC_DEFINE(IPV4_IN_IPV6) IPV4_IN6_HACK_MSG="yes" else AC_MSG_RESULT([no (default)]) @@ -3869,11 +3979,11 @@ AC_ARG_WITH(4in6, # Whether to enable BSD auth support BSD_AUTH_MSG=no -AC_ARG_WITH([bsd-auth], +AC_ARG_WITH(bsd-auth, [ --with-bsd-auth Enable BSD auth support], [ if test "x$withval" != "xno" ; then - AC_DEFINE([BSD_AUTH], [1], + AC_DEFINE(BSD_AUTH, 1, [Define if you have BSD auth support]) BSD_AUTH_MSG=yes fi @@ -3890,7 +4000,7 @@ if test ! -d $piddir ; then esac fi -AC_ARG_WITH([pid-dir], +AC_ARG_WITH(pid-dir, [ --with-pid-dir=PATH Specify location of ssh.pid file], [ if test -n "$withval" && test "x$withval" != "xno" && \ @@ -3903,86 +4013,85 @@ AC_ARG_WITH([pid-dir], ] ) -AC_DEFINE_UNQUOTED([_PATH_SSH_PIDDIR], ["$piddir"], - [Specify location of ssh.pid]) -AC_SUBST([piddir]) +AC_DEFINE_UNQUOTED(_PATH_SSH_PIDDIR, "$piddir", [Specify location of ssh.pid]) +AC_SUBST(piddir) dnl allow user to disable some login recording features -AC_ARG_ENABLE([lastlog], +AC_ARG_ENABLE(lastlog, [ --disable-lastlog disable use of lastlog even if detected [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_LASTLOG]) + AC_DEFINE(DISABLE_LASTLOG) fi ] ) -AC_ARG_ENABLE([utmp], +AC_ARG_ENABLE(utmp, [ --disable-utmp disable use of utmp even if detected [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_UTMP]) + AC_DEFINE(DISABLE_UTMP) fi ] ) -AC_ARG_ENABLE([utmpx], +AC_ARG_ENABLE(utmpx, [ --disable-utmpx disable use of utmpx even if detected [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_UTMPX], [1], + AC_DEFINE(DISABLE_UTMPX, 1, [Define if you don't want to use utmpx]) fi ] ) -AC_ARG_ENABLE([wtmp], +AC_ARG_ENABLE(wtmp, [ --disable-wtmp disable use of wtmp even if detected [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_WTMP]) + AC_DEFINE(DISABLE_WTMP) fi ] ) -AC_ARG_ENABLE([wtmpx], +AC_ARG_ENABLE(wtmpx, [ --disable-wtmpx disable use of wtmpx even if detected [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_WTMPX], [1], + AC_DEFINE(DISABLE_WTMPX, 1, [Define if you don't want to use wtmpx]) fi ] ) -AC_ARG_ENABLE([libutil], +AC_ARG_ENABLE(libutil, [ --disable-libutil disable use of libutil (login() etc.) [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_LOGIN]) + AC_DEFINE(DISABLE_LOGIN) fi ] ) -AC_ARG_ENABLE([pututline], +AC_ARG_ENABLE(pututline, [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_PUTUTLINE], [1], + AC_DEFINE(DISABLE_PUTUTLINE, 1, [Define if you don't want to use pututline() etc. to write [uw]tmp]) fi ] ) -AC_ARG_ENABLE([pututxline], +AC_ARG_ENABLE(pututxline, [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]], [ if test "x$enableval" = "xno" ; then - AC_DEFINE([DISABLE_PUTUTXLINE], [1], + AC_DEFINE(DISABLE_PUTUTXLINE, 1, [Define if you don't want to use pututxline() etc. to write [uw]tmpx]) fi ] ) -AC_ARG_WITH([lastlog], +AC_ARG_WITH(lastlog, [ --with-lastlog=FILE|DIR specify lastlog location [common locations]], [ if test "x$withval" = "xno" ; then - AC_DEFINE([DISABLE_LASTLOG]) + AC_DEFINE(DISABLE_LASTLOG) elif test -n "$withval" && test "x${withval}" != "xyes"; then conf_lastlog_location=$withval fi @@ -3997,7 +4106,7 @@ dnl lastlog and [uw]tmp are subject to a file search if all else fails dnl lastlog detection dnl NOTE: the code itself will detect if lastlog is a directory AC_MSG_CHECKING([if your system defines LASTLOG_FILE]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_TRY_COMPILE([ #include #include #ifdef HAVE_LASTLOG_H @@ -4009,12 +4118,13 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_LOGIN_H # include #endif - ]], [[ char *lastlog = LASTLOG_FILE; ]])], - [ AC_MSG_RESULT([yes]) ], - [ - AC_MSG_RESULT([no]) + ], + [ char *lastlog = LASTLOG_FILE; ], + [ AC_MSG_RESULT(yes) ], + [ + AC_MSG_RESULT(no) AC_MSG_CHECKING([if your system defines _PATH_LASTLOG]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + AC_TRY_COMPILE([ #include #include #ifdef HAVE_LASTLOG_H @@ -4023,13 +4133,15 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_PATHS_H # include #endif - ]], [[ char *lastlog = _PATH_LASTLOG; ]])], - [ AC_MSG_RESULT([yes]) ], + ], + [ char *lastlog = _PATH_LASTLOG; ], + [ AC_MSG_RESULT(yes) ], [ - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) system_lastlog_path=no ]) -]) + ] +) if test -z "$conf_lastlog_location"; then if test x"$system_lastlog_path" = x"no" ; then @@ -4046,23 +4158,24 @@ if test -z "$conf_lastlog_location"; then fi if test -n "$conf_lastlog_location"; then - AC_DEFINE_UNQUOTED([CONF_LASTLOG_FILE], ["$conf_lastlog_location"], + AC_DEFINE_UNQUOTED(CONF_LASTLOG_FILE, "$conf_lastlog_location", [Define if you want to specify the path to your lastlog file]) fi dnl utmp detection AC_MSG_CHECKING([if your system defines UTMP_FILE]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_TRY_COMPILE([ #include #include #ifdef HAVE_PATHS_H # include #endif - ]], [[ char *utmp = UTMP_FILE; ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - system_utmp_path=no -]) + ], + [ char *utmp = UTMP_FILE; ], + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) + system_utmp_path=no ] +) if test -z "$conf_utmp_location"; then if test x"$system_utmp_path" = x"no" ; then for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do @@ -4071,28 +4184,29 @@ if test -z "$conf_utmp_location"; then fi done if test -z "$conf_utmp_location"; then - AC_DEFINE([DISABLE_UTMP]) + AC_DEFINE(DISABLE_UTMP) fi fi fi if test -n "$conf_utmp_location"; then - AC_DEFINE_UNQUOTED([CONF_UTMP_FILE], ["$conf_utmp_location"], + AC_DEFINE_UNQUOTED(CONF_UTMP_FILE, "$conf_utmp_location", [Define if you want to specify the path to your utmp file]) fi dnl wtmp detection AC_MSG_CHECKING([if your system defines WTMP_FILE]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_TRY_COMPILE([ #include #include #ifdef HAVE_PATHS_H # include #endif - ]], [[ char *wtmp = WTMP_FILE; ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - system_wtmp_path=no -]) + ], + [ char *wtmp = WTMP_FILE; ], + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) + system_wtmp_path=no ] +) if test -z "$conf_wtmp_location"; then if test x"$system_wtmp_path" = x"no" ; then for f in /usr/adm/wtmp /var/log/wtmp; do @@ -4101,19 +4215,19 @@ if test -z "$conf_wtmp_location"; then fi done if test -z "$conf_wtmp_location"; then - AC_DEFINE([DISABLE_WTMP]) + AC_DEFINE(DISABLE_WTMP) fi fi fi if test -n "$conf_wtmp_location"; then - AC_DEFINE_UNQUOTED([CONF_WTMP_FILE], ["$conf_wtmp_location"], + AC_DEFINE_UNQUOTED(CONF_WTMP_FILE, "$conf_wtmp_location", [Define if you want to specify the path to your wtmp file]) fi dnl wtmpx detection AC_MSG_CHECKING([if your system defines WTMPX_FILE]) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_TRY_COMPILE([ #include #include #ifdef HAVE_UTMPX_H @@ -4122,17 +4236,18 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #ifdef HAVE_PATHS_H # include #endif - ]], [[ char *wtmpx = WTMPX_FILE; ]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - system_wtmpx_path=no -]) + ], + [ char *wtmpx = WTMPX_FILE; ], + [ AC_MSG_RESULT(yes) ], + [ AC_MSG_RESULT(no) + system_wtmpx_path=no ] +) if test -z "$conf_wtmpx_location"; then if test x"$system_wtmpx_path" = x"no" ; then - AC_DEFINE([DISABLE_WTMPX]) + AC_DEFINE(DISABLE_WTMPX) fi else - AC_DEFINE_UNQUOTED([CONF_WTMPX_FILE], ["$conf_wtmpx_location"], + AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location", [Define if you want to specify the path to your wtmpx file]) fi @@ -4151,8 +4266,8 @@ if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then else TEST_SSH_IPV6=yes fi -AC_CHECK_DECL([BROKEN_GETADDRINFO], [TEST_SSH_IPV6=no]) -AC_SUBST([TEST_SSH_IPV6], [$TEST_SSH_IPV6]) +AC_CHECK_DECL(BROKEN_GETADDRINFO, TEST_SSH_IPV6=no) +AC_SUBST(TEST_SSH_IPV6, $TEST_SSH_IPV6) AC_EXEEXT AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index eb280e616..ee4290b98 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -1,4 +1,4 @@ -/* $Id: port-linux.c,v 1.13 2011/01/27 23:30:20 djm Exp $ */ +/* $Id: port-linux.c,v 1.11.4.1 2011/02/04 00:42:21 djm Exp $ */ /* * Copyright (c) 2005 Daniel Walsh @@ -209,15 +209,13 @@ ssh_selinux_change_context(const char *newname) void ssh_selinux_setfscreatecon(const char *path) { - security_context_t context; + security_context_t context; - if (!ssh_selinux_enabled()) - return; - if (path == NULL) - setfscreatecon(NULL); - return; - } - if (matchpathcon(path, 0700, &context) == 0) + if (path == NULL) { + setfscreatecon(NULL); + return; + } + matchpathcon(path, 0700, &context); setfscreatecon(context); } diff --git a/openbsd-compat/port-linux.h b/openbsd-compat/port-linux.h index e3d1004aa..c2f618400 100644 --- a/openbsd-compat/port-linux.h +++ b/openbsd-compat/port-linux.h @@ -1,4 +1,4 @@ -/* $Id: port-linux.h,v 1.5 2011/01/25 01:16:18 djm Exp $ */ +/* $Id: port-linux.h,v 1.4.10.1 2011/02/04 00:42:21 djm Exp $ */ /* * Copyright (c) 2006 Damien Miller -- cgit v1.2.3 From 442366e667b29bba6c6a0bb400308a76e5db48bc Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 4 Feb 2011 11:43:04 +1100 Subject: 20110128 - (djm) [openbsd-compat/port-linux.c] Check whether SELinux is enabled before attempting setfscreatecon(). Check whether matchpathcon() succeeded before using its result. Patch from cjwatson AT debian.org; bz#1851 --- ChangeLog | 6 ++++++ openbsd-compat/port-linux.c | 16 +++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 6d2375a33..d0a3aa3c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +20110128 + - (djm) [openbsd-compat/port-linux.c] Check whether SELinux is enabled + before attempting setfscreatecon(). Check whether matchpathcon() + succeeded before using its result. Patch from cjwatson AT debian.org; + bz#1851 + 20110125 - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c openbsd-compat/port-linux.h] Move SELinux-specific code from ssh.c to diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c index ee4290b98..ede533fdd 100644 --- a/openbsd-compat/port-linux.c +++ b/openbsd-compat/port-linux.c @@ -1,4 +1,4 @@ -/* $Id: port-linux.c,v 1.11.4.1 2011/02/04 00:42:21 djm Exp $ */ +/* $Id: port-linux.c,v 1.11.4.2 2011/02/04 00:43:08 djm Exp $ */ /* * Copyright (c) 2005 Daniel Walsh @@ -209,13 +209,15 @@ ssh_selinux_change_context(const char *newname) void ssh_selinux_setfscreatecon(const char *path) { - security_context_t context; + security_context_t context; - if (path == NULL) { - setfscreatecon(NULL); - return; - } - matchpathcon(path, 0700, &context); + if (!ssh_selinux_enabled()) + return; + if (path == NULL) + setfscreatecon(NULL); + return; + } + if (matchpathcon(path, 0700, &context) == 0) setfscreatecon(context); } -- cgit v1.2.3 From 2fefe034731c1a08b9a6b4106df200ad0f0d1ba7 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 5 Apr 2013 10:53:30 +1100 Subject: - (dtucker) [openbsd-compat/bsd-cygwin_util.{c,h}] Don't include windows.h to avoid conflicting definitions of __int64, adding the required bits. Patch from Corinna Vinschen. (pulled from HEAD but kept the ChangeLog date as it was) --- ChangeLog | 6 ------ openbsd-compat/bsd-cygwin_util.h | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) (limited to 'openbsd-compat') diff --git a/ChangeLog b/ChangeLog index 9668465b5..cd0ab0a67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,16 +3,10 @@ to avoid conflicting definitions of __int64, adding the required bits. Patch from Corinna Vinschen. -20120323 - - (tim) [Makefile.in] remove some duplication introduced in 20130220 commit. - 20120322 - (djm) [contrib/ssh-copy-id contrib/ssh-copy-id.1] Updated to Phil Hands' greatly revised version. - (djm) Release 6.2p1 - - (dtucker) [configure.ac] Add stdlib.h to zlib check for exit() prototype. - - (dtucker) [includes.h] Check if _GNU_SOURCE is already defined before - defining it again. Prevents warnings if someone, eg, sets it in CFLAGS. 20120318 - (djm) [configure.ac log.c scp.c sshconnect2.c openbsd-compat/vis.c] diff --git a/openbsd-compat/bsd-cygwin_util.h b/openbsd-compat/bsd-cygwin_util.h index 372e41955..6061a6b01 100644 --- a/openbsd-compat/bsd-cygwin_util.h +++ b/openbsd-compat/bsd-cygwin_util.h @@ -1,4 +1,4 @@ -/* $Id: bsd-cygwin_util.h,v 1.16 2013/04/01 01:40:49 dtucker Exp $ */ +/* $Id: bsd-cygwin_util.h,v 1.15.4.1 2013/04/04 23:53:31 dtucker Exp $ */ /* * Copyright (c) 2000, 2001, 2011, 2013 Corinna Vinschen -- cgit v1.2.3