diff options
author | Damien Miller <djm@mindrot.org> | 2011-02-04 11:42:11 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2011-02-04 11:42:11 +1100 |
commit | 8ba5292c25655a1002ec790f5840a7b8420091bf (patch) | |
tree | 83bde87ca0908652b3a87ea86221dae1afaacf48 | |
parent | d4a5504cb19acf061bc6d68362b666416b21d9b3 (diff) |
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
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | configure.ac | 2501 | ||||
-rw-r--r-- | openbsd-compat/port-linux.c | 16 | ||||
-rw-r--r-- | openbsd-compat/port-linux.h | 2 |
5 files changed, 1317 insertions, 1218 deletions
@@ -1,17 +1,3 @@ | |||
1 | 20110128 | ||
2 | - (djm) [openbsd-compat/port-linux.c] Check whether SELinux is enabled | ||
3 | before attempting setfscreatecon(). Check whether matchpathcon() | ||
4 | succeeded before using its result. Patch from cjwatson AT debian.org; | ||
5 | bz#1851 | ||
6 | |||
7 | 20110127 | ||
8 | - (tim) [config.guess config.sub] Sync with upstream. | ||
9 | - (tim) [configure.ac] Consistent M4 quoting throughout, updated obsolete | ||
10 | AC_TRY_COMPILE with AC_COMPILE_IFELSE, updated obsolete AC_TRY_LINK with | ||
11 | AC_LINK_IFELSE, updated obsolete AC_TRY_RUN with AC_RUN_IFELSE, misc white | ||
12 | space changes for consistency/readability. Makes autoconf 2.68 happy. | ||
13 | "Nice work" djm | ||
14 | |||
15 | 20110125 | 1 | 20110125 |
16 | - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c | 2 | - (djm) [configure.ac Makefile.in ssh.c openbsd-compat/port-linux.c |
17 | openbsd-compat/port-linux.h] Move SELinux-specific code from ssh.c to | 3 | 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 @@ | |||
1 | # $Id: Makefile.in,v 1.321 2011/01/25 01:16:16 djm Exp $ | 1 | # $Id: Makefile.in,v 1.320.4.1 2011/02/04 00:42:13 djm Exp $ |
2 | 2 | ||
3 | # uncomment if you run a non bourne compatable shell. Ie. csh | 3 | # uncomment if you run a non bourne compatable shell. Ie. csh |
4 | #SHELL = @SH@ | 4 | #SHELL = @SH@ |
diff --git a/configure.ac b/configure.ac index c8d90ea0d..f23784d9b 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,4 +1,4 @@ | |||
1 | # $Id: configure.ac,v 1.471 2011/01/26 20:38:58 tim Exp $ | 1 | # $Id: configure.ac,v 1.469.4.1 2011/02/04 00:42:14 djm Exp $ |
2 | # | 2 | # |
3 | # Copyright (c) 1999-2004 Damien Miller | 3 | # Copyright (c) 1999-2004 Damien Miller |
4 | # | 4 | # |
@@ -14,10 +14,9 @@ | |||
14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
16 | 16 | ||
17 | AC_INIT([OpenSSH], [Portable], [openssh-unix-dev@mindrot.org]) | 17 | AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) |
18 | AC_REVISION($Revision: 1.471 $) | 18 | AC_REVISION($Revision: 1.469.4.1 $) |
19 | AC_CONFIG_SRCDIR([ssh.c]) | 19 | AC_CONFIG_SRCDIR([ssh.c]) |
20 | AC_LANG([C]) | ||
21 | 20 | ||
22 | # local macros | 21 | # local macros |
23 | AC_DEFUN([OPENSSH_CHECK_CFLAG_COMPILE], [{ | 22 | AC_DEFUN([OPENSSH_CHECK_CFLAG_COMPILE], [{ |
@@ -25,13 +24,13 @@ AC_DEFUN([OPENSSH_CHECK_CFLAG_COMPILE], [{ | |||
25 | saved_CFLAGS="$CFLAGS" | 24 | saved_CFLAGS="$CFLAGS" |
26 | CFLAGS="$CFLAGS $1" | 25 | CFLAGS="$CFLAGS $1" |
27 | AC_COMPILE_IFELSE([void main(void) { return 0; }], | 26 | AC_COMPILE_IFELSE([void main(void) { return 0; }], |
28 | [ AC_MSG_RESULT([yes]) ], | 27 | [ AC_MSG_RESULT(yes) ], |
29 | [ AC_MSG_RESULT([no]) | 28 | [ AC_MSG_RESULT(no) |
30 | CFLAGS="$saved_CFLAGS" ] | 29 | CFLAGS="$saved_CFLAGS" ] |
31 | ) | 30 | ) |
32 | }]) | 31 | }]) |
33 | 32 | ||
34 | AC_CONFIG_HEADER([config.h]) | 33 | AC_CONFIG_HEADER(config.h) |
35 | AC_PROG_CC | 34 | AC_PROG_CC |
36 | AC_CANONICAL_HOST | 35 | AC_CANONICAL_HOST |
37 | AC_C_BIGENDIAN | 36 | AC_C_BIGENDIAN |
@@ -42,22 +41,22 @@ AC_PROG_CPP | |||
42 | AC_PROG_RANLIB | 41 | AC_PROG_RANLIB |
43 | AC_PROG_INSTALL | 42 | AC_PROG_INSTALL |
44 | AC_PROG_EGREP | 43 | AC_PROG_EGREP |
45 | AC_PATH_PROG([AR], [ar]) | 44 | AC_PATH_PROG(AR, ar) |
46 | AC_PATH_PROG([CAT], [cat]) | 45 | AC_PATH_PROG(CAT, cat) |
47 | AC_PATH_PROG([KILL], [kill]) | 46 | AC_PATH_PROG(KILL, kill) |
48 | AC_PATH_PROGS([PERL], [perl5 perl]) | 47 | AC_PATH_PROGS(PERL, perl5 perl) |
49 | AC_PATH_PROG([SED], [sed]) | 48 | AC_PATH_PROG(SED, sed) |
50 | AC_SUBST([PERL]) | 49 | AC_SUBST(PERL) |
51 | AC_PATH_PROG([ENT], [ent]) | 50 | AC_PATH_PROG(ENT, ent) |
52 | AC_SUBST([ENT]) | 51 | AC_SUBST(ENT) |
53 | AC_PATH_PROG([TEST_MINUS_S_SH], [bash]) | 52 | AC_PATH_PROG(TEST_MINUS_S_SH, bash) |
54 | AC_PATH_PROG([TEST_MINUS_S_SH], [ksh]) | 53 | AC_PATH_PROG(TEST_MINUS_S_SH, ksh) |
55 | AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) | 54 | AC_PATH_PROG(TEST_MINUS_S_SH, sh) |
56 | AC_PATH_PROG([SH], [sh]) | 55 | AC_PATH_PROG(SH, sh) |
57 | AC_PATH_PROG([GROFF], [groff]) | 56 | AC_PATH_PROG(GROFF, groff) |
58 | AC_PATH_PROG([NROFF], [nroff]) | 57 | AC_PATH_PROG(NROFF, nroff) |
59 | AC_PATH_PROG([MANDOC], [mandoc]) | 58 | AC_PATH_PROG(MANDOC, mandoc) |
60 | AC_SUBST([TEST_SHELL], [sh]) | 59 | AC_SUBST(TEST_SHELL,sh) |
61 | 60 | ||
62 | dnl select manpage formatter | 61 | dnl select manpage formatter |
63 | if test "x$MANDOC" != "x" ; then | 62 | if test "x$MANDOC" != "x" ; then |
@@ -70,18 +69,18 @@ else | |||
70 | AC_MSG_WARN([no manpage formatted found]) | 69 | AC_MSG_WARN([no manpage formatted found]) |
71 | MANFMT="false" | 70 | MANFMT="false" |
72 | fi | 71 | fi |
73 | AC_SUBST([MANFMT]) | 72 | AC_SUBST(MANFMT) |
74 | 73 | ||
75 | dnl for buildpkg.sh | 74 | dnl for buildpkg.sh |
76 | AC_PATH_PROG([PATH_GROUPADD_PROG], [groupadd], [groupadd], | 75 | AC_PATH_PROG(PATH_GROUPADD_PROG, groupadd, groupadd, |
77 | [/usr/sbin${PATH_SEPARATOR}/etc]) | 76 | [/usr/sbin${PATH_SEPARATOR}/etc]) |
78 | AC_PATH_PROG([PATH_USERADD_PROG], [useradd], [useradd], | 77 | AC_PATH_PROG(PATH_USERADD_PROG, useradd, useradd, |
79 | [/usr/sbin${PATH_SEPARATOR}/etc]) | 78 | [/usr/sbin${PATH_SEPARATOR}/etc]) |
80 | AC_CHECK_PROG([MAKE_PACKAGE_SUPPORTED], [pkgmk], [yes], [no]) | 79 | AC_CHECK_PROG(MAKE_PACKAGE_SUPPORTED, pkgmk, yes, no) |
81 | if test -x /sbin/sh; then | 80 | if test -x /sbin/sh; then |
82 | AC_SUBST([STARTUP_SCRIPT_SHELL], [/sbin/sh]) | 81 | AC_SUBST(STARTUP_SCRIPT_SHELL,/sbin/sh) |
83 | else | 82 | else |
84 | AC_SUBST([STARTUP_SCRIPT_SHELL], [/bin/sh]) | 83 | AC_SUBST(STARTUP_SCRIPT_SHELL,/bin/sh) |
85 | fi | 84 | fi |
86 | 85 | ||
87 | # System features | 86 | # System features |
@@ -93,34 +92,34 @@ fi | |||
93 | 92 | ||
94 | # Use LOGIN_PROGRAM from environment if possible | 93 | # Use LOGIN_PROGRAM from environment if possible |
95 | if test ! -z "$LOGIN_PROGRAM" ; then | 94 | if test ! -z "$LOGIN_PROGRAM" ; then |
96 | AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM"], | 95 | AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM", |
97 | [If your header files don't define LOGIN_PROGRAM, | 96 | [If your header files don't define LOGIN_PROGRAM, |
98 | then use this (detected) from environment and PATH]) | 97 | then use this (detected) from environment and PATH]) |
99 | else | 98 | else |
100 | # Search for login | 99 | # Search for login |
101 | AC_PATH_PROG([LOGIN_PROGRAM_FALLBACK], [login]) | 100 | AC_PATH_PROG(LOGIN_PROGRAM_FALLBACK, login) |
102 | if test ! -z "$LOGIN_PROGRAM_FALLBACK" ; then | 101 | if test ! -z "$LOGIN_PROGRAM_FALLBACK" ; then |
103 | AC_DEFINE_UNQUOTED([LOGIN_PROGRAM_FALLBACK], ["$LOGIN_PROGRAM_FALLBACK"]) | 102 | AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM_FALLBACK") |
104 | fi | 103 | fi |
105 | fi | 104 | fi |
106 | 105 | ||
107 | AC_PATH_PROG([PATH_PASSWD_PROG], [passwd]) | 106 | AC_PATH_PROG(PATH_PASSWD_PROG, passwd) |
108 | if test ! -z "$PATH_PASSWD_PROG" ; then | 107 | if test ! -z "$PATH_PASSWD_PROG" ; then |
109 | AC_DEFINE_UNQUOTED([_PATH_PASSWD_PROG], ["$PATH_PASSWD_PROG"], | 108 | AC_DEFINE_UNQUOTED(_PATH_PASSWD_PROG, "$PATH_PASSWD_PROG", |
110 | [Full path of your "passwd" program]) | 109 | [Full path of your "passwd" program]) |
111 | fi | 110 | fi |
112 | 111 | ||
113 | if test -z "$LD" ; then | 112 | if test -z "$LD" ; then |
114 | LD=$CC | 113 | LD=$CC |
115 | fi | 114 | fi |
116 | AC_SUBST([LD]) | 115 | AC_SUBST(LD) |
117 | 116 | ||
118 | AC_C_INLINE | 117 | AC_C_INLINE |
119 | 118 | ||
120 | AC_CHECK_DECL([LLONG_MAX], [have_llong_max=1], , [#include <limits.h>]) | 119 | AC_CHECK_DECL(LLONG_MAX, have_llong_max=1, , [#include <limits.h>]) |
121 | 120 | ||
122 | use_stack_protector=1 | 121 | use_stack_protector=1 |
123 | AC_ARG_WITH([stackprotect], | 122 | AC_ARG_WITH(stackprotect, |
124 | [ --without-stackprotect Don't use compiler's stack protection], [ | 123 | [ --without-stackprotect Don't use compiler's stack protection], [ |
125 | if test "x$withval" = "xno"; then | 124 | if test "x$withval" = "xno"; then |
126 | use_stack_protector=0 | 125 | use_stack_protector=0 |
@@ -136,7 +135,7 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | |||
136 | OPENSSH_CHECK_CFLAG_COMPILE([-Wno-pointer-sign]) | 135 | OPENSSH_CHECK_CFLAG_COMPILE([-Wno-pointer-sign]) |
137 | OPENSSH_CHECK_CFLAG_COMPILE([-Wno-unused-result]) | 136 | OPENSSH_CHECK_CFLAG_COMPILE([-Wno-unused-result]) |
138 | OPENSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) | 137 | OPENSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) |
139 | AC_MSG_CHECKING([gcc version]) | 138 | AC_MSG_CHECKING(gcc version) |
140 | GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` | 139 | GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` |
141 | case $GCC_VER in | 140 | case $GCC_VER in |
142 | 1.*) no_attrib_nonnull=1 ;; | 141 | 1.*) no_attrib_nonnull=1 ;; |
@@ -146,52 +145,52 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | |||
146 | 2.*) no_attrib_nonnull=1 ;; | 145 | 2.*) no_attrib_nonnull=1 ;; |
147 | *) ;; | 146 | *) ;; |
148 | esac | 147 | esac |
149 | AC_MSG_RESULT([$GCC_VER]) | 148 | AC_MSG_RESULT($GCC_VER) |
150 | 149 | ||
151 | AC_MSG_CHECKING([if $CC accepts -fno-builtin-memset]) | 150 | AC_MSG_CHECKING(if $CC accepts -fno-builtin-memset) |
152 | saved_CFLAGS="$CFLAGS" | 151 | saved_CFLAGS="$CFLAGS" |
153 | CFLAGS="$CFLAGS -fno-builtin-memset" | 152 | CFLAGS="$CFLAGS -fno-builtin-memset" |
154 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <string.h> ]], | 153 | AC_LINK_IFELSE( [AC_LANG_SOURCE([[ |
155 | [[ char b[10]; memset(b, 0, sizeof(b)); ]])], | 154 | #include <string.h> |
156 | [ AC_MSG_RESULT([yes]) ], | 155 | int main(void){char b[10]; memset(b, 0, sizeof(b));} |
157 | [ AC_MSG_RESULT([no]) | 156 | ]])], |
157 | [ AC_MSG_RESULT(yes) ], | ||
158 | [ AC_MSG_RESULT(no) | ||
158 | CFLAGS="$saved_CFLAGS" ] | 159 | CFLAGS="$saved_CFLAGS" ] |
159 | ) | 160 | ) |
160 | 161 | ||
161 | # -fstack-protector-all doesn't always work for some GCC versions | 162 | # -fstack-protector-all doesn't always work for some GCC versions |
162 | # and/or platforms, so we test if we can. If it's not supported | 163 | # and/or platforms, so we test if we can. If it's not supported |
163 | # on a given platform gcc will emit a warning so we use -Werror. | 164 | # on a given platform gcc will emit a warning so we use -Werror. |
164 | if test "x$use_stack_protector" = "x1"; then | 165 | if test "x$use_stack_protector" = "x1"; then |
165 | for t in -fstack-protector-all -fstack-protector; do | 166 | for t in -fstack-protector-all -fstack-protector; do |
166 | AC_MSG_CHECKING([if $CC supports $t]) | 167 | AC_MSG_CHECKING(if $CC supports $t) |
167 | saved_CFLAGS="$CFLAGS" | 168 | saved_CFLAGS="$CFLAGS" |
168 | saved_LDFLAGS="$LDFLAGS" | 169 | saved_LDFLAGS="$LDFLAGS" |
169 | CFLAGS="$CFLAGS $t -Werror" | 170 | CFLAGS="$CFLAGS $t -Werror" |
170 | LDFLAGS="$LDFLAGS $t -Werror" | 171 | LDFLAGS="$LDFLAGS $t -Werror" |
171 | AC_LINK_IFELSE( | 172 | AC_LINK_IFELSE( |
172 | [AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 173 | [AC_LANG_SOURCE([ |
173 | [[ | 174 | #include <stdio.h> |
174 | char x[256]; | 175 | int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;} |
175 | snprintf(x, sizeof(x), "XXX"); | 176 | ])], |
176 | ]])], | 177 | [ AC_MSG_RESULT(yes) |
177 | [ AC_MSG_RESULT([yes]) | ||
178 | CFLAGS="$saved_CFLAGS $t" | 178 | CFLAGS="$saved_CFLAGS $t" |
179 | LDFLAGS="$saved_LDFLAGS $t" | 179 | LDFLAGS="$saved_LDFLAGS $t" |
180 | AC_MSG_CHECKING([if $t works]) | 180 | AC_MSG_CHECKING(if $t works) |
181 | AC_RUN_IFELSE( | 181 | AC_RUN_IFELSE( |
182 | [AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 182 | [AC_LANG_SOURCE([ |
183 | [[ | 183 | #include <stdio.h> |
184 | char x[256]; | 184 | int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;} |
185 | snprintf(x, sizeof(x), "XXX"); | 185 | ])], |
186 | ]])], | 186 | [ AC_MSG_RESULT(yes) |
187 | [ AC_MSG_RESULT([yes]) | ||
188 | break ], | 187 | break ], |
189 | [ AC_MSG_RESULT([no]) ], | 188 | [ AC_MSG_RESULT(no) ], |
190 | [ AC_MSG_WARN([cross compiling: cannot test]) | 189 | [ AC_MSG_WARN([cross compiling: cannot test]) |
191 | break ] | 190 | break ] |
192 | ) | 191 | ) |
193 | ], | 192 | ], |
194 | [ AC_MSG_RESULT([no]) ] | 193 | [ AC_MSG_RESULT(no) ] |
195 | ) | 194 | ) |
196 | CFLAGS="$saved_CFLAGS" | 195 | CFLAGS="$saved_CFLAGS" |
197 | LDFLAGS="$saved_LDFLAGS" | 196 | LDFLAGS="$saved_LDFLAGS" |
@@ -203,7 +202,7 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | |||
203 | unset ac_cv_have_decl_LLONG_MAX | 202 | unset ac_cv_have_decl_LLONG_MAX |
204 | saved_CFLAGS="$CFLAGS" | 203 | saved_CFLAGS="$CFLAGS" |
205 | CFLAGS="$CFLAGS -std=gnu99" | 204 | CFLAGS="$CFLAGS -std=gnu99" |
206 | AC_CHECK_DECL([LLONG_MAX], | 205 | AC_CHECK_DECL(LLONG_MAX, |
207 | [have_llong_max=1], | 206 | [have_llong_max=1], |
208 | [CFLAGS="$saved_CFLAGS"], | 207 | [CFLAGS="$saved_CFLAGS"], |
209 | [#include <limits.h>] | 208 | [#include <limits.h>] |
@@ -212,10 +211,10 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | |||
212 | fi | 211 | fi |
213 | 212 | ||
214 | if test "x$no_attrib_nonnull" != "x1" ; then | 213 | if test "x$no_attrib_nonnull" != "x1" ; then |
215 | AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull]) | 214 | AC_DEFINE(HAVE_ATTRIBUTE__NONNULL__, 1, [Have attribute nonnull]) |
216 | fi | 215 | fi |
217 | 216 | ||
218 | AC_ARG_WITH([rpath], | 217 | AC_ARG_WITH(rpath, |
219 | [ --without-rpath Disable auto-added -R linker paths], | 218 | [ --without-rpath Disable auto-added -R linker paths], |
220 | [ | 219 | [ |
221 | if test "x$withval" = "xno" ; then | 220 | if test "x$withval" = "xno" ; then |
@@ -228,7 +227,7 @@ AC_ARG_WITH([rpath], | |||
228 | ) | 227 | ) |
229 | 228 | ||
230 | # Allow user to specify flags | 229 | # Allow user to specify flags |
231 | AC_ARG_WITH([cflags], | 230 | AC_ARG_WITH(cflags, |
232 | [ --with-cflags Specify additional flags to pass to compiler], | 231 | [ --with-cflags Specify additional flags to pass to compiler], |
233 | [ | 232 | [ |
234 | if test -n "$withval" && test "x$withval" != "xno" && \ | 233 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -237,7 +236,7 @@ AC_ARG_WITH([cflags], | |||
237 | fi | 236 | fi |
238 | ] | 237 | ] |
239 | ) | 238 | ) |
240 | AC_ARG_WITH([cppflags], | 239 | AC_ARG_WITH(cppflags, |
241 | [ --with-cppflags Specify additional flags to pass to preprocessor] , | 240 | [ --with-cppflags Specify additional flags to pass to preprocessor] , |
242 | [ | 241 | [ |
243 | if test -n "$withval" && test "x$withval" != "xno" && \ | 242 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -246,7 +245,7 @@ AC_ARG_WITH([cppflags], | |||
246 | fi | 245 | fi |
247 | ] | 246 | ] |
248 | ) | 247 | ) |
249 | AC_ARG_WITH([ldflags], | 248 | AC_ARG_WITH(ldflags, |
250 | [ --with-ldflags Specify additional flags to pass to linker], | 249 | [ --with-ldflags Specify additional flags to pass to linker], |
251 | [ | 250 | [ |
252 | if test -n "$withval" && test "x$withval" != "xno" && \ | 251 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -255,7 +254,7 @@ AC_ARG_WITH([ldflags], | |||
255 | fi | 254 | fi |
256 | ] | 255 | ] |
257 | ) | 256 | ) |
258 | AC_ARG_WITH([libs], | 257 | AC_ARG_WITH(libs, |
259 | [ --with-libs Specify additional libraries to link with], | 258 | [ --with-libs Specify additional libraries to link with], |
260 | [ | 259 | [ |
261 | if test -n "$withval" && test "x$withval" != "xno" && \ | 260 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -264,7 +263,7 @@ AC_ARG_WITH([libs], | |||
264 | fi | 263 | fi |
265 | ] | 264 | ] |
266 | ) | 265 | ) |
267 | AC_ARG_WITH([Werror], | 266 | AC_ARG_WITH(Werror, |
268 | [ --with-Werror Build main code with -Werror], | 267 | [ --with-Werror Build main code with -Werror], |
269 | [ | 268 | [ |
270 | if test -n "$withval" && test "x$withval" != "xno"; then | 269 | if test -n "$withval" && test "x$withval" != "xno"; then |
@@ -276,7 +275,7 @@ AC_ARG_WITH([Werror], | |||
276 | ] | 275 | ] |
277 | ) | 276 | ) |
278 | 277 | ||
279 | AC_CHECK_HEADERS([ \ | 278 | AC_CHECK_HEADERS( \ |
280 | bstring.h \ | 279 | bstring.h \ |
281 | crypt.h \ | 280 | crypt.h \ |
282 | crypto/sha2.h \ | 281 | crypto/sha2.h \ |
@@ -340,29 +339,29 @@ AC_CHECK_HEADERS([ \ | |||
340 | utmp.h \ | 339 | utmp.h \ |
341 | utmpx.h \ | 340 | utmpx.h \ |
342 | vis.h \ | 341 | vis.h \ |
343 | ]) | 342 | ) |
344 | 343 | ||
345 | # lastlog.h requires sys/time.h to be included first on Solaris | 344 | # lastlog.h requires sys/time.h to be included first on Solaris |
346 | AC_CHECK_HEADERS([lastlog.h], [], [], [ | 345 | AC_CHECK_HEADERS(lastlog.h, [], [], [ |
347 | #ifdef HAVE_SYS_TIME_H | 346 | #ifdef HAVE_SYS_TIME_H |
348 | # include <sys/time.h> | 347 | # include <sys/time.h> |
349 | #endif | 348 | #endif |
350 | ]) | 349 | ]) |
351 | 350 | ||
352 | # sys/ptms.h requires sys/stream.h to be included first on Solaris | 351 | # sys/ptms.h requires sys/stream.h to be included first on Solaris |
353 | AC_CHECK_HEADERS([sys/ptms.h], [], [], [ | 352 | AC_CHECK_HEADERS(sys/ptms.h, [], [], [ |
354 | #ifdef HAVE_SYS_STREAM_H | 353 | #ifdef HAVE_SYS_STREAM_H |
355 | # include <sys/stream.h> | 354 | # include <sys/stream.h> |
356 | #endif | 355 | #endif |
357 | ]) | 356 | ]) |
358 | 357 | ||
359 | # login_cap.h requires sys/types.h on NetBSD | 358 | # login_cap.h requires sys/types.h on NetBSD |
360 | AC_CHECK_HEADERS([login_cap.h], [], [], [ | 359 | AC_CHECK_HEADERS(login_cap.h, [], [], [ |
361 | #include <sys/types.h> | 360 | #include <sys/types.h> |
362 | ]) | 361 | ]) |
363 | 362 | ||
364 | # older BSDs need sys/param.h before sys/mount.h | 363 | # older BSDs need sys/param.h before sys/mount.h |
365 | AC_CHECK_HEADERS([sys/mount.h], [], [], [ | 364 | AC_CHECK_HEADERS(sys/mount.h, [], [], [ |
366 | #include <sys/param.h> | 365 | #include <sys/param.h> |
367 | ]) | 366 | ]) |
368 | 367 | ||
@@ -379,14 +378,15 @@ case "$host" in | |||
379 | # particularly with older versions of vac or xlc. | 378 | # particularly with older versions of vac or xlc. |
380 | # It also throws errors about null macro argments, but these are | 379 | # It also throws errors about null macro argments, but these are |
381 | # not fatal. | 380 | # not fatal. |
382 | AC_MSG_CHECKING([if compiler allows macro redefinitions]) | 381 | AC_MSG_CHECKING(if compiler allows macro redefinitions) |
383 | AC_COMPILE_IFELSE( | 382 | AC_COMPILE_IFELSE( |
384 | [AC_LANG_PROGRAM([[ | 383 | [AC_LANG_SOURCE([[ |
385 | #define testmacro foo | 384 | #define testmacro foo |
386 | #define testmacro bar]], | 385 | #define testmacro bar |
387 | [[ exit(0); ]])], | 386 | int main(void) { exit(0); } |
388 | [ AC_MSG_RESULT([yes]) ], | 387 | ]])], |
389 | [ AC_MSG_RESULT([no]) | 388 | [ AC_MSG_RESULT(yes) ], |
389 | [ AC_MSG_RESULT(no) | ||
390 | CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" | 390 | CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" |
391 | LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" | 391 | LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" |
392 | CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" | 392 | CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" |
@@ -407,22 +407,21 @@ case "$host" in | |||
407 | for tryflags in $flags ;do | 407 | for tryflags in $flags ;do |
408 | if (test -z "$blibflags"); then | 408 | if (test -z "$blibflags"); then |
409 | LDFLAGS="$saved_LDFLAGS $tryflags$blibpath" | 409 | LDFLAGS="$saved_LDFLAGS $tryflags$blibpath" |
410 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], | 410 | AC_TRY_LINK([], [], [blibflags=$tryflags]) |
411 | [blibflags=$tryflags], []) | ||
412 | fi | 411 | fi |
413 | done | 412 | done |
414 | if (test -z "$blibflags"); then | 413 | if (test -z "$blibflags"); then |
415 | AC_MSG_RESULT([not found]) | 414 | AC_MSG_RESULT(not found) |
416 | AC_MSG_ERROR([*** must be able to specify blibpath on AIX - check config.log]) | 415 | AC_MSG_ERROR([*** must be able to specify blibpath on AIX - check config.log]) |
417 | else | 416 | else |
418 | AC_MSG_RESULT([$blibflags]) | 417 | AC_MSG_RESULT($blibflags) |
419 | fi | 418 | fi |
420 | LDFLAGS="$saved_LDFLAGS" | 419 | LDFLAGS="$saved_LDFLAGS" |
421 | dnl Check for authenticate. Might be in libs.a on older AIXes | 420 | dnl Check for authenticate. Might be in libs.a on older AIXes |
422 | AC_CHECK_FUNC([authenticate], [AC_DEFINE([WITH_AIXAUTHENTICATE], [1], | 421 | AC_CHECK_FUNC(authenticate, [AC_DEFINE(WITH_AIXAUTHENTICATE, 1, |
423 | [Define if you want to enable AIX4's authenticate function])], | 422 | [Define if you want to enable AIX4's authenticate function])], |
424 | [AC_CHECK_LIB([s], [authenticate], | 423 | [AC_CHECK_LIB(s,authenticate, |
425 | [ AC_DEFINE([WITH_AIXAUTHENTICATE]) | 424 | [ AC_DEFINE(WITH_AIXAUTHENTICATE) |
426 | LIBS="$LIBS -ls" | 425 | LIBS="$LIBS -ls" |
427 | ]) | 426 | ]) |
428 | ]) | 427 | ]) |
@@ -430,98 +429,96 @@ case "$host" in | |||
430 | AC_CHECK_DECLS([authenticate, loginrestrictions, loginsuccess, | 429 | AC_CHECK_DECLS([authenticate, loginrestrictions, loginsuccess, |
431 | passwdexpired, setauthdb], , , [#include <usersec.h>]) | 430 | passwdexpired, setauthdb], , , [#include <usersec.h>]) |
432 | dnl Check if loginfailed is declared and takes 4 arguments (AIX >= 5.2) | 431 | dnl Check if loginfailed is declared and takes 4 arguments (AIX >= 5.2) |
433 | AC_CHECK_DECLS([loginfailed], | 432 | AC_CHECK_DECLS(loginfailed, |
434 | [AC_MSG_CHECKING([if loginfailed takes 4 arguments]) | 433 | [AC_MSG_CHECKING(if loginfailed takes 4 arguments) |
435 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <usersec.h> ]], | 434 | AC_TRY_COMPILE( |
436 | [[ (void)loginfailed("user","host","tty",0); ]])], | 435 | [#include <usersec.h>], |
437 | [AC_MSG_RESULT([yes]) | 436 | [(void)loginfailed("user","host","tty",0);], |
438 | AC_DEFINE([AIX_LOGINFAILED_4ARG], [1], | 437 | [AC_MSG_RESULT(yes) |
439 | [Define if your AIX loginfailed() function | 438 | AC_DEFINE(AIX_LOGINFAILED_4ARG, 1, |
440 | takes 4 arguments (AIX >= 5.2)])], [AC_MSG_RESULT([no]) | 439 | [Define if your AIX loginfailed() function |
441 | ])], | 440 | takes 4 arguments (AIX >= 5.2)])], |
442 | [], | 441 | [AC_MSG_RESULT(no)] |
443 | [#include <usersec.h>] | 442 | )], |
443 | [], | ||
444 | [#include <usersec.h>] | ||
444 | ) | 445 | ) |
445 | AC_CHECK_FUNCS([getgrset setauthdb]) | 446 | AC_CHECK_FUNCS(getgrset setauthdb) |
446 | AC_CHECK_DECL([F_CLOSEM], | 447 | AC_CHECK_DECL(F_CLOSEM, |
447 | AC_DEFINE([HAVE_FCNTL_CLOSEM], [1], [Use F_CLOSEM fcntl for closefrom]), | 448 | AC_DEFINE(HAVE_FCNTL_CLOSEM, 1, [Use F_CLOSEM fcntl for closefrom]), |
448 | [], | 449 | [], |
449 | [ #include <limits.h> | 450 | [ #include <limits.h> |
450 | #include <fcntl.h> ] | 451 | #include <fcntl.h> ] |
451 | ) | 452 | ) |
452 | check_for_aix_broken_getaddrinfo=1 | 453 | check_for_aix_broken_getaddrinfo=1 |
453 | AC_DEFINE([BROKEN_REALPATH], [1], [Define if you have a broken realpath.]) | 454 | AC_DEFINE(BROKEN_REALPATH, 1, [Define if you have a broken realpath.]) |
454 | AC_DEFINE([SETEUID_BREAKS_SETUID], [1], | 455 | AC_DEFINE(SETEUID_BREAKS_SETUID, 1, |
455 | [Define if your platform breaks doing a seteuid before a setuid]) | 456 | [Define if your platform breaks doing a seteuid before a setuid]) |
456 | AC_DEFINE([BROKEN_SETREUID], [1], [Define if your setreuid() is broken]) | 457 | AC_DEFINE(BROKEN_SETREUID, 1, [Define if your setreuid() is broken]) |
457 | AC_DEFINE([BROKEN_SETREGID], [1], [Define if your setregid() is broken]) | 458 | AC_DEFINE(BROKEN_SETREGID, 1, [Define if your setregid() is broken]) |
458 | dnl AIX handles lastlog as part of its login message | 459 | dnl AIX handles lastlog as part of its login message |
459 | AC_DEFINE([DISABLE_LASTLOG], [1], [Define if you don't want to use lastlog]) | 460 | AC_DEFINE(DISABLE_LASTLOG, 1, [Define if you don't want to use lastlog]) |
460 | AC_DEFINE([LOGIN_NEEDS_UTMPX], [1], | 461 | AC_DEFINE(LOGIN_NEEDS_UTMPX, 1, |
461 | [Some systems need a utmpx entry for /bin/login to work]) | 462 | [Some systems need a utmpx entry for /bin/login to work]) |
462 | AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV], | 463 | AC_DEFINE(SPT_TYPE,SPT_REUSEARGV, |
463 | [Define to a Set Process Title type if your system is | 464 | [Define to a Set Process Title type if your system is |
464 | supported by bsd-setproctitle.c]) | 465 | supported by bsd-setproctitle.c]) |
465 | AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], | 466 | AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1, |
466 | [AIX 5.2 and 5.3 (and presumably newer) require this]) | 467 | [AIX 5.2 and 5.3 (and presumably newer) require this]) |
467 | AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd]) | 468 | AC_DEFINE(PTY_ZEROREAD, 1, [read(1) can return 0 for a non-closed fd]) |
468 | ;; | 469 | ;; |
469 | *-*-cygwin*) | 470 | *-*-cygwin*) |
470 | check_for_libcrypt_later=1 | 471 | check_for_libcrypt_later=1 |
471 | LIBS="$LIBS /usr/lib/textreadmode.o" | 472 | LIBS="$LIBS /usr/lib/textreadmode.o" |
472 | AC_DEFINE([HAVE_CYGWIN], [1], [Define if you are on Cygwin]) | 473 | AC_DEFINE(HAVE_CYGWIN, 1, [Define if you are on Cygwin]) |
473 | AC_DEFINE([USE_PIPES], [1], [Use PIPES instead of a socketpair()]) | 474 | AC_DEFINE(USE_PIPES, 1, [Use PIPES instead of a socketpair()]) |
474 | AC_DEFINE([DISABLE_SHADOW], [1], | 475 | AC_DEFINE(DISABLE_SHADOW, 1, |
475 | [Define if you want to disable shadow passwords]) | 476 | [Define if you want to disable shadow passwords]) |
476 | AC_DEFINE([NO_X11_UNIX_SOCKETS], [1], | 477 | AC_DEFINE(NO_X11_UNIX_SOCKETS, 1, |
477 | [Define if X11 doesn't support AF_UNIX sockets on that system]) | 478 | [Define if X11 doesn't support AF_UNIX sockets on that system]) |
478 | AC_DEFINE([NO_IPPORT_RESERVED_CONCEPT], [1], | 479 | AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT, 1, |
479 | [Define if the concept of ports only accessible to | 480 | [Define if the concept of ports only accessible to |
480 | superusers isn't known]) | 481 | superusers isn't known]) |
481 | AC_DEFINE([DISABLE_FD_PASSING], [1], | 482 | AC_DEFINE(DISABLE_FD_PASSING, 1, |
482 | [Define if your platform needs to skip post auth | 483 | [Define if your platform needs to skip post auth |
483 | file descriptor passing]) | 484 | file descriptor passing]) |
484 | AC_DEFINE([SSH_IOBUFSZ], [65535], [Windows is sensitive to read buffer size]) | 485 | AC_DEFINE(SSH_IOBUFSZ, 65535, [Windows is sensitive to read buffer size]) |
485 | AC_DEFINE([FILESYSTEM_NO_BACKSLASH], [1], [File names may not contain backslash characters]) | 486 | AC_DEFINE(FILESYSTEM_NO_BACKSLASH, 1, [File names may not contain backslash characters]) |
486 | ;; | 487 | ;; |
487 | *-*-dgux*) | 488 | *-*-dgux*) |
488 | AC_DEFINE([IP_TOS_IS_BROKEN], [1], | 489 | AC_DEFINE(IP_TOS_IS_BROKEN, 1, |
489 | [Define if your system choked on IP TOS setting]) | 490 | [Define if your system choked on IP TOS setting]) |
490 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 491 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
491 | AC_DEFINE([BROKEN_SETREUID]) | 492 | AC_DEFINE(BROKEN_SETREUID) |
492 | AC_DEFINE([BROKEN_SETREGID]) | 493 | AC_DEFINE(BROKEN_SETREGID) |
493 | ;; | 494 | ;; |
494 | *-*-darwin*) | 495 | *-*-darwin*) |
495 | AC_MSG_CHECKING([if we have working getaddrinfo]) | 496 | AC_MSG_CHECKING(if we have working getaddrinfo) |
496 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <mach-o/dyld.h> | 497 | AC_TRY_RUN([#include <mach-o/dyld.h> |
497 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | 498 | main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) |
498 | exit(0); | 499 | exit(0); |
499 | else | 500 | else |
500 | exit(1); | 501 | exit(1); |
501 | } | 502 | }], [AC_MSG_RESULT(working)], |
502 | ]])], | 503 | [AC_MSG_RESULT(buggy) |
503 | [AC_MSG_RESULT([working])], | 504 | AC_DEFINE(BROKEN_GETADDRINFO, 1, [getaddrinfo is broken (if present)])], |
504 | [AC_MSG_RESULT([buggy]) | 505 | [AC_MSG_RESULT(assume it is working)]) |
505 | AC_DEFINE([BROKEN_GETADDRINFO], [1], | 506 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
506 | [getaddrinfo is broken (if present)]) | 507 | AC_DEFINE(BROKEN_SETREUID) |
507 | ], | 508 | AC_DEFINE(BROKEN_SETREGID) |
508 | [AC_MSG_RESULT([assume it is working])]) | 509 | AC_DEFINE(BROKEN_GLOB, 1, [OS X glob does not do what we expect]) |
509 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 510 | AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1, |
510 | AC_DEFINE([BROKEN_SETREUID]) | ||
511 | AC_DEFINE([BROKEN_SETREGID]) | ||
512 | AC_DEFINE([BROKEN_GLOB], [1], [OS X glob does not do what we expect]) | ||
513 | AC_DEFINE_UNQUOTED([BIND_8_COMPAT], [1], | ||
514 | [Define if your resolver libs need this for getrrsetbyname]) | 511 | [Define if your resolver libs need this for getrrsetbyname]) |
515 | AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) | 512 | AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) |
516 | AC_DEFINE([SSH_TUN_COMPAT_AF], [1], | 513 | AC_DEFINE(SSH_TUN_COMPAT_AF, 1, |
517 | [Use tunnel device compatibility to OpenBSD]) | 514 | [Use tunnel device compatibility to OpenBSD]) |
518 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], | 515 | AC_DEFINE(SSH_TUN_PREPEND_AF, 1, |
519 | [Prepend the address family to IP tunnel traffic]) | 516 | [Prepend the address family to IP tunnel traffic]) |
520 | m4_pattern_allow([AU_IPv]) | 517 | m4_pattern_allow(AU_IPv) |
521 | AC_CHECK_DECL([AU_IPv4], [], | 518 | AC_CHECK_DECL(AU_IPv4, [], |
522 | AC_DEFINE([AU_IPv4], [0], [System only supports IPv4 audit records]) | 519 | AC_DEFINE(AU_IPv4, 0, [System only supports IPv4 audit records]) |
523 | [#include <bsm/audit.h>] | 520 | [#include <bsm/audit.h>] |
524 | AC_DEFINE([LASTLOG_WRITE_PUTUTXLINE], [1], | 521 | AC_DEFINE(LASTLOG_WRITE_PUTUTXLINE, 1, |
525 | [Define if pututxline updates lastlog too]) | 522 | [Define if pututxline updates lastlog too]) |
526 | ) | 523 | ) |
527 | ;; | 524 | ;; |
@@ -530,25 +527,25 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
530 | ;; | 527 | ;; |
531 | *-*-haiku*) | 528 | *-*-haiku*) |
532 | LIBS="$LIBS -lbsd " | 529 | LIBS="$LIBS -lbsd " |
533 | AC_CHECK_LIB([network], [socket]) | 530 | AC_CHECK_LIB(network, socket) |
534 | AC_DEFINE([HAVE_U_INT64_T]) | 531 | AC_DEFINE(HAVE_U_INT64_T) |
535 | MANTYPE=man | 532 | MANTYPE=man |
536 | ;; | 533 | ;; |
537 | *-*-hpux*) | 534 | *-*-hpux*) |
538 | # first we define all of the options common to all HP-UX releases | 535 | # first we define all of the options common to all HP-UX releases |
539 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" | 536 | CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" |
540 | IPADDR_IN_DISPLAY=yes | 537 | IPADDR_IN_DISPLAY=yes |
541 | AC_DEFINE([USE_PIPES]) | 538 | AC_DEFINE(USE_PIPES) |
542 | AC_DEFINE([LOGIN_NO_ENDOPT], [1], | 539 | AC_DEFINE(LOGIN_NO_ENDOPT, 1, |
543 | [Define if your login program cannot handle end of options ("--")]) | 540 | [Define if your login program cannot handle end of options ("--")]) |
544 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) | 541 | AC_DEFINE(LOGIN_NEEDS_UTMPX) |
545 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*"], | 542 | AC_DEFINE(LOCKED_PASSWD_STRING, "*", |
546 | [String used in /etc/passwd to denote locked account]) | 543 | [String used in /etc/passwd to denote locked account]) |
547 | AC_DEFINE([SPT_TYPE], [SPT_PSTAT]) | 544 | AC_DEFINE(SPT_TYPE,SPT_PSTAT) |
548 | MAIL="/var/mail/username" | 545 | MAIL="/var/mail/username" |
549 | LIBS="$LIBS -lsec" | 546 | LIBS="$LIBS -lsec" |
550 | AC_CHECK_LIB([xnet], [t_error], , | 547 | AC_CHECK_LIB(xnet, t_error, , |
551 | [AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***])]) | 548 | AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***])) |
552 | 549 | ||
553 | # next, we define all of the options specific to major releases | 550 | # next, we define all of the options specific to major releases |
554 | case "$host" in | 551 | case "$host" in |
@@ -558,13 +555,13 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
558 | fi | 555 | fi |
559 | ;; | 556 | ;; |
560 | *-*-hpux11*) | 557 | *-*-hpux11*) |
561 | AC_DEFINE([PAM_SUN_CODEBASE], [1], | 558 | AC_DEFINE(PAM_SUN_CODEBASE, 1, |
562 | [Define if you are using Solaris-derived PAM which | 559 | [Define if you are using Solaris-derived PAM which |
563 | passes pam_messages to the conversation function | 560 | passes pam_messages to the conversation function |
564 | with an extra level of indirection]) | 561 | with an extra level of indirection]) |
565 | AC_DEFINE([DISABLE_UTMP], [1], | 562 | AC_DEFINE(DISABLE_UTMP, 1, |
566 | [Define if you don't want to use utmp]) | 563 | [Define if you don't want to use utmp]) |
567 | AC_DEFINE([USE_BTMP], [1], [Use btmp to log bad logins]) | 564 | AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) |
568 | check_for_hpux_broken_getaddrinfo=1 | 565 | check_for_hpux_broken_getaddrinfo=1 |
569 | check_for_conflicting_getspnam=1 | 566 | check_for_conflicting_getspnam=1 |
570 | ;; | 567 | ;; |
@@ -573,7 +570,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
573 | # lastly, we define options specific to minor releases | 570 | # lastly, we define options specific to minor releases |
574 | case "$host" in | 571 | case "$host" in |
575 | *-*-hpux10.26) | 572 | *-*-hpux10.26) |
576 | AC_DEFINE([HAVE_SECUREWARE], [1], | 573 | AC_DEFINE(HAVE_SECUREWARE, 1, |
577 | [Define if you have SecureWare-based | 574 | [Define if you have SecureWare-based |
578 | protected password database]) | 575 | protected password database]) |
579 | disable_ptmx_check=yes | 576 | disable_ptmx_check=yes |
@@ -583,79 +580,79 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
583 | ;; | 580 | ;; |
584 | *-*-irix5*) | 581 | *-*-irix5*) |
585 | PATH="$PATH:/usr/etc" | 582 | PATH="$PATH:/usr/etc" |
586 | AC_DEFINE([BROKEN_INET_NTOA], [1], | 583 | AC_DEFINE(BROKEN_INET_NTOA, 1, |
587 | [Define if you system's inet_ntoa is busted | 584 | [Define if you system's inet_ntoa is busted |
588 | (e.g. Irix gcc issue)]) | 585 | (e.g. Irix gcc issue)]) |
589 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 586 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
590 | AC_DEFINE([BROKEN_SETREUID]) | 587 | AC_DEFINE(BROKEN_SETREUID) |
591 | AC_DEFINE([BROKEN_SETREGID]) | 588 | AC_DEFINE(BROKEN_SETREGID) |
592 | AC_DEFINE([WITH_ABBREV_NO_TTY], [1], | 589 | AC_DEFINE(WITH_ABBREV_NO_TTY, 1, |
593 | [Define if you shouldn't strip 'tty' from your | 590 | [Define if you shouldn't strip 'tty' from your |
594 | ttyname in [uw]tmp]) | 591 | ttyname in [uw]tmp]) |
595 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) | 592 | AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") |
596 | ;; | 593 | ;; |
597 | *-*-irix6*) | 594 | *-*-irix6*) |
598 | PATH="$PATH:/usr/etc" | 595 | PATH="$PATH:/usr/etc" |
599 | AC_DEFINE([WITH_IRIX_ARRAY], [1], | 596 | AC_DEFINE(WITH_IRIX_ARRAY, 1, |
600 | [Define if you have/want arrays | 597 | [Define if you have/want arrays |
601 | (cluster-wide session managment, not C arrays)]) | 598 | (cluster-wide session managment, not C arrays)]) |
602 | AC_DEFINE([WITH_IRIX_PROJECT], [1], | 599 | AC_DEFINE(WITH_IRIX_PROJECT, 1, |
603 | [Define if you want IRIX project management]) | 600 | [Define if you want IRIX project management]) |
604 | AC_DEFINE([WITH_IRIX_AUDIT], [1], | 601 | AC_DEFINE(WITH_IRIX_AUDIT, 1, |
605 | [Define if you want IRIX audit trails]) | 602 | [Define if you want IRIX audit trails]) |
606 | AC_CHECK_FUNC([jlimit_startjob], [AC_DEFINE([WITH_IRIX_JOBS], [1], | 603 | AC_CHECK_FUNC(jlimit_startjob, [AC_DEFINE(WITH_IRIX_JOBS, 1, |
607 | [Define if you want IRIX kernel jobs])]) | 604 | [Define if you want IRIX kernel jobs])]) |
608 | AC_DEFINE([BROKEN_INET_NTOA]) | 605 | AC_DEFINE(BROKEN_INET_NTOA) |
609 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 606 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
610 | AC_DEFINE([BROKEN_SETREUID]) | 607 | AC_DEFINE(BROKEN_SETREUID) |
611 | AC_DEFINE([BROKEN_SETREGID]) | 608 | AC_DEFINE(BROKEN_SETREGID) |
612 | AC_DEFINE([BROKEN_UPDWTMPX], [1], [updwtmpx is broken (if present)]) | 609 | AC_DEFINE(BROKEN_UPDWTMPX, 1, [updwtmpx is broken (if present)]) |
613 | AC_DEFINE([WITH_ABBREV_NO_TTY]) | 610 | AC_DEFINE(WITH_ABBREV_NO_TTY) |
614 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) | 611 | AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") |
615 | ;; | 612 | ;; |
616 | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) | 613 | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu) |
617 | check_for_libcrypt_later=1 | 614 | check_for_libcrypt_later=1 |
618 | AC_DEFINE([PAM_TTY_KLUDGE]) | 615 | AC_DEFINE(PAM_TTY_KLUDGE) |
619 | AC_DEFINE([LOCKED_PASSWD_PREFIX], ["!"]) | 616 | AC_DEFINE(LOCKED_PASSWD_PREFIX, "!") |
620 | AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV]) | 617 | AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) |
621 | AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts]) | 618 | AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts]) |
622 | AC_DEFINE([USE_BTMP], [1], [Use btmp to log bad logins]) | 619 | AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) |
623 | ;; | 620 | ;; |
624 | *-*-linux*) | 621 | *-*-linux*) |
625 | no_dev_ptmx=1 | 622 | no_dev_ptmx=1 |
626 | check_for_libcrypt_later=1 | 623 | check_for_libcrypt_later=1 |
627 | check_for_openpty_ctty_bug=1 | 624 | check_for_openpty_ctty_bug=1 |
628 | AC_DEFINE([PAM_TTY_KLUDGE], [1], | 625 | AC_DEFINE(PAM_TTY_KLUDGE, 1, |
629 | [Work around problematic Linux PAM modules handling of PAM_TTY]) | 626 | [Work around problematic Linux PAM modules handling of PAM_TTY]) |
630 | AC_DEFINE([LOCKED_PASSWD_PREFIX], ["!"], | 627 | AC_DEFINE(LOCKED_PASSWD_PREFIX, "!", |
631 | [String used in /etc/passwd to denote locked account]) | 628 | [String used in /etc/passwd to denote locked account]) |
632 | AC_DEFINE([SPT_TYPE], [SPT_REUSEARGV]) | 629 | AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) |
633 | AC_DEFINE([LINK_OPNOTSUPP_ERRNO], [EPERM], | 630 | AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM, |
634 | [Define to whatever link() returns for "not supported" | 631 | [Define to whatever link() returns for "not supported" |
635 | if it doesn't return EOPNOTSUPP.]) | 632 | if it doesn't return EOPNOTSUPP.]) |
636 | AC_DEFINE([_PATH_BTMP], ["/var/log/btmp"], [log for bad login attempts]) | 633 | AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts]) |
637 | AC_DEFINE([USE_BTMP]) | 634 | AC_DEFINE(USE_BTMP) |
638 | AC_DEFINE([LINUX_OOM_ADJUST], [1], [Adjust Linux out-of-memory killer]) | 635 | AC_DEFINE(LINUX_OOM_ADJUST, 1, [Adjust Linux out-of-memory killer]) |
639 | inet6_default_4in6=yes | 636 | inet6_default_4in6=yes |
640 | case `uname -r` in | 637 | case `uname -r` in |
641 | 1.*|2.0.*) | 638 | 1.*|2.0.*) |
642 | AC_DEFINE([BROKEN_CMSG_TYPE], [1], | 639 | AC_DEFINE(BROKEN_CMSG_TYPE, 1, |
643 | [Define if cmsg_type is not passed correctly]) | 640 | [Define if cmsg_type is not passed correctly]) |
644 | ;; | 641 | ;; |
645 | esac | 642 | esac |
646 | # tun(4) forwarding compat code | 643 | # tun(4) forwarding compat code |
647 | AC_CHECK_HEADERS([linux/if_tun.h]) | 644 | AC_CHECK_HEADERS(linux/if_tun.h) |
648 | if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then | 645 | if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then |
649 | AC_DEFINE([SSH_TUN_LINUX], [1], | 646 | AC_DEFINE(SSH_TUN_LINUX, 1, |
650 | [Open tunnel devices the Linux tun/tap way]) | 647 | [Open tunnel devices the Linux tun/tap way]) |
651 | AC_DEFINE([SSH_TUN_COMPAT_AF], [1], | 648 | AC_DEFINE(SSH_TUN_COMPAT_AF, 1, |
652 | [Use tunnel device compatibility to OpenBSD]) | 649 | [Use tunnel device compatibility to OpenBSD]) |
653 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], | 650 | AC_DEFINE(SSH_TUN_PREPEND_AF, 1, |
654 | [Prepend the address family to IP tunnel traffic]) | 651 | [Prepend the address family to IP tunnel traffic]) |
655 | fi | 652 | fi |
656 | ;; | 653 | ;; |
657 | mips-sony-bsd|mips-sony-newsos4) | 654 | mips-sony-bsd|mips-sony-newsos4) |
658 | AC_DEFINE([NEED_SETPGRP], [1], [Need setpgrp to acquire controlling tty]) | 655 | AC_DEFINE(NEED_SETPGRP, 1, [Need setpgrp to acquire controlling tty]) |
659 | SONY=1 | 656 | SONY=1 |
660 | ;; | 657 | ;; |
661 | *-*-netbsd*) | 658 | *-*-netbsd*) |
@@ -663,91 +660,91 @@ mips-sony-bsd|mips-sony-newsos4) | |||
663 | if test "x$withval" != "xno" ; then | 660 | if test "x$withval" != "xno" ; then |
664 | need_dash_r=1 | 661 | need_dash_r=1 |
665 | fi | 662 | fi |
666 | AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) | 663 | AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) |
667 | AC_CHECK_HEADER([net/if_tap.h], , | 664 | AC_CHECK_HEADER([net/if_tap.h], , |
668 | AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) | 665 | AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support])) |
669 | AC_DEFINE([SSH_TUN_PREPEND_AF], [1], | 666 | AC_DEFINE(SSH_TUN_PREPEND_AF, 1, |
670 | [Prepend the address family to IP tunnel traffic]) | 667 | [Prepend the address family to IP tunnel traffic]) |
671 | ;; | 668 | ;; |
672 | *-*-freebsd*) | 669 | *-*-freebsd*) |
673 | check_for_libcrypt_later=1 | 670 | check_for_libcrypt_later=1 |
674 | AC_DEFINE([LOCKED_PASSWD_PREFIX], ["*LOCKED*"], [Account locked with pw(1)]) | 671 | AC_DEFINE(LOCKED_PASSWD_PREFIX, "*LOCKED*", [Account locked with pw(1)]) |
675 | AC_DEFINE([SSH_TUN_FREEBSD], [1], [Open tunnel devices the FreeBSD way]) | 672 | AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) |
676 | AC_CHECK_HEADER([net/if_tap.h], , | 673 | AC_CHECK_HEADER([net/if_tap.h], , |
677 | AC_DEFINE([SSH_TUN_NO_L2], [1], [No layer 2 tunnel support])) | 674 | AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support])) |
678 | AC_DEFINE([BROKEN_GLOB], [1], [FreeBSD glob does not do what we need]) | 675 | AC_DEFINE(BROKEN_GLOB, 1, [FreeBSD glob does not do what we need]) |
679 | ;; | 676 | ;; |
680 | *-*-bsdi*) | 677 | *-*-bsdi*) |
681 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 678 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
682 | AC_DEFINE([BROKEN_SETREUID]) | 679 | AC_DEFINE(BROKEN_SETREUID) |
683 | AC_DEFINE([BROKEN_SETREGID]) | 680 | AC_DEFINE(BROKEN_SETREGID) |
684 | ;; | 681 | ;; |
685 | *-next-*) | 682 | *-next-*) |
686 | conf_lastlog_location="/usr/adm/lastlog" | 683 | conf_lastlog_location="/usr/adm/lastlog" |
687 | conf_utmp_location=/etc/utmp | 684 | conf_utmp_location=/etc/utmp |
688 | conf_wtmp_location=/usr/adm/wtmp | 685 | conf_wtmp_location=/usr/adm/wtmp |
689 | MAIL=/usr/spool/mail | 686 | MAIL=/usr/spool/mail |
690 | AC_DEFINE([HAVE_NEXT], [1], [Define if you are on NeXT]) | 687 | AC_DEFINE(HAVE_NEXT, 1, [Define if you are on NeXT]) |
691 | AC_DEFINE([BROKEN_REALPATH]) | 688 | AC_DEFINE(BROKEN_REALPATH) |
692 | AC_DEFINE([USE_PIPES]) | 689 | AC_DEFINE(USE_PIPES) |
693 | AC_DEFINE([BROKEN_SAVED_UIDS], [1], [Needed for NeXT]) | 690 | AC_DEFINE(BROKEN_SAVED_UIDS, 1, [Needed for NeXT]) |
694 | ;; | 691 | ;; |
695 | *-*-openbsd*) | 692 | *-*-openbsd*) |
696 | AC_DEFINE([HAVE_ATTRIBUTE__SENTINEL__], [1], [OpenBSD's gcc has sentinel]) | 693 | AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel]) |
697 | AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD's gcc has bounded]) | 694 | AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded]) |
698 | AC_DEFINE([SSH_TUN_OPENBSD], [1], [Open tunnel devices the OpenBSD way]) | 695 | AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way]) |
699 | AC_DEFINE([SYSLOG_R_SAFE_IN_SIGHAND], [1], | 696 | AC_DEFINE(SYSLOG_R_SAFE_IN_SIGHAND, 1, |
700 | [syslog_r function is safe to use in in a signal handler]) | 697 | [syslog_r function is safe to use in in a signal handler]) |
701 | ;; | 698 | ;; |
702 | *-*-solaris*) | 699 | *-*-solaris*) |
703 | if test "x$withval" != "xno" ; then | 700 | if test "x$withval" != "xno" ; then |
704 | need_dash_r=1 | 701 | need_dash_r=1 |
705 | fi | 702 | fi |
706 | AC_DEFINE([PAM_SUN_CODEBASE]) | 703 | AC_DEFINE(PAM_SUN_CODEBASE) |
707 | AC_DEFINE([LOGIN_NEEDS_UTMPX]) | 704 | AC_DEFINE(LOGIN_NEEDS_UTMPX) |
708 | AC_DEFINE([LOGIN_NEEDS_TERM], [1], | 705 | AC_DEFINE(LOGIN_NEEDS_TERM, 1, |
709 | [Some versions of /bin/login need the TERM supplied | 706 | [Some versions of /bin/login need the TERM supplied |
710 | on the commandline]) | 707 | on the commandline]) |
711 | AC_DEFINE([PAM_TTY_KLUDGE]) | 708 | AC_DEFINE(PAM_TTY_KLUDGE) |
712 | AC_DEFINE([SSHPAM_CHAUTHTOK_NEEDS_RUID], [1], | 709 | AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1, |
713 | [Define if pam_chauthtok wants real uid set | 710 | [Define if pam_chauthtok wants real uid set |
714 | to the unpriv'ed user]) | 711 | to the unpriv'ed user]) |
715 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) | 712 | AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") |
716 | # Pushing STREAMS modules will cause sshd to acquire a controlling tty. | 713 | # Pushing STREAMS modules will cause sshd to acquire a controlling tty. |
717 | AC_DEFINE([SSHD_ACQUIRES_CTTY], [1], | 714 | AC_DEFINE(SSHD_ACQUIRES_CTTY, 1, |
718 | [Define if sshd somehow reacquires a controlling TTY | 715 | [Define if sshd somehow reacquires a controlling TTY |
719 | after setsid()]) | 716 | after setsid()]) |
720 | AC_DEFINE([PASSWD_NEEDS_USERNAME], [1], [must supply username to passwd | 717 | AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd |
721 | in case the name is longer than 8 chars]) | 718 | in case the name is longer than 8 chars]) |
722 | AC_DEFINE([BROKEN_TCGETATTR_ICANON], [1], [tcgetattr with ICANON may hang]) | 719 | AC_DEFINE(BROKEN_TCGETATTR_ICANON, 1, [tcgetattr with ICANON may hang]) |
723 | external_path_file=/etc/default/login | 720 | external_path_file=/etc/default/login |
724 | # hardwire lastlog location (can't detect it on some versions) | 721 | # hardwire lastlog location (can't detect it on some versions) |
725 | conf_lastlog_location="/var/adm/lastlog" | 722 | conf_lastlog_location="/var/adm/lastlog" |
726 | AC_MSG_CHECKING([for obsolete utmp and wtmp in solaris2.x]) | 723 | AC_MSG_CHECKING(for obsolete utmp and wtmp in solaris2.x) |
727 | sol2ver=`echo "$host"| sed -e 's/.*[[0-9]]\.//'` | 724 | sol2ver=`echo "$host"| sed -e 's/.*[[0-9]]\.//'` |
728 | if test "$sol2ver" -ge 8; then | 725 | if test "$sol2ver" -ge 8; then |
729 | AC_MSG_RESULT([yes]) | 726 | AC_MSG_RESULT(yes) |
730 | AC_DEFINE([DISABLE_UTMP]) | 727 | AC_DEFINE(DISABLE_UTMP) |
731 | AC_DEFINE([DISABLE_WTMP], [1], | 728 | AC_DEFINE(DISABLE_WTMP, 1, |
732 | [Define if you don't want to use wtmp]) | 729 | [Define if you don't want to use wtmp]) |
733 | else | 730 | else |
734 | AC_MSG_RESULT([no]) | 731 | AC_MSG_RESULT(no) |
735 | fi | 732 | fi |
736 | AC_ARG_WITH([solaris-contracts], | 733 | AC_ARG_WITH(solaris-contracts, |
737 | [ --with-solaris-contracts Enable Solaris process contracts (experimental)], | 734 | [ --with-solaris-contracts Enable Solaris process contracts (experimental)], |
738 | [ | 735 | [ |
739 | AC_CHECK_LIB([contract], [ct_tmpl_activate], | 736 | AC_CHECK_LIB(contract, ct_tmpl_activate, |
740 | [ AC_DEFINE([USE_SOLARIS_PROCESS_CONTRACTS], [1], | 737 | [ AC_DEFINE(USE_SOLARIS_PROCESS_CONTRACTS, 1, |
741 | [Define if you have Solaris process contracts]) | 738 | [Define if you have Solaris process contracts]) |
742 | SSHDLIBS="$SSHDLIBS -lcontract" | 739 | SSHDLIBS="$SSHDLIBS -lcontract" |
743 | SPC_MSG="yes" ], ) | 740 | SPC_MSG="yes" ], ) |
744 | ], | 741 | ], |
745 | ) | 742 | ) |
746 | AC_ARG_WITH([solaris-projects], | 743 | AC_ARG_WITH(solaris-projects, |
747 | [ --with-solaris-projects Enable Solaris projects (experimental)], | 744 | [ --with-solaris-projects Enable Solaris projects (experimental)], |
748 | [ | 745 | [ |
749 | AC_CHECK_LIB([project], [setproject], | 746 | AC_CHECK_LIB(project, setproject, |
750 | [ AC_DEFINE([USE_SOLARIS_PROJECTS], [1], | 747 | [ AC_DEFINE(USE_SOLARIS_PROJECTS, 1, |
751 | [Define if you have Solaris projects]) | 748 | [Define if you have Solaris projects]) |
752 | SSHDLIBS="$SSHDLIBS -lproject" | 749 | SSHDLIBS="$SSHDLIBS -lproject" |
753 | SP_MSG="yes" ], ) | 750 | SP_MSG="yes" ], ) |
@@ -756,33 +753,33 @@ mips-sony-bsd|mips-sony-newsos4) | |||
756 | ;; | 753 | ;; |
757 | *-*-sunos4*) | 754 | *-*-sunos4*) |
758 | CPPFLAGS="$CPPFLAGS -DSUNOS4" | 755 | CPPFLAGS="$CPPFLAGS -DSUNOS4" |
759 | AC_CHECK_FUNCS([getpwanam]) | 756 | AC_CHECK_FUNCS(getpwanam) |
760 | AC_DEFINE([PAM_SUN_CODEBASE]) | 757 | AC_DEFINE(PAM_SUN_CODEBASE) |
761 | conf_utmp_location=/etc/utmp | 758 | conf_utmp_location=/etc/utmp |
762 | conf_wtmp_location=/var/adm/wtmp | 759 | conf_wtmp_location=/var/adm/wtmp |
763 | conf_lastlog_location=/var/adm/lastlog | 760 | conf_lastlog_location=/var/adm/lastlog |
764 | AC_DEFINE([USE_PIPES]) | 761 | AC_DEFINE(USE_PIPES) |
765 | ;; | 762 | ;; |
766 | *-ncr-sysv*) | 763 | *-ncr-sysv*) |
767 | LIBS="$LIBS -lc89" | 764 | LIBS="$LIBS -lc89" |
768 | AC_DEFINE([USE_PIPES]) | 765 | AC_DEFINE(USE_PIPES) |
769 | AC_DEFINE([SSHD_ACQUIRES_CTTY]) | 766 | AC_DEFINE(SSHD_ACQUIRES_CTTY) |
770 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 767 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
771 | AC_DEFINE([BROKEN_SETREUID]) | 768 | AC_DEFINE(BROKEN_SETREUID) |
772 | AC_DEFINE([BROKEN_SETREGID]) | 769 | AC_DEFINE(BROKEN_SETREGID) |
773 | ;; | 770 | ;; |
774 | *-sni-sysv*) | 771 | *-sni-sysv*) |
775 | # /usr/ucblib MUST NOT be searched on ReliantUNIX | 772 | # /usr/ucblib MUST NOT be searched on ReliantUNIX |
776 | AC_CHECK_LIB([dl], [dlsym], ,) | 773 | AC_CHECK_LIB(dl, dlsym, ,) |
777 | # -lresolv needs to be at the end of LIBS or DNS lookups break | 774 | # -lresolv needs to be at the end of LIBS or DNS lookups break |
778 | AC_CHECK_LIB([resolv], [res_query], [ LIBS="$LIBS -lresolv" ]) | 775 | AC_CHECK_LIB(resolv, res_query, [ LIBS="$LIBS -lresolv" ]) |
779 | IPADDR_IN_DISPLAY=yes | 776 | IPADDR_IN_DISPLAY=yes |
780 | AC_DEFINE([USE_PIPES]) | 777 | AC_DEFINE(USE_PIPES) |
781 | AC_DEFINE([IP_TOS_IS_BROKEN]) | 778 | AC_DEFINE(IP_TOS_IS_BROKEN) |
782 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 779 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
783 | AC_DEFINE([BROKEN_SETREUID]) | 780 | AC_DEFINE(BROKEN_SETREUID) |
784 | AC_DEFINE([BROKEN_SETREGID]) | 781 | AC_DEFINE(BROKEN_SETREGID) |
785 | AC_DEFINE([SSHD_ACQUIRES_CTTY]) | 782 | AC_DEFINE(SSHD_ACQUIRES_CTTY) |
786 | external_path_file=/etc/default/login | 783 | external_path_file=/etc/default/login |
787 | # /usr/ucblib/libucb.a no longer needed on ReliantUNIX | 784 | # /usr/ucblib/libucb.a no longer needed on ReliantUNIX |
788 | # Attention: always take care to bind libsocket and libnsl before libc, | 785 | # Attention: always take care to bind libsocket and libnsl before libc, |
@@ -790,36 +787,36 @@ mips-sony-bsd|mips-sony-newsos4) | |||
790 | ;; | 787 | ;; |
791 | # UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. | 788 | # UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. |
792 | *-*-sysv4.2*) | 789 | *-*-sysv4.2*) |
793 | AC_DEFINE([USE_PIPES]) | 790 | AC_DEFINE(USE_PIPES) |
794 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 791 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
795 | AC_DEFINE([BROKEN_SETREUID]) | 792 | AC_DEFINE(BROKEN_SETREUID) |
796 | AC_DEFINE([BROKEN_SETREGID]) | 793 | AC_DEFINE(BROKEN_SETREGID) |
797 | AC_DEFINE([PASSWD_NEEDS_USERNAME], [1], [must supply username to passwd]) | 794 | AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd]) |
798 | AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) | 795 | AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") |
799 | ;; | 796 | ;; |
800 | # UnixWare 7.x, OpenUNIX 8 | 797 | # UnixWare 7.x, OpenUNIX 8 |
801 | *-*-sysv5*) | 798 | *-*-sysv5*) |
802 | CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf" | 799 | CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf" |
803 | AC_DEFINE([UNIXWARE_LONG_PASSWORDS], [1], [Support passwords > 8 chars]) | 800 | AC_DEFINE(UNIXWARE_LONG_PASSWORDS, 1, [Support passwords > 8 chars]) |
804 | AC_DEFINE([USE_PIPES]) | 801 | AC_DEFINE(USE_PIPES) |
805 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 802 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
806 | AC_DEFINE([BROKEN_GETADDRINFO]) | 803 | AC_DEFINE(BROKEN_GETADDRINFO) |
807 | AC_DEFINE([BROKEN_SETREUID]) | 804 | AC_DEFINE(BROKEN_SETREUID) |
808 | AC_DEFINE([BROKEN_SETREGID]) | 805 | AC_DEFINE(BROKEN_SETREGID) |
809 | AC_DEFINE([PASSWD_NEEDS_USERNAME]) | 806 | AC_DEFINE(PASSWD_NEEDS_USERNAME) |
810 | case "$host" in | 807 | case "$host" in |
811 | *-*-sysv5SCO_SV*) # SCO OpenServer 6.x | 808 | *-*-sysv5SCO_SV*) # SCO OpenServer 6.x |
812 | TEST_SHELL=/u95/bin/sh | 809 | TEST_SHELL=/u95/bin/sh |
813 | AC_DEFINE([BROKEN_LIBIAF], [1], | 810 | AC_DEFINE(BROKEN_LIBIAF, 1, |
814 | [ia_uinfo routines not supported by OS yet]) | 811 | [ia_uinfo routines not supported by OS yet]) |
815 | AC_DEFINE([BROKEN_UPDWTMPX]) | 812 | AC_DEFINE(BROKEN_UPDWTMPX) |
816 | AC_CHECK_LIB([prot], [getluid], [ LIBS="$LIBS -lprot" | 813 | AC_CHECK_LIB(prot, getluid,[ LIBS="$LIBS -lprot" |
817 | AC_CHECK_FUNCS([getluid setluid], , , [-lprot]) | 814 | AC_CHECK_FUNCS(getluid setluid,,,-lprot) |
818 | AC_DEFINE([HAVE_SECUREWARE]) | 815 | AC_DEFINE(HAVE_SECUREWARE) |
819 | AC_DEFINE([DISABLE_SHADOW]) | 816 | AC_DEFINE(DISABLE_SHADOW) |
820 | ], , ) | 817 | ],,) |
821 | ;; | 818 | ;; |
822 | *) AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) | 819 | *) AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") |
823 | check_for_libcrypt_later=1 | 820 | check_for_libcrypt_later=1 |
824 | ;; | 821 | ;; |
825 | esac | 822 | esac |
@@ -837,128 +834,132 @@ mips-sony-bsd|mips-sony-newsos4) | |||
837 | fi | 834 | fi |
838 | LIBS="$LIBS -lprot -lx -ltinfo -lm" | 835 | LIBS="$LIBS -lprot -lx -ltinfo -lm" |
839 | no_dev_ptmx=1 | 836 | no_dev_ptmx=1 |
840 | AC_DEFINE([USE_PIPES]) | 837 | AC_DEFINE(USE_PIPES) |
841 | AC_DEFINE([HAVE_SECUREWARE]) | 838 | AC_DEFINE(HAVE_SECUREWARE) |
842 | AC_DEFINE([DISABLE_SHADOW]) | 839 | AC_DEFINE(DISABLE_SHADOW) |
843 | AC_DEFINE([DISABLE_FD_PASSING]) | 840 | AC_DEFINE(DISABLE_FD_PASSING) |
844 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 841 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
845 | AC_DEFINE([BROKEN_GETADDRINFO]) | 842 | AC_DEFINE(BROKEN_GETADDRINFO) |
846 | AC_DEFINE([BROKEN_SETREUID]) | 843 | AC_DEFINE(BROKEN_SETREUID) |
847 | AC_DEFINE([BROKEN_SETREGID]) | 844 | AC_DEFINE(BROKEN_SETREGID) |
848 | AC_DEFINE([WITH_ABBREV_NO_TTY]) | 845 | AC_DEFINE(WITH_ABBREV_NO_TTY) |
849 | AC_DEFINE([BROKEN_UPDWTMPX]) | 846 | AC_DEFINE(BROKEN_UPDWTMPX) |
850 | AC_DEFINE([PASSWD_NEEDS_USERNAME]) | 847 | AC_DEFINE(PASSWD_NEEDS_USERNAME) |
851 | AC_CHECK_FUNCS([getluid setluid]) | 848 | AC_CHECK_FUNCS(getluid setluid) |
852 | MANTYPE=man | 849 | MANTYPE=man |
853 | TEST_SHELL=ksh | 850 | TEST_SHELL=ksh |
854 | ;; | 851 | ;; |
855 | *-*-unicosmk*) | 852 | *-*-unicosmk*) |
856 | AC_DEFINE([NO_SSH_LASTLOG], [1], | 853 | AC_DEFINE(NO_SSH_LASTLOG, 1, |
857 | [Define if you don't want to use lastlog in session.c]) | 854 | [Define if you don't want to use lastlog in session.c]) |
858 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 855 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
859 | AC_DEFINE([BROKEN_SETREUID]) | 856 | AC_DEFINE(BROKEN_SETREUID) |
860 | AC_DEFINE([BROKEN_SETREGID]) | 857 | AC_DEFINE(BROKEN_SETREGID) |
861 | AC_DEFINE([USE_PIPES]) | 858 | AC_DEFINE(USE_PIPES) |
862 | AC_DEFINE([DISABLE_FD_PASSING]) | 859 | AC_DEFINE(DISABLE_FD_PASSING) |
863 | LDFLAGS="$LDFLAGS" | 860 | LDFLAGS="$LDFLAGS" |
864 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" | 861 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
865 | MANTYPE=cat | 862 | MANTYPE=cat |
866 | ;; | 863 | ;; |
867 | *-*-unicosmp*) | 864 | *-*-unicosmp*) |
868 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 865 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
869 | AC_DEFINE([BROKEN_SETREUID]) | 866 | AC_DEFINE(BROKEN_SETREUID) |
870 | AC_DEFINE([BROKEN_SETREGID]) | 867 | AC_DEFINE(BROKEN_SETREGID) |
871 | AC_DEFINE([WITH_ABBREV_NO_TTY]) | 868 | AC_DEFINE(WITH_ABBREV_NO_TTY) |
872 | AC_DEFINE([USE_PIPES]) | 869 | AC_DEFINE(USE_PIPES) |
873 | AC_DEFINE([DISABLE_FD_PASSING]) | 870 | AC_DEFINE(DISABLE_FD_PASSING) |
874 | LDFLAGS="$LDFLAGS" | 871 | LDFLAGS="$LDFLAGS" |
875 | LIBS="$LIBS -lgen -lacid -ldb" | 872 | LIBS="$LIBS -lgen -lacid -ldb" |
876 | MANTYPE=cat | 873 | MANTYPE=cat |
877 | ;; | 874 | ;; |
878 | *-*-unicos*) | 875 | *-*-unicos*) |
879 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 876 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
880 | AC_DEFINE([BROKEN_SETREUID]) | 877 | AC_DEFINE(BROKEN_SETREUID) |
881 | AC_DEFINE([BROKEN_SETREGID]) | 878 | AC_DEFINE(BROKEN_SETREGID) |
882 | AC_DEFINE([USE_PIPES]) | 879 | AC_DEFINE(USE_PIPES) |
883 | AC_DEFINE([DISABLE_FD_PASSING]) | 880 | AC_DEFINE(DISABLE_FD_PASSING) |
884 | AC_DEFINE([NO_SSH_LASTLOG]) | 881 | AC_DEFINE(NO_SSH_LASTLOG) |
885 | LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" | 882 | LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" |
886 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" | 883 | LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
887 | MANTYPE=cat | 884 | MANTYPE=cat |
888 | ;; | 885 | ;; |
889 | *-dec-osf*) | 886 | *-dec-osf*) |
890 | AC_MSG_CHECKING([for Digital Unix SIA]) | 887 | AC_MSG_CHECKING(for Digital Unix SIA) |
891 | no_osfsia="" | 888 | no_osfsia="" |
892 | AC_ARG_WITH([osfsia], | 889 | AC_ARG_WITH(osfsia, |
893 | [ --with-osfsia Enable Digital Unix SIA], | 890 | [ --with-osfsia Enable Digital Unix SIA], |
894 | [ | 891 | [ |
895 | if test "x$withval" = "xno" ; then | 892 | if test "x$withval" = "xno" ; then |
896 | AC_MSG_RESULT([disabled]) | 893 | AC_MSG_RESULT(disabled) |
897 | no_osfsia=1 | 894 | no_osfsia=1 |
898 | fi | 895 | fi |
899 | ], | 896 | ], |
900 | ) | 897 | ) |
901 | if test -z "$no_osfsia" ; then | 898 | if test -z "$no_osfsia" ; then |
902 | if test -f /etc/sia/matrix.conf; then | 899 | if test -f /etc/sia/matrix.conf; then |
903 | AC_MSG_RESULT([yes]) | 900 | AC_MSG_RESULT(yes) |
904 | AC_DEFINE([HAVE_OSF_SIA], [1], | 901 | AC_DEFINE(HAVE_OSF_SIA, 1, |
905 | [Define if you have Digital Unix Security | 902 | [Define if you have Digital Unix Security |
906 | Integration Architecture]) | 903 | Integration Architecture]) |
907 | AC_DEFINE([DISABLE_LOGIN], [1], | 904 | AC_DEFINE(DISABLE_LOGIN, 1, |
908 | [Define if you don't want to use your | 905 | [Define if you don't want to use your |
909 | system's login() call]) | 906 | system's login() call]) |
910 | AC_DEFINE([DISABLE_FD_PASSING]) | 907 | AC_DEFINE(DISABLE_FD_PASSING) |
911 | LIBS="$LIBS -lsecurity -ldb -lm -laud" | 908 | LIBS="$LIBS -lsecurity -ldb -lm -laud" |
912 | SIA_MSG="yes" | 909 | SIA_MSG="yes" |
913 | else | 910 | else |
914 | AC_MSG_RESULT([no]) | 911 | AC_MSG_RESULT(no) |
915 | AC_DEFINE([LOCKED_PASSWD_SUBSTR], ["Nologin"], | 912 | AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin", |
916 | [String used in /etc/passwd to denote locked account]) | 913 | [String used in /etc/passwd to denote locked account]) |
917 | fi | 914 | fi |
918 | fi | 915 | fi |
919 | AC_DEFINE([BROKEN_GETADDRINFO]) | 916 | AC_DEFINE(BROKEN_GETADDRINFO) |
920 | AC_DEFINE([SETEUID_BREAKS_SETUID]) | 917 | AC_DEFINE(SETEUID_BREAKS_SETUID) |
921 | AC_DEFINE([BROKEN_SETREUID]) | 918 | AC_DEFINE(BROKEN_SETREUID) |
922 | AC_DEFINE([BROKEN_SETREGID]) | 919 | AC_DEFINE(BROKEN_SETREGID) |
923 | AC_DEFINE([BROKEN_READV_COMPARISON], [1], [Can't do comparisons on readv]) | 920 | AC_DEFINE(BROKEN_READV_COMPARISON, 1, [Can't do comparisons on readv]) |
924 | ;; | 921 | ;; |
925 | 922 | ||
926 | *-*-nto-qnx*) | 923 | *-*-nto-qnx*) |
927 | AC_DEFINE([USE_PIPES]) | 924 | AC_DEFINE(USE_PIPES) |
928 | AC_DEFINE([NO_X11_UNIX_SOCKETS]) | 925 | AC_DEFINE(NO_X11_UNIX_SOCKETS) |
929 | AC_DEFINE([MISSING_NFDBITS], [1], [Define on *nto-qnx systems]) | 926 | AC_DEFINE(MISSING_NFDBITS, 1, [Define on *nto-qnx systems]) |
930 | AC_DEFINE([MISSING_HOWMANY], [1], [Define on *nto-qnx systems]) | 927 | AC_DEFINE(MISSING_HOWMANY, 1, [Define on *nto-qnx systems]) |
931 | AC_DEFINE([MISSING_FD_MASK], [1], [Define on *nto-qnx systems]) | 928 | AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems]) |
932 | AC_DEFINE([DISABLE_LASTLOG]) | 929 | AC_DEFINE(DISABLE_LASTLOG) |
933 | AC_DEFINE([SSHD_ACQUIRES_CTTY]) | 930 | AC_DEFINE(SSHD_ACQUIRES_CTTY) |
934 | AC_DEFINE([BROKEN_SHADOW_EXPIRE], [1], [QNX shadow support is broken]) | 931 | AC_DEFINE(BROKEN_SHADOW_EXPIRE, 1, [QNX shadow support is broken]) |
935 | enable_etc_default_login=no # has incompatible /etc/default/login | 932 | enable_etc_default_login=no # has incompatible /etc/default/login |
936 | case "$host" in | 933 | case "$host" in |
937 | *-*-nto-qnx6*) | 934 | *-*-nto-qnx6*) |
938 | AC_DEFINE([DISABLE_FD_PASSING]) | 935 | AC_DEFINE(DISABLE_FD_PASSING) |
939 | ;; | 936 | ;; |
940 | esac | 937 | esac |
941 | ;; | 938 | ;; |
942 | 939 | ||
943 | *-*-ultrix*) | 940 | *-*-ultrix*) |
944 | AC_DEFINE([BROKEN_GETGROUPS], [1], [getgroups(0,NULL) will return -1]) | 941 | AC_DEFINE(BROKEN_GETGROUPS, 1, [getgroups(0,NULL) will return -1]) |
945 | AC_DEFINE([BROKEN_MMAP], [1], [Ultrix mmap can't map files]) | 942 | AC_DEFINE(BROKEN_MMAP, 1, [Ultrix mmap can't map files]) |
946 | AC_DEFINE([NEED_SETPGRP]) | 943 | AC_DEFINE(NEED_SETPGRP) |
947 | AC_DEFINE([HAVE_SYS_SYSLOG_H], [1], [Force use of sys/syslog.h on Ultrix]) | 944 | AC_DEFINE(HAVE_SYS_SYSLOG_H, 1, [Force use of sys/syslog.h on Ultrix]) |
948 | ;; | 945 | ;; |
949 | 946 | ||
950 | *-*-lynxos) | 947 | *-*-lynxos) |
951 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" | 948 | CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" |
952 | AC_DEFINE([MISSING_HOWMANY]) | 949 | AC_DEFINE(MISSING_HOWMANY) |
953 | AC_DEFINE([BROKEN_SETVBUF], [1], [LynxOS has broken setvbuf() implementation]) | 950 | AC_DEFINE(BROKEN_SETVBUF, 1, [LynxOS has broken setvbuf() implementation]) |
954 | ;; | 951 | ;; |
955 | esac | 952 | esac |
956 | 953 | ||
957 | AC_MSG_CHECKING([compiler and flags for sanity]) | 954 | AC_MSG_CHECKING(compiler and flags for sanity) |
958 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], [[ exit(0); ]])], | 955 | AC_RUN_IFELSE( |
959 | [ AC_MSG_RESULT([yes]) ], | 956 | [AC_LANG_SOURCE([ |
957 | #include <stdio.h> | ||
958 | int main(){exit(0);} | ||
959 | ])], | ||
960 | [ AC_MSG_RESULT(yes) ], | ||
960 | [ | 961 | [ |
961 | AC_MSG_RESULT([no]) | 962 | AC_MSG_RESULT(no) |
962 | AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***]) | 963 | AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***]) |
963 | ], | 964 | ], |
964 | [ AC_MSG_WARN([cross compiling: not checking compiler sanity]) ] | 965 | [ AC_MSG_WARN([cross compiling: not checking compiler sanity]) ] |
@@ -966,12 +967,12 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], [[ exit(0); ]])], | |||
966 | 967 | ||
967 | dnl Checks for header files. | 968 | dnl Checks for header files. |
968 | # Checks for libraries. | 969 | # Checks for libraries. |
969 | AC_CHECK_FUNC([yp_match], , [AC_CHECK_LIB([nsl], [yp_match])]) | 970 | AC_CHECK_FUNC(yp_match, , AC_CHECK_LIB(nsl, yp_match)) |
970 | AC_CHECK_FUNC([setsockopt], , [AC_CHECK_LIB([socket], [setsockopt])]) | 971 | AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt)) |
971 | 972 | ||
972 | dnl IRIX and Solaris 2.5.1 have dirname() in libgen | 973 | dnl IRIX and Solaris 2.5.1 have dirname() in libgen |
973 | AC_CHECK_FUNCS([dirname], [AC_CHECK_HEADERS([libgen.h])] , [ | 974 | AC_CHECK_FUNCS(dirname, [AC_CHECK_HEADERS(libgen.h)] ,[ |
974 | AC_CHECK_LIB([gen], [dirname], [ | 975 | AC_CHECK_LIB(gen, dirname,[ |
975 | AC_CACHE_CHECK([for broken dirname], | 976 | AC_CACHE_CHECK([for broken dirname], |
976 | ac_cv_have_broken_dirname, [ | 977 | ac_cv_have_broken_dirname, [ |
977 | save_LIBS="$LIBS" | 978 | save_LIBS="$LIBS" |
@@ -1001,19 +1002,19 @@ int main(int argc, char **argv) { | |||
1001 | ]) | 1002 | ]) |
1002 | if test "x$ac_cv_have_broken_dirname" = "xno" ; then | 1003 | if test "x$ac_cv_have_broken_dirname" = "xno" ; then |
1003 | LIBS="$LIBS -lgen" | 1004 | LIBS="$LIBS -lgen" |
1004 | AC_DEFINE([HAVE_DIRNAME]) | 1005 | AC_DEFINE(HAVE_DIRNAME) |
1005 | AC_CHECK_HEADERS([libgen.h]) | 1006 | AC_CHECK_HEADERS(libgen.h) |
1006 | fi | 1007 | fi |
1007 | ]) | 1008 | ]) |
1008 | ]) | 1009 | ]) |
1009 | 1010 | ||
1010 | AC_CHECK_FUNC([getspnam], , | 1011 | AC_CHECK_FUNC(getspnam, , |
1011 | [AC_CHECK_LIB([gen], [getspnam], [LIBS="$LIBS -lgen"])]) | 1012 | AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen")) |
1012 | AC_SEARCH_LIBS([basename], [gen], [AC_DEFINE([HAVE_BASENAME], [1], | 1013 | AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME, 1, |
1013 | [Define if you have the basename function.])]) | 1014 | [Define if you have the basename function.])) |
1014 | 1015 | ||
1015 | dnl zlib is required | 1016 | dnl zlib is required |
1016 | AC_ARG_WITH([zlib], | 1017 | AC_ARG_WITH(zlib, |
1017 | [ --with-zlib=PATH Use zlib in PATH], | 1018 | [ --with-zlib=PATH Use zlib in PATH], |
1018 | [ if test "x$withval" = "xno" ; then | 1019 | [ if test "x$withval" = "xno" ; then |
1019 | AC_MSG_ERROR([*** zlib is required ***]) | 1020 | AC_MSG_ERROR([*** zlib is required ***]) |
@@ -1039,8 +1040,8 @@ AC_ARG_WITH([zlib], | |||
1039 | fi ] | 1040 | fi ] |
1040 | ) | 1041 | ) |
1041 | 1042 | ||
1042 | AC_CHECK_HEADER([zlib.h], ,[AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***])]) | 1043 | AC_CHECK_HEADER([zlib.h], ,AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***])) |
1043 | AC_CHECK_LIB([z], [deflate], , | 1044 | AC_CHECK_LIB(z, deflate, , |
1044 | [ | 1045 | [ |
1045 | saved_CPPFLAGS="$CPPFLAGS" | 1046 | saved_CPPFLAGS="$CPPFLAGS" |
1046 | saved_LDFLAGS="$LDFLAGS" | 1047 | saved_LDFLAGS="$LDFLAGS" |
@@ -1053,7 +1054,7 @@ AC_CHECK_LIB([z], [deflate], , | |||
1053 | fi | 1054 | fi |
1054 | CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}" | 1055 | CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}" |
1055 | LIBS="$LIBS -lz" | 1056 | LIBS="$LIBS -lz" |
1056 | AC_TRY_LINK_FUNC([deflate], [AC_DEFINE([HAVE_LIBZ])], | 1057 | AC_TRY_LINK_FUNC(deflate, AC_DEFINE(HAVE_LIBZ), |
1057 | [ | 1058 | [ |
1058 | AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***]) | 1059 | AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***]) |
1059 | ] | 1060 | ] |
@@ -1061,7 +1062,7 @@ AC_CHECK_LIB([z], [deflate], , | |||
1061 | ] | 1062 | ] |
1062 | ) | 1063 | ) |
1063 | 1064 | ||
1064 | AC_ARG_WITH([zlib-version-check], | 1065 | AC_ARG_WITH(zlib-version-check, |
1065 | [ --without-zlib-version-check Disable zlib version check], | 1066 | [ --without-zlib-version-check Disable zlib version check], |
1066 | [ if test "x$withval" = "xno" ; then | 1067 | [ if test "x$withval" = "xno" ; then |
1067 | zlib_check_nonfatal=1 | 1068 | zlib_check_nonfatal=1 |
@@ -1069,12 +1070,12 @@ AC_ARG_WITH([zlib-version-check], | |||
1069 | ] | 1070 | ] |
1070 | ) | 1071 | ) |
1071 | 1072 | ||
1072 | AC_MSG_CHECKING([for possibly buggy zlib]) | 1073 | AC_MSG_CHECKING(for possibly buggy zlib) |
1073 | AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | 1074 | AC_RUN_IFELSE([AC_LANG_SOURCE([[ |
1074 | #include <stdio.h> | 1075 | #include <stdio.h> |
1075 | #include <zlib.h> | 1076 | #include <zlib.h> |
1076 | ]], | 1077 | int main() |
1077 | [[ | 1078 | { |
1078 | int a=0, b=0, c=0, d=0, n, v; | 1079 | int a=0, b=0, c=0, d=0, n, v; |
1079 | n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d); | 1080 | n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d); |
1080 | if (n != 3 && n != 4) | 1081 | if (n != 3 && n != 4) |
@@ -1091,9 +1092,10 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | |||
1091 | exit(0); | 1092 | exit(0); |
1092 | 1093 | ||
1093 | exit(2); | 1094 | exit(2); |
1095 | } | ||
1094 | ]])], | 1096 | ]])], |
1095 | AC_MSG_RESULT([no]), | 1097 | AC_MSG_RESULT(no), |
1096 | [ AC_MSG_RESULT([yes]) | 1098 | [ AC_MSG_RESULT(yes) |
1097 | if test -z "$zlib_check_nonfatal" ; then | 1099 | if test -z "$zlib_check_nonfatal" ; then |
1098 | AC_MSG_ERROR([*** zlib too old - check config.log *** | 1100 | AC_MSG_ERROR([*** zlib too old - check config.log *** |
1099 | Your reported zlib version has known security problems. It's possible your | 1101 | Your reported zlib version has known security problems. It's possible your |
@@ -1110,25 +1112,25 @@ See http://www.gzip.org/zlib/ for details.]) | |||
1110 | ) | 1112 | ) |
1111 | 1113 | ||
1112 | dnl UnixWare 2.x | 1114 | dnl UnixWare 2.x |
1113 | AC_CHECK_FUNC([strcasecmp], | 1115 | AC_CHECK_FUNC(strcasecmp, |
1114 | [], [ AC_CHECK_LIB([resolv], [strcasecmp], [LIBS="$LIBS -lresolv"]) ] | 1116 | [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ] |
1115 | ) | 1117 | ) |
1116 | AC_CHECK_FUNCS([utimes], | 1118 | AC_CHECK_FUNCS(utimes, |
1117 | [], [ AC_CHECK_LIB([c89], [utimes], [AC_DEFINE([HAVE_UTIMES]) | 1119 | [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES) |
1118 | LIBS="$LIBS -lc89"]) ] | 1120 | LIBS="$LIBS -lc89"]) ] |
1119 | ) | 1121 | ) |
1120 | 1122 | ||
1121 | dnl Checks for libutil functions | 1123 | dnl Checks for libutil functions |
1122 | AC_CHECK_HEADERS([libutil.h]) | 1124 | AC_CHECK_HEADERS(libutil.h) |
1123 | AC_SEARCH_LIBS([login], [util bsd], [AC_DEFINE([HAVE_LOGIN], [1], | 1125 | AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1, |
1124 | [Define if your libraries define login()])]) | 1126 | [Define if your libraries define login()])]) |
1125 | AC_CHECK_FUNCS([fmt_scaled logout updwtmp logwtmp]) | 1127 | AC_CHECK_FUNCS(fmt_scaled logout updwtmp logwtmp) |
1126 | 1128 | ||
1127 | AC_FUNC_STRFTIME | 1129 | AC_FUNC_STRFTIME |
1128 | 1130 | ||
1129 | # Check for ALTDIRFUNC glob() extension | 1131 | # Check for ALTDIRFUNC glob() extension |
1130 | AC_MSG_CHECKING([for GLOB_ALTDIRFUNC support]) | 1132 | AC_MSG_CHECKING(for GLOB_ALTDIRFUNC support) |
1131 | AC_EGREP_CPP([FOUNDIT], | 1133 | AC_EGREP_CPP(FOUNDIT, |
1132 | [ | 1134 | [ |
1133 | #include <glob.h> | 1135 | #include <glob.h> |
1134 | #ifdef GLOB_ALTDIRFUNC | 1136 | #ifdef GLOB_ALTDIRFUNC |
@@ -1136,83 +1138,87 @@ AC_EGREP_CPP([FOUNDIT], | |||
1136 | #endif | 1138 | #endif |
1137 | ], | 1139 | ], |
1138 | [ | 1140 | [ |
1139 | AC_DEFINE([GLOB_HAS_ALTDIRFUNC], [1], | 1141 | AC_DEFINE(GLOB_HAS_ALTDIRFUNC, 1, |
1140 | [Define if your system glob() function has | 1142 | [Define if your system glob() function has |
1141 | the GLOB_ALTDIRFUNC extension]) | 1143 | the GLOB_ALTDIRFUNC extension]) |
1142 | AC_MSG_RESULT([yes]) | 1144 | AC_MSG_RESULT(yes) |
1143 | ], | 1145 | ], |
1144 | [ | 1146 | [ |
1145 | AC_MSG_RESULT([no]) | 1147 | AC_MSG_RESULT(no) |
1146 | ] | 1148 | ] |
1147 | ) | 1149 | ) |
1148 | 1150 | ||
1149 | # Check for g.gl_matchc glob() extension | 1151 | # Check for g.gl_matchc glob() extension |
1150 | AC_MSG_CHECKING([for gl_matchc field in glob_t]) | 1152 | AC_MSG_CHECKING(for gl_matchc field in glob_t) |
1151 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <glob.h> ]], | 1153 | AC_TRY_COMPILE( |
1152 | [[ glob_t g; g.gl_matchc = 1; ]])], | 1154 | [ #include <glob.h> ], |
1155 | [glob_t g; g.gl_matchc = 1;], | ||
1153 | [ | 1156 | [ |
1154 | AC_DEFINE([GLOB_HAS_GL_MATCHC], [1], | 1157 | AC_DEFINE(GLOB_HAS_GL_MATCHC, 1, |
1155 | [Define if your system glob() function has | 1158 | [Define if your system glob() function has |
1156 | gl_matchc options in glob_t]) | 1159 | gl_matchc options in glob_t]) |
1157 | AC_MSG_RESULT([yes]) | 1160 | AC_MSG_RESULT(yes) |
1158 | ], [ | 1161 | ], |
1159 | AC_MSG_RESULT([no]) | 1162 | [ |
1160 | ]) | 1163 | AC_MSG_RESULT(no) |
1164 | ] | ||
1165 | ) | ||
1161 | 1166 | ||
1162 | # Check for g.gl_statv glob() extension | 1167 | # Check for g.gl_statv glob() extension |
1163 | AC_MSG_CHECKING([for gl_statv and GLOB_KEEPSTAT extensions for glob]) | 1168 | AC_MSG_CHECKING(for gl_statv and GLOB_KEEPSTAT extensions for glob) |
1164 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <glob.h> ]], [[ | 1169 | AC_TRY_COMPILE( |
1170 | [ #include <glob.h> ], | ||
1171 | [ | ||
1165 | #ifndef GLOB_KEEPSTAT | 1172 | #ifndef GLOB_KEEPSTAT |
1166 | #error "glob does not support GLOB_KEEPSTAT extension" | 1173 | #error "glob does not support GLOB_KEEPSTAT extension" |
1167 | #endif | 1174 | #endif |
1168 | glob_t g; | 1175 | glob_t g; |
1169 | g.gl_statv = NULL; | 1176 | g.gl_statv = NULL; |
1170 | ]])], | 1177 | ], |
1171 | [ | 1178 | [ |
1172 | AC_DEFINE([GLOB_HAS_GL_STATV], [1], | 1179 | AC_DEFINE(GLOB_HAS_GL_STATV, 1, |
1173 | [Define if your system glob() function has | 1180 | [Define if your system glob() function has |
1174 | gl_statv options in glob_t]) | 1181 | gl_statv options in glob_t]) |
1175 | AC_MSG_RESULT([yes]) | 1182 | AC_MSG_RESULT(yes) |
1176 | ], [ | 1183 | ], |
1177 | AC_MSG_RESULT([no]) | 1184 | [ |
1178 | 1185 | AC_MSG_RESULT(no) | |
1179 | ]) | 1186 | ] |
1187 | ) | ||
1180 | 1188 | ||
1181 | AC_CHECK_DECLS([GLOB_NOMATCH], , , [#include <glob.h>]) | 1189 | AC_CHECK_DECLS(GLOB_NOMATCH, , , [#include <glob.h>]) |
1182 | 1190 | ||
1183 | AC_MSG_CHECKING([whether struct dirent allocates space for d_name]) | 1191 | AC_MSG_CHECKING([whether struct dirent allocates space for d_name]) |
1184 | AC_RUN_IFELSE( | 1192 | AC_RUN_IFELSE( |
1185 | [AC_LANG_PROGRAM([[ | 1193 | [AC_LANG_SOURCE([[ |
1186 | #include <sys/types.h> | 1194 | #include <sys/types.h> |
1187 | #include <dirent.h>]], | 1195 | #include <dirent.h> |
1188 | [[ | 1196 | int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));} |
1189 | struct dirent d; | ||
1190 | exit(sizeof(d.d_name)<=sizeof(char)); | ||
1191 | ]])], | 1197 | ]])], |
1192 | [AC_MSG_RESULT([yes])], | 1198 | [AC_MSG_RESULT(yes)], |
1193 | [ | 1199 | [ |
1194 | AC_MSG_RESULT([no]) | 1200 | AC_MSG_RESULT(no) |
1195 | AC_DEFINE([BROKEN_ONE_BYTE_DIRENT_D_NAME], [1], | 1201 | AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME, 1, |
1196 | [Define if your struct dirent expects you to | 1202 | [Define if your struct dirent expects you to |
1197 | allocate extra space for d_name]) | 1203 | allocate extra space for d_name]) |
1198 | ], | 1204 | ], |
1199 | [ | 1205 | [ |
1200 | AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME]) | 1206 | AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME]) |
1201 | AC_DEFINE([BROKEN_ONE_BYTE_DIRENT_D_NAME]) | 1207 | AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) |
1202 | ] | 1208 | ] |
1203 | ) | 1209 | ) |
1204 | 1210 | ||
1205 | AC_MSG_CHECKING([for /proc/pid/fd directory]) | 1211 | AC_MSG_CHECKING([for /proc/pid/fd directory]) |
1206 | if test -d "/proc/$$/fd" ; then | 1212 | if test -d "/proc/$$/fd" ; then |
1207 | AC_DEFINE([HAVE_PROC_PID], [1], [Define if you have /proc/$pid/fd]) | 1213 | AC_DEFINE(HAVE_PROC_PID, 1, [Define if you have /proc/$pid/fd]) |
1208 | AC_MSG_RESULT([yes]) | 1214 | AC_MSG_RESULT(yes) |
1209 | else | 1215 | else |
1210 | AC_MSG_RESULT([no]) | 1216 | AC_MSG_RESULT(no) |
1211 | fi | 1217 | fi |
1212 | 1218 | ||
1213 | # Check whether user wants S/Key support | 1219 | # Check whether user wants S/Key support |
1214 | SKEY_MSG="no" | 1220 | SKEY_MSG="no" |
1215 | AC_ARG_WITH([skey], | 1221 | AC_ARG_WITH(skey, |
1216 | [ --with-skey[[=PATH]] Enable S/Key support (optionally in PATH)], | 1222 | [ --with-skey[[=PATH]] Enable S/Key support (optionally in PATH)], |
1217 | [ | 1223 | [ |
1218 | if test "x$withval" != "xno" ; then | 1224 | if test "x$withval" != "xno" ; then |
@@ -1222,46 +1228,40 @@ AC_ARG_WITH([skey], | |||
1222 | LDFLAGS="$LDFLAGS -L${withval}/lib" | 1228 | LDFLAGS="$LDFLAGS -L${withval}/lib" |
1223 | fi | 1229 | fi |
1224 | 1230 | ||
1225 | AC_DEFINE([SKEY], [1], [Define if you want S/Key support]) | 1231 | AC_DEFINE(SKEY, 1, [Define if you want S/Key support]) |
1226 | LIBS="-lskey $LIBS" | 1232 | LIBS="-lskey $LIBS" |
1227 | SKEY_MSG="yes" | 1233 | SKEY_MSG="yes" |
1228 | 1234 | ||
1229 | AC_MSG_CHECKING([for s/key support]) | 1235 | AC_MSG_CHECKING([for s/key support]) |
1230 | AC_LINK_IFELSE( | 1236 | AC_LINK_IFELSE( |
1231 | [AC_LANG_PROGRAM([[ | 1237 | [AC_LANG_SOURCE([[ |
1232 | #include <stdio.h> | 1238 | #include <stdio.h> |
1233 | #include <skey.h> | 1239 | #include <skey.h> |
1234 | ]], [[ | 1240 | int main() { char *ff = skey_keyinfo(""); ff=""; exit(0); } |
1235 | char *ff = skey_keyinfo(""); ff=""; | ||
1236 | exit(0); | ||
1237 | ]])], | 1241 | ]])], |
1238 | [AC_MSG_RESULT([yes])], | 1242 | [AC_MSG_RESULT(yes)], |
1239 | [ | 1243 | [ |
1240 | AC_MSG_RESULT([no]) | 1244 | AC_MSG_RESULT(no) |
1241 | AC_MSG_ERROR([** Incomplete or missing s/key libraries.]) | 1245 | AC_MSG_ERROR([** Incomplete or missing s/key libraries.]) |
1242 | ]) | 1246 | ]) |
1243 | AC_MSG_CHECKING([if skeychallenge takes 4 arguments]) | 1247 | AC_MSG_CHECKING(if skeychallenge takes 4 arguments) |
1244 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 1248 | AC_TRY_COMPILE( |
1245 | #include <stdio.h> | 1249 | [#include <stdio.h> |
1246 | #include <skey.h> | 1250 | #include <skey.h>], |
1247 | ]], [[ | 1251 | [(void)skeychallenge(NULL,"name","",0);], |
1248 | (void)skeychallenge(NULL,"name","",0); | 1252 | [AC_MSG_RESULT(yes) |
1249 | ]])], | 1253 | AC_DEFINE(SKEYCHALLENGE_4ARG, 1, |
1250 | [ | ||
1251 | AC_MSG_RESULT([yes]) | ||
1252 | AC_DEFINE([SKEYCHALLENGE_4ARG], [1], | ||
1253 | [Define if your skeychallenge() | 1254 | [Define if your skeychallenge() |
1254 | function takes 4 arguments (NetBSD)])], | 1255 | function takes 4 arguments (NetBSD)])], |
1255 | [ | 1256 | [AC_MSG_RESULT(no)] |
1256 | AC_MSG_RESULT([no]) | 1257 | ) |
1257 | ]) | ||
1258 | fi | 1258 | fi |
1259 | ] | 1259 | ] |
1260 | ) | 1260 | ) |
1261 | 1261 | ||
1262 | # Check whether user wants TCP wrappers support | 1262 | # Check whether user wants TCP wrappers support |
1263 | TCPW_MSG="no" | 1263 | TCPW_MSG="no" |
1264 | AC_ARG_WITH([tcp-wrappers], | 1264 | AC_ARG_WITH(tcp-wrappers, |
1265 | [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)], | 1265 | [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)], |
1266 | [ | 1266 | [ |
1267 | if test "x$withval" != "xno" ; then | 1267 | if test "x$withval" != "xno" ; then |
@@ -1290,26 +1290,28 @@ AC_ARG_WITH([tcp-wrappers], | |||
1290 | fi | 1290 | fi |
1291 | fi | 1291 | fi |
1292 | LIBS="-lwrap $LIBS" | 1292 | LIBS="-lwrap $LIBS" |
1293 | AC_MSG_CHECKING([for libwrap]) | 1293 | AC_MSG_CHECKING(for libwrap) |
1294 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 1294 | AC_TRY_LINK( |
1295 | [ | ||
1295 | #include <sys/types.h> | 1296 | #include <sys/types.h> |
1296 | #include <sys/socket.h> | 1297 | #include <sys/socket.h> |
1297 | #include <netinet/in.h> | 1298 | #include <netinet/in.h> |
1298 | #include <tcpd.h> | 1299 | #include <tcpd.h> |
1299 | int deny_severity = 0, allow_severity = 0; | 1300 | int deny_severity = 0, allow_severity = 0; |
1300 | ]], [[ | 1301 | ], |
1301 | hosts_access(0); | 1302 | [hosts_access(0);], |
1302 | ]])], [ | 1303 | [ |
1303 | AC_MSG_RESULT([yes]) | 1304 | AC_MSG_RESULT(yes) |
1304 | AC_DEFINE([LIBWRAP], [1], | 1305 | AC_DEFINE(LIBWRAP, 1, |
1305 | [Define if you want | 1306 | [Define if you want |
1306 | TCP Wrappers support]) | 1307 | TCP Wrappers support]) |
1307 | SSHDLIBS="$SSHDLIBS -lwrap" | 1308 | SSHDLIBS="$SSHDLIBS -lwrap" |
1308 | TCPW_MSG="yes" | 1309 | TCPW_MSG="yes" |
1309 | ], [ | 1310 | ], |
1311 | [ | ||
1310 | AC_MSG_ERROR([*** libwrap missing]) | 1312 | AC_MSG_ERROR([*** libwrap missing]) |
1311 | 1313 | ] | |
1312 | ]) | 1314 | ) |
1313 | LIBS="$saved_LIBS" | 1315 | LIBS="$saved_LIBS" |
1314 | fi | 1316 | fi |
1315 | ] | 1317 | ] |
@@ -1317,18 +1319,18 @@ int deny_severity = 0, allow_severity = 0; | |||
1317 | 1319 | ||
1318 | # Check whether user wants libedit support | 1320 | # Check whether user wants libedit support |
1319 | LIBEDIT_MSG="no" | 1321 | LIBEDIT_MSG="no" |
1320 | AC_ARG_WITH([libedit], | 1322 | AC_ARG_WITH(libedit, |
1321 | [ --with-libedit[[=PATH]] Enable libedit support for sftp], | 1323 | [ --with-libedit[[=PATH]] Enable libedit support for sftp], |
1322 | [ if test "x$withval" != "xno" ; then | 1324 | [ if test "x$withval" != "xno" ; then |
1323 | if test "x$withval" = "xyes" ; then | 1325 | if test "x$withval" = "xyes" ; then |
1324 | AC_PATH_PROG([PKGCONFIG], [pkg-config], [no]) | 1326 | AC_PATH_PROG(PKGCONFIG, pkg-config, no) |
1325 | if test "x$PKGCONFIG" != "xno"; then | 1327 | if test "x$PKGCONFIG" != "xno"; then |
1326 | AC_MSG_CHECKING([if $PKGCONFIG knows about libedit]) | 1328 | AC_MSG_CHECKING(if $PKGCONFIG knows about libedit) |
1327 | if "$PKGCONFIG" libedit; then | 1329 | if "$PKGCONFIG" libedit; then |
1328 | AC_MSG_RESULT([yes]) | 1330 | AC_MSG_RESULT(yes) |
1329 | use_pkgconfig_for_libedit=yes | 1331 | use_pkgconfig_for_libedit=yes |
1330 | else | 1332 | else |
1331 | AC_MSG_RESULT([no]) | 1333 | AC_MSG_RESULT(no) |
1332 | fi | 1334 | fi |
1333 | fi | 1335 | fi |
1334 | else | 1336 | else |
@@ -1346,70 +1348,73 @@ AC_ARG_WITH([libedit], | |||
1346 | LIBEDIT="-ledit -lcurses" | 1348 | LIBEDIT="-ledit -lcurses" |
1347 | fi | 1349 | fi |
1348 | OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` | 1350 | OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'` |
1349 | AC_CHECK_LIB([edit], [el_init], | 1351 | AC_CHECK_LIB(edit, el_init, |
1350 | [ AC_DEFINE([USE_LIBEDIT], [1], [Use libedit for sftp]) | 1352 | [ AC_DEFINE(USE_LIBEDIT, 1, [Use libedit for sftp]) |
1351 | LIBEDIT_MSG="yes" | 1353 | LIBEDIT_MSG="yes" |
1352 | AC_SUBST([LIBEDIT]) | 1354 | AC_SUBST(LIBEDIT) |
1353 | ], | 1355 | ], |
1354 | [ AC_MSG_ERROR([libedit not found]) ], | 1356 | [ AC_MSG_ERROR(libedit not found) ], |
1355 | [ $OTHERLIBS ] | 1357 | [ $OTHERLIBS ] |
1356 | ) | 1358 | ) |
1357 | AC_MSG_CHECKING([if libedit version is compatible]) | 1359 | AC_MSG_CHECKING(if libedit version is compatible) |
1358 | AC_COMPILE_IFELSE( | 1360 | AC_COMPILE_IFELSE( |
1359 | [AC_LANG_PROGRAM([[ #include <histedit.h> ]], | 1361 | [AC_LANG_SOURCE([[ |
1360 | [[ | 1362 | #include <histedit.h> |
1363 | int main(void) | ||
1364 | { | ||
1361 | int i = H_SETSIZE; | 1365 | int i = H_SETSIZE; |
1362 | el_init("", NULL, NULL, NULL); | 1366 | el_init("", NULL, NULL, NULL); |
1363 | exit(0); | 1367 | exit(0); |
1368 | } | ||
1364 | ]])], | 1369 | ]])], |
1365 | [ AC_MSG_RESULT([yes]) ], | 1370 | [ AC_MSG_RESULT(yes) ], |
1366 | [ AC_MSG_RESULT([no]) | 1371 | [ AC_MSG_RESULT(no) |
1367 | AC_MSG_ERROR([libedit version is not compatible]) ] | 1372 | AC_MSG_ERROR(libedit version is not compatible) ] |
1368 | ) | 1373 | ) |
1369 | fi ] | 1374 | fi ] |
1370 | ) | 1375 | ) |
1371 | 1376 | ||
1372 | AUDIT_MODULE=none | 1377 | AUDIT_MODULE=none |
1373 | AC_ARG_WITH([audit], | 1378 | AC_ARG_WITH(audit, |
1374 | [ --with-audit=module Enable audit support (modules=debug,bsm,linux)], | 1379 | [ --with-audit=module Enable audit support (modules=debug,bsm,linux)], |
1375 | [ | 1380 | [ |
1376 | AC_MSG_CHECKING([for supported audit module]) | 1381 | AC_MSG_CHECKING(for supported audit module) |
1377 | case "$withval" in | 1382 | case "$withval" in |
1378 | bsm) | 1383 | bsm) |
1379 | AC_MSG_RESULT([bsm]) | 1384 | AC_MSG_RESULT(bsm) |
1380 | AUDIT_MODULE=bsm | 1385 | AUDIT_MODULE=bsm |
1381 | dnl Checks for headers, libs and functions | 1386 | dnl Checks for headers, libs and functions |
1382 | AC_CHECK_HEADERS([bsm/audit.h], [], | 1387 | AC_CHECK_HEADERS(bsm/audit.h, [], |
1383 | [AC_MSG_ERROR([BSM enabled and bsm/audit.h not found])], | 1388 | [AC_MSG_ERROR(BSM enabled and bsm/audit.h not found)], |
1384 | [ | 1389 | [ |
1385 | #ifdef HAVE_TIME_H | 1390 | #ifdef HAVE_TIME_H |
1386 | # include <time.h> | 1391 | # include <time.h> |
1387 | #endif | 1392 | #endif |
1388 | ] | 1393 | ] |
1389 | ) | 1394 | ) |
1390 | AC_CHECK_LIB([bsm], [getaudit], [], | 1395 | AC_CHECK_LIB(bsm, getaudit, [], |
1391 | [AC_MSG_ERROR([BSM enabled and required library not found])]) | 1396 | [AC_MSG_ERROR(BSM enabled and required library not found)]) |
1392 | AC_CHECK_FUNCS([getaudit], [], | 1397 | AC_CHECK_FUNCS(getaudit, [], |
1393 | [AC_MSG_ERROR([BSM enabled and required function not found])]) | 1398 | [AC_MSG_ERROR(BSM enabled and required function not found)]) |
1394 | # These are optional | 1399 | # These are optional |
1395 | AC_CHECK_FUNCS([getaudit_addr aug_get_machine]) | 1400 | AC_CHECK_FUNCS(getaudit_addr aug_get_machine) |
1396 | AC_DEFINE([USE_BSM_AUDIT], [1], [Use BSM audit module]) | 1401 | AC_DEFINE(USE_BSM_AUDIT, 1, [Use BSM audit module]) |
1397 | ;; | 1402 | ;; |
1398 | linux) | 1403 | linux) |
1399 | AC_MSG_RESULT([linux]) | 1404 | AC_MSG_RESULT(linux) |
1400 | AUDIT_MODULE=linux | 1405 | AUDIT_MODULE=linux |
1401 | dnl Checks for headers, libs and functions | 1406 | dnl Checks for headers, libs and functions |
1402 | AC_CHECK_HEADERS([libaudit.h]) | 1407 | AC_CHECK_HEADERS(libaudit.h) |
1403 | SSHDLIBS="$SSHDLIBS -laudit" | 1408 | SSHDLIBS="$SSHDLIBS -laudit" |
1404 | AC_DEFINE([USE_LINUX_AUDIT], [1], [Use Linux audit module]) | 1409 | AC_DEFINE(USE_LINUX_AUDIT, 1, [Use Linux audit module]) |
1405 | ;; | 1410 | ;; |
1406 | debug) | 1411 | debug) |
1407 | AUDIT_MODULE=debug | 1412 | AUDIT_MODULE=debug |
1408 | AC_MSG_RESULT([debug]) | 1413 | AC_MSG_RESULT(debug) |
1409 | AC_DEFINE([SSH_AUDIT_EVENTS], [1], [Use audit debugging module]) | 1414 | AC_DEFINE(SSH_AUDIT_EVENTS, 1, [Use audit debugging module]) |
1410 | ;; | 1415 | ;; |
1411 | no) | 1416 | no) |
1412 | AC_MSG_RESULT([no]) | 1417 | AC_MSG_RESULT(no) |
1413 | ;; | 1418 | ;; |
1414 | *) | 1419 | *) |
1415 | AC_MSG_ERROR([Unknown audit module $withval]) | 1420 | AC_MSG_ERROR([Unknown audit module $withval]) |
@@ -1418,7 +1423,7 @@ AC_ARG_WITH([audit], | |||
1418 | ) | 1423 | ) |
1419 | 1424 | ||
1420 | dnl Checks for library functions. Please keep in alphabetical order | 1425 | dnl Checks for library functions. Please keep in alphabetical order |
1421 | AC_CHECK_FUNCS([ \ | 1426 | AC_CHECK_FUNCS( \ |
1422 | arc4random \ | 1427 | arc4random \ |
1423 | arc4random_buf \ | 1428 | arc4random_buf \ |
1424 | arc4random_uniform \ | 1429 | arc4random_uniform \ |
@@ -1514,43 +1519,46 @@ AC_CHECK_FUNCS([ \ | |||
1514 | vhangup \ | 1519 | vhangup \ |
1515 | vsnprintf \ | 1520 | vsnprintf \ |
1516 | waitpid \ | 1521 | waitpid \ |
1517 | ]) | 1522 | ) |
1518 | 1523 | ||
1519 | AC_LINK_IFELSE( | 1524 | AC_LINK_IFELSE( |
1520 | [AC_LANG_PROGRAM( | 1525 | [ |
1521 | [[ #include <ctype.h> ]], | 1526 | #include <ctype.h> |
1522 | [[ return (isblank('a')); ]])], | 1527 | int main(void) |
1523 | [AC_DEFINE([HAVE_ISBLANK], [1], [Define if you have isblank(3C).]) | 1528 | { |
1529 | return (isblank('a')); | ||
1530 | } | ||
1531 | ], | ||
1532 | [AC_DEFINE(HAVE_ISBLANK, 1, [Define if you have isblank(3C).]) | ||
1524 | ]) | 1533 | ]) |
1525 | 1534 | ||
1526 | # PKCS#11 support requires dlopen() and co | 1535 | # PKCS#11 support requires dlopen() and co |
1527 | AC_SEARCH_LIBS([dlopen], [dl], | 1536 | AC_SEARCH_LIBS(dlopen, dl, |
1528 | [AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support])] | 1537 | AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support]) |
1529 | ) | 1538 | ) |
1530 | 1539 | ||
1531 | # IRIX has a const char return value for gai_strerror() | 1540 | # IRIX has a const char return value for gai_strerror() |
1532 | AC_CHECK_FUNCS([gai_strerror], [ | 1541 | AC_CHECK_FUNCS(gai_strerror,[ |
1533 | AC_DEFINE([HAVE_GAI_STRERROR]) | 1542 | AC_DEFINE(HAVE_GAI_STRERROR) |
1534 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 1543 | AC_TRY_COMPILE([ |
1535 | #include <sys/types.h> | 1544 | #include <sys/types.h> |
1536 | #include <sys/socket.h> | 1545 | #include <sys/socket.h> |
1537 | #include <netdb.h> | 1546 | #include <netdb.h> |
1538 | 1547 | ||
1539 | const char *gai_strerror(int); | 1548 | const char *gai_strerror(int);],[ |
1540 | ]], [[ | 1549 | char *str; |
1541 | char *str; | 1550 | |
1542 | str = gai_strerror(0); | 1551 | str = gai_strerror(0);],[ |
1543 | ]])], [ | 1552 | AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1, |
1544 | AC_DEFINE([HAVE_CONST_GAI_STRERROR_PROTO], [1], | 1553 | [Define if gai_strerror() returns const char *])])]) |
1545 | [Define if gai_strerror() returns const char *])], [])]) | ||
1546 | 1554 | ||
1547 | AC_SEARCH_LIBS([nanosleep], [rt posix4], [AC_DEFINE([HAVE_NANOSLEEP], [1], | 1555 | AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP, 1, |
1548 | [Some systems put nanosleep outside of libc])]) | 1556 | [Some systems put nanosleep outside of libc])) |
1549 | 1557 | ||
1550 | dnl Make sure prototypes are defined for these before using them. | 1558 | dnl Make sure prototypes are defined for these before using them. |
1551 | AC_CHECK_DECL([getrusage], [AC_CHECK_FUNCS([getrusage])]) | 1559 | AC_CHECK_DECL(getrusage, [AC_CHECK_FUNCS(getrusage)]) |
1552 | AC_CHECK_DECL([strsep], | 1560 | AC_CHECK_DECL(strsep, |
1553 | [AC_CHECK_FUNCS([strsep])], | 1561 | [AC_CHECK_FUNCS(strsep)], |
1554 | [], | 1562 | [], |
1555 | [ | 1563 | [ |
1556 | #ifdef HAVE_STRING_H | 1564 | #ifdef HAVE_STRING_H |
@@ -1559,21 +1567,21 @@ AC_CHECK_DECL([strsep], | |||
1559 | ]) | 1567 | ]) |
1560 | 1568 | ||
1561 | dnl tcsendbreak might be a macro | 1569 | dnl tcsendbreak might be a macro |
1562 | AC_CHECK_DECL([tcsendbreak], | 1570 | AC_CHECK_DECL(tcsendbreak, |
1563 | [AC_DEFINE([HAVE_TCSENDBREAK])], | 1571 | [AC_DEFINE(HAVE_TCSENDBREAK)], |
1564 | [AC_CHECK_FUNCS([tcsendbreak])], | 1572 | [AC_CHECK_FUNCS(tcsendbreak)], |
1565 | [#include <termios.h>] | 1573 | [#include <termios.h>] |
1566 | ) | 1574 | ) |
1567 | 1575 | ||
1568 | AC_CHECK_DECLS([h_errno], , ,[#include <netdb.h>]) | 1576 | AC_CHECK_DECLS(h_errno, , ,[#include <netdb.h>]) |
1569 | 1577 | ||
1570 | AC_CHECK_DECLS([SHUT_RD], , , | 1578 | AC_CHECK_DECLS(SHUT_RD, , , |
1571 | [ | 1579 | [ |
1572 | #include <sys/types.h> | 1580 | #include <sys/types.h> |
1573 | #include <sys/socket.h> | 1581 | #include <sys/socket.h> |
1574 | ]) | 1582 | ]) |
1575 | 1583 | ||
1576 | AC_CHECK_DECLS([O_NONBLOCK], , , | 1584 | AC_CHECK_DECLS(O_NONBLOCK, , , |
1577 | [ | 1585 | [ |
1578 | #include <sys/types.h> | 1586 | #include <sys/types.h> |
1579 | #ifdef HAVE_SYS_STAT_H | 1587 | #ifdef HAVE_SYS_STAT_H |
@@ -1584,104 +1592,90 @@ AC_CHECK_DECLS([O_NONBLOCK], , , | |||
1584 | #endif | 1592 | #endif |
1585 | ]) | 1593 | ]) |
1586 | 1594 | ||
1587 | AC_CHECK_DECLS([writev], , , [ | 1595 | AC_CHECK_DECLS(writev, , , [ |
1588 | #include <sys/types.h> | 1596 | #include <sys/types.h> |
1589 | #include <sys/uio.h> | 1597 | #include <sys/uio.h> |
1590 | #include <unistd.h> | 1598 | #include <unistd.h> |
1591 | ]) | 1599 | ]) |
1592 | 1600 | ||
1593 | AC_CHECK_DECLS([MAXSYMLINKS], , , [ | 1601 | AC_CHECK_DECLS(MAXSYMLINKS, , , [ |
1594 | #include <sys/param.h> | 1602 | #include <sys/param.h> |
1595 | ]) | 1603 | ]) |
1596 | 1604 | ||
1597 | AC_CHECK_DECLS([offsetof], , , [ | 1605 | AC_CHECK_DECLS(offsetof, , , [ |
1598 | #include <stddef.h> | 1606 | #include <stddef.h> |
1599 | ]) | 1607 | ]) |
1600 | 1608 | ||
1601 | AC_CHECK_FUNCS([setresuid], [ | 1609 | AC_CHECK_FUNCS(setresuid, [ |
1602 | dnl Some platorms have setresuid that isn't implemented, test for this | 1610 | dnl Some platorms have setresuid that isn't implemented, test for this |
1603 | AC_MSG_CHECKING([if setresuid seems to work]) | 1611 | AC_MSG_CHECKING(if setresuid seems to work) |
1604 | AC_RUN_IFELSE( | 1612 | AC_RUN_IFELSE( |
1605 | [AC_LANG_PROGRAM([[ | 1613 | [AC_LANG_SOURCE([[ |
1606 | #include <stdlib.h> | 1614 | #include <stdlib.h> |
1607 | #include <errno.h> | 1615 | #include <errno.h> |
1608 | ]], [[ | 1616 | int main(){errno=0; setresuid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} |
1609 | errno=0; | ||
1610 | setresuid(0,0,0); | ||
1611 | if (errno==ENOSYS) | ||
1612 | exit(1); | ||
1613 | else | ||
1614 | exit(0); | ||
1615 | ]])], | 1617 | ]])], |
1616 | [AC_MSG_RESULT([yes])], | 1618 | [AC_MSG_RESULT(yes)], |
1617 | [AC_DEFINE([BROKEN_SETRESUID], [1], | 1619 | [AC_DEFINE(BROKEN_SETRESUID, 1, |
1618 | [Define if your setresuid() is broken]) | 1620 | [Define if your setresuid() is broken]) |
1619 | AC_MSG_RESULT([not implemented])], | 1621 | AC_MSG_RESULT(not implemented)], |
1620 | [AC_MSG_WARN([cross compiling: not checking setresuid])] | 1622 | [AC_MSG_WARN([cross compiling: not checking setresuid])] |
1621 | ) | 1623 | ) |
1622 | ]) | 1624 | ]) |
1623 | 1625 | ||
1624 | AC_CHECK_FUNCS([setresgid], [ | 1626 | AC_CHECK_FUNCS(setresgid, [ |
1625 | dnl Some platorms have setresgid that isn't implemented, test for this | 1627 | dnl Some platorms have setresgid that isn't implemented, test for this |
1626 | AC_MSG_CHECKING([if setresgid seems to work]) | 1628 | AC_MSG_CHECKING(if setresgid seems to work) |
1627 | AC_RUN_IFELSE( | 1629 | AC_RUN_IFELSE( |
1628 | [AC_LANG_PROGRAM([[ | 1630 | [AC_LANG_SOURCE([[ |
1629 | #include <stdlib.h> | 1631 | #include <stdlib.h> |
1630 | #include <errno.h> | 1632 | #include <errno.h> |
1631 | ]], [[ | 1633 | int main(){errno=0; setresgid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} |
1632 | errno=0; | ||
1633 | setresgid(0,0,0); | ||
1634 | if (errno==ENOSYS) | ||
1635 | exit(1); | ||
1636 | else | ||
1637 | exit(0); | ||
1638 | ]])], | 1634 | ]])], |
1639 | [AC_MSG_RESULT([yes])], | 1635 | [AC_MSG_RESULT(yes)], |
1640 | [AC_DEFINE([BROKEN_SETRESGID], [1], | 1636 | [AC_DEFINE(BROKEN_SETRESGID, 1, |
1641 | [Define if your setresgid() is broken]) | 1637 | [Define if your setresgid() is broken]) |
1642 | AC_MSG_RESULT([not implemented])], | 1638 | AC_MSG_RESULT(not implemented)], |
1643 | [AC_MSG_WARN([cross compiling: not checking setresuid])] | 1639 | [AC_MSG_WARN([cross compiling: not checking setresuid])] |
1644 | ) | 1640 | ) |
1645 | ]) | 1641 | ]) |
1646 | 1642 | ||
1647 | dnl Checks for time functions | 1643 | dnl Checks for time functions |
1648 | AC_CHECK_FUNCS([gettimeofday time]) | 1644 | AC_CHECK_FUNCS(gettimeofday time) |
1649 | dnl Checks for utmp functions | 1645 | dnl Checks for utmp functions |
1650 | AC_CHECK_FUNCS([endutent getutent getutid getutline pututline setutent]) | 1646 | AC_CHECK_FUNCS(endutent getutent getutid getutline pututline setutent) |
1651 | AC_CHECK_FUNCS([utmpname]) | 1647 | AC_CHECK_FUNCS(utmpname) |
1652 | dnl Checks for utmpx functions | 1648 | dnl Checks for utmpx functions |
1653 | AC_CHECK_FUNCS([endutxent getutxent getutxid getutxline getutxuser pututxline]) | 1649 | AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline getutxuser pututxline) |
1654 | AC_CHECK_FUNCS([setutxdb setutxent utmpxname]) | 1650 | AC_CHECK_FUNCS(setutxdb setutxent utmpxname) |
1655 | dnl Checks for lastlog functions | 1651 | dnl Checks for lastlog functions |
1656 | AC_CHECK_FUNCS([getlastlogxbyname]) | 1652 | AC_CHECK_FUNCS(getlastlogxbyname) |
1657 | 1653 | ||
1658 | AC_CHECK_FUNC([daemon], | 1654 | AC_CHECK_FUNC(daemon, |
1659 | [AC_DEFINE([HAVE_DAEMON], [1], [Define if your libraries define daemon()])], | 1655 | [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])], |
1660 | [AC_CHECK_LIB([bsd], [daemon], | 1656 | [AC_CHECK_LIB(bsd, daemon, |
1661 | [LIBS="$LIBS -lbsd"; AC_DEFINE([HAVE_DAEMON])])] | 1657 | [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])] |
1662 | ) | 1658 | ) |
1663 | 1659 | ||
1664 | AC_CHECK_FUNC([getpagesize], | 1660 | AC_CHECK_FUNC(getpagesize, |
1665 | [AC_DEFINE([HAVE_GETPAGESIZE], [1], | 1661 | [AC_DEFINE(HAVE_GETPAGESIZE, 1, |
1666 | [Define if your libraries define getpagesize()])], | 1662 | [Define if your libraries define getpagesize()])], |
1667 | [AC_CHECK_LIB([ucb], [getpagesize], | 1663 | [AC_CHECK_LIB(ucb, getpagesize, |
1668 | [LIBS="$LIBS -lucb"; AC_DEFINE([HAVE_GETPAGESIZE])])] | 1664 | [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])] |
1669 | ) | 1665 | ) |
1670 | 1666 | ||
1671 | # Check for broken snprintf | 1667 | # Check for broken snprintf |
1672 | if test "x$ac_cv_func_snprintf" = "xyes" ; then | 1668 | if test "x$ac_cv_func_snprintf" = "xyes" ; then |
1673 | AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) | 1669 | AC_MSG_CHECKING([whether snprintf correctly terminates long strings]) |
1674 | AC_RUN_IFELSE( | 1670 | AC_RUN_IFELSE( |
1675 | [AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 1671 | [AC_LANG_SOURCE([[ |
1676 | [[ | 1672 | #include <stdio.h> |
1677 | char b[5]; | 1673 | int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');} |
1678 | snprintf(b,5,"123456789"); | ||
1679 | exit(b[4]!='\0'); | ||
1680 | ]])], | 1674 | ]])], |
1681 | [AC_MSG_RESULT([yes])], | 1675 | [AC_MSG_RESULT(yes)], |
1682 | [ | 1676 | [ |
1683 | AC_MSG_RESULT([no]) | 1677 | AC_MSG_RESULT(no) |
1684 | AC_DEFINE([BROKEN_SNPRINTF], [1], | 1678 | AC_DEFINE(BROKEN_SNPRINTF, 1, |
1685 | [Define if your snprintf is busted]) | 1679 | [Define if your snprintf is busted]) |
1686 | AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) | 1680 | AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) |
1687 | ], | 1681 | ], |
@@ -1696,7 +1690,7 @@ if test "x$ac_cv_func_asprintf" != "xyes" && \ | |||
1696 | test "x$ac_cv_func_vsnprintf" = "xyes" ; then | 1690 | test "x$ac_cv_func_vsnprintf" = "xyes" ; then |
1697 | AC_MSG_CHECKING([whether vsnprintf returns correct values on overflow]) | 1691 | AC_MSG_CHECKING([whether vsnprintf returns correct values on overflow]) |
1698 | AC_RUN_IFELSE( | 1692 | AC_RUN_IFELSE( |
1699 | [AC_LANG_PROGRAM([[ | 1693 | [AC_LANG_SOURCE([[ |
1700 | #include <sys/types.h> | 1694 | #include <sys/types.h> |
1701 | #include <stdio.h> | 1695 | #include <stdio.h> |
1702 | #include <stdarg.h> | 1696 | #include <stdarg.h> |
@@ -1707,14 +1701,15 @@ int x_snprintf(char *str,size_t count,const char *fmt,...) | |||
1707 | va_start(ap, fmt); ret = vsnprintf(str, count, fmt, ap); va_end(ap); | 1701 | va_start(ap, fmt); ret = vsnprintf(str, count, fmt, ap); va_end(ap); |
1708 | return ret; | 1702 | return ret; |
1709 | } | 1703 | } |
1710 | ]], [[ | 1704 | int main(void) |
1705 | { | ||
1711 | char x[1]; | 1706 | char x[1]; |
1712 | exit(x_snprintf(x, 1, "%s %d", "hello", 12345) == 11 ? 0 : 1); | 1707 | exit(x_snprintf(x, 1, "%s %d", "hello", 12345) == 11 ? 0 : 1); |
1713 | ]])], | 1708 | } ]])], |
1714 | [AC_MSG_RESULT([yes])], | 1709 | [AC_MSG_RESULT(yes)], |
1715 | [ | 1710 | [ |
1716 | AC_MSG_RESULT([no]) | 1711 | AC_MSG_RESULT(no) |
1717 | AC_DEFINE([BROKEN_SNPRINTF], [1], | 1712 | AC_DEFINE(BROKEN_SNPRINTF, 1, |
1718 | [Define if your snprintf is busted]) | 1713 | [Define if your snprintf is busted]) |
1719 | AC_MSG_WARN([****** Your vsnprintf() function is broken, complain to your vendor]) | 1714 | AC_MSG_WARN([****** Your vsnprintf() function is broken, complain to your vendor]) |
1720 | ], | 1715 | ], |
@@ -1726,69 +1721,71 @@ fi | |||
1726 | # check that the fmt argument is const char * or just char *. | 1721 | # check that the fmt argument is const char * or just char *. |
1727 | # This is only useful for when BROKEN_SNPRINTF | 1722 | # This is only useful for when BROKEN_SNPRINTF |
1728 | AC_MSG_CHECKING([whether snprintf can declare const char *fmt]) | 1723 | AC_MSG_CHECKING([whether snprintf can declare const char *fmt]) |
1729 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 1724 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <stdio.h> |
1730 | #include <stdio.h> | 1725 | int snprintf(char *a, size_t b, const char *c, ...) { return 0; } |
1731 | int snprintf(char *a, size_t b, const char *c, ...) { return 0; } | 1726 | int main(void) { snprintf(0, 0, 0); } |
1732 | ]], [[ | 1727 | ]])], |
1733 | snprintf(0, 0, 0); | 1728 | [AC_MSG_RESULT(yes) |
1734 | ]])], | 1729 | AC_DEFINE(SNPRINTF_CONST, [const], |
1735 | [AC_MSG_RESULT([yes]) | ||
1736 | AC_DEFINE([SNPRINTF_CONST], [const], | ||
1737 | [Define as const if snprintf() can declare const char *fmt])], | 1730 | [Define as const if snprintf() can declare const char *fmt])], |
1738 | [AC_MSG_RESULT([no]) | 1731 | [AC_MSG_RESULT(no) |
1739 | AC_DEFINE([SNPRINTF_CONST], [/* not const */])]) | 1732 | AC_DEFINE(SNPRINTF_CONST, [/* not const */])]) |
1740 | 1733 | ||
1741 | # Check for missing getpeereid (or equiv) support | 1734 | # Check for missing getpeereid (or equiv) support |
1742 | NO_PEERCHECK="" | 1735 | NO_PEERCHECK="" |
1743 | if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then | 1736 | if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then |
1744 | AC_MSG_CHECKING([whether system supports SO_PEERCRED getsockopt]) | 1737 | AC_MSG_CHECKING([whether system supports SO_PEERCRED getsockopt]) |
1745 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 1738 | AC_TRY_COMPILE( |
1746 | #include <sys/types.h> | 1739 | [#include <sys/types.h> |
1747 | #include <sys/socket.h>]], [[int i = SO_PEERCRED;]])], | 1740 | #include <sys/socket.h>], |
1748 | [ AC_MSG_RESULT([yes]) | 1741 | [int i = SO_PEERCRED;], |
1749 | AC_DEFINE([HAVE_SO_PEERCRED], [1], [Have PEERCRED socket option]) | 1742 | [ AC_MSG_RESULT(yes) |
1750 | ], [AC_MSG_RESULT([no]) | 1743 | AC_DEFINE(HAVE_SO_PEERCRED, 1, [Have PEERCRED socket option]) |
1751 | NO_PEERCHECK=1 | 1744 | ], |
1752 | ]) | 1745 | [AC_MSG_RESULT(no) |
1746 | NO_PEERCHECK=1] | ||
1747 | ) | ||
1753 | fi | 1748 | fi |
1754 | 1749 | ||
1755 | dnl see whether mkstemp() requires XXXXXX | 1750 | dnl see whether mkstemp() requires XXXXXX |
1756 | if test "x$ac_cv_func_mkdtemp" = "xyes" ; then | 1751 | if test "x$ac_cv_func_mkdtemp" = "xyes" ; then |
1757 | AC_MSG_CHECKING([for (overly) strict mkstemp]) | 1752 | AC_MSG_CHECKING([for (overly) strict mkstemp]) |
1758 | AC_RUN_IFELSE( | 1753 | AC_RUN_IFELSE( |
1759 | [AC_LANG_PROGRAM([[ | 1754 | [AC_LANG_SOURCE([[ |
1760 | #include <stdlib.h> | 1755 | #include <stdlib.h> |
1761 | ]], [[ | 1756 | main() { char template[]="conftest.mkstemp-test"; |
1762 | char template[]="conftest.mkstemp-test"; | 1757 | if (mkstemp(template) == -1) |
1763 | if (mkstemp(template) == -1) | 1758 | exit(1); |
1764 | exit(1); | 1759 | unlink(template); exit(0); |
1765 | unlink(template); | 1760 | } |
1766 | exit(0); | ||
1767 | ]])], | 1761 | ]])], |
1768 | [ | 1762 | [ |
1769 | AC_MSG_RESULT([no]) | 1763 | AC_MSG_RESULT(no) |
1770 | ], | 1764 | ], |
1771 | [ | 1765 | [ |
1772 | AC_MSG_RESULT([yes]) | 1766 | AC_MSG_RESULT(yes) |
1773 | AC_DEFINE([HAVE_STRICT_MKSTEMP], [1], [Silly mkstemp()]) | 1767 | AC_DEFINE(HAVE_STRICT_MKSTEMP, 1, [Silly mkstemp()]) |
1774 | ], | 1768 | ], |
1775 | [ | 1769 | [ |
1776 | AC_MSG_RESULT([yes]) | 1770 | AC_MSG_RESULT(yes) |
1777 | AC_DEFINE([HAVE_STRICT_MKSTEMP]) | 1771 | AC_DEFINE(HAVE_STRICT_MKSTEMP) |
1778 | ] | 1772 | ] |
1779 | ) | 1773 | ) |
1780 | fi | 1774 | fi |
1781 | 1775 | ||
1782 | dnl make sure that openpty does not reacquire controlling terminal | 1776 | dnl make sure that openpty does not reacquire controlling terminal |
1783 | if test ! -z "$check_for_openpty_ctty_bug"; then | 1777 | if test ! -z "$check_for_openpty_ctty_bug"; then |
1784 | AC_MSG_CHECKING([if openpty correctly handles controlling tty]) | 1778 | AC_MSG_CHECKING(if openpty correctly handles controlling tty) |
1785 | AC_RUN_IFELSE( | 1779 | AC_RUN_IFELSE( |
1786 | [AC_LANG_PROGRAM([[ | 1780 | [AC_LANG_SOURCE([[ |
1787 | #include <stdio.h> | 1781 | #include <stdio.h> |
1788 | #include <sys/fcntl.h> | 1782 | #include <sys/fcntl.h> |
1789 | #include <sys/types.h> | 1783 | #include <sys/types.h> |
1790 | #include <sys/wait.h> | 1784 | #include <sys/wait.h> |
1791 | ]], [[ | 1785 | |
1786 | int | ||
1787 | main() | ||
1788 | { | ||
1792 | pid_t pid; | 1789 | pid_t pid; |
1793 | int fd, ptyfd, ttyfd, status; | 1790 | int fd, ptyfd, ttyfd, status; |
1794 | 1791 | ||
@@ -1811,25 +1808,26 @@ if test ! -z "$check_for_openpty_ctty_bug"; then | |||
1811 | else | 1808 | else |
1812 | exit(0); /* Did not acquire ctty: OK */ | 1809 | exit(0); /* Did not acquire ctty: OK */ |
1813 | } | 1810 | } |
1811 | } | ||
1814 | ]])], | 1812 | ]])], |
1815 | [ | 1813 | [ |
1816 | AC_MSG_RESULT([yes]) | 1814 | AC_MSG_RESULT(yes) |
1817 | ], | 1815 | ], |
1818 | [ | 1816 | [ |
1819 | AC_MSG_RESULT([no]) | 1817 | AC_MSG_RESULT(no) |
1820 | AC_DEFINE([SSHD_ACQUIRES_CTTY]) | 1818 | AC_DEFINE(SSHD_ACQUIRES_CTTY) |
1821 | ], | 1819 | ], |
1822 | [ | 1820 | [ |
1823 | AC_MSG_RESULT([cross-compiling, assuming yes]) | 1821 | AC_MSG_RESULT(cross-compiling, assuming yes) |
1824 | ] | 1822 | ] |
1825 | ) | 1823 | ) |
1826 | fi | 1824 | fi |
1827 | 1825 | ||
1828 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | 1826 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ |
1829 | test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then | 1827 | test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then |
1830 | AC_MSG_CHECKING([if getaddrinfo seems to work]) | 1828 | AC_MSG_CHECKING(if getaddrinfo seems to work) |
1831 | AC_RUN_IFELSE( | 1829 | AC_RUN_IFELSE( |
1832 | [AC_LANG_PROGRAM([[ | 1830 | [AC_LANG_SOURCE([[ |
1833 | #include <stdio.h> | 1831 | #include <stdio.h> |
1834 | #include <sys/socket.h> | 1832 | #include <sys/socket.h> |
1835 | #include <netdb.h> | 1833 | #include <netdb.h> |
@@ -1837,7 +1835,10 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
1837 | #include <netinet/in.h> | 1835 | #include <netinet/in.h> |
1838 | 1836 | ||
1839 | #define TEST_PORT "2222" | 1837 | #define TEST_PORT "2222" |
1840 | ]], [[ | 1838 | |
1839 | int | ||
1840 | main(void) | ||
1841 | { | ||
1841 | int err, sock; | 1842 | int err, sock; |
1842 | struct addrinfo *gai_ai, *ai, hints; | 1843 | struct addrinfo *gai_ai, *ai, hints; |
1843 | char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; | 1844 | char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; |
@@ -1879,25 +1880,26 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
1879 | } | 1880 | } |
1880 | } | 1881 | } |
1881 | exit(0); | 1882 | exit(0); |
1883 | } | ||
1882 | ]])], | 1884 | ]])], |
1883 | [ | 1885 | [ |
1884 | AC_MSG_RESULT([yes]) | 1886 | AC_MSG_RESULT(yes) |
1885 | ], | 1887 | ], |
1886 | [ | 1888 | [ |
1887 | AC_MSG_RESULT([no]) | 1889 | AC_MSG_RESULT(no) |
1888 | AC_DEFINE([BROKEN_GETADDRINFO]) | 1890 | AC_DEFINE(BROKEN_GETADDRINFO) |
1889 | ], | 1891 | ], |
1890 | [ | 1892 | [ |
1891 | AC_MSG_RESULT([cross-compiling, assuming yes]) | 1893 | AC_MSG_RESULT(cross-compiling, assuming yes) |
1892 | ] | 1894 | ] |
1893 | ) | 1895 | ) |
1894 | fi | 1896 | fi |
1895 | 1897 | ||
1896 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | 1898 | if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ |
1897 | test "x$check_for_aix_broken_getaddrinfo" = "x1"; then | 1899 | test "x$check_for_aix_broken_getaddrinfo" = "x1"; then |
1898 | AC_MSG_CHECKING([if getaddrinfo seems to work]) | 1900 | AC_MSG_CHECKING(if getaddrinfo seems to work) |
1899 | AC_RUN_IFELSE( | 1901 | AC_RUN_IFELSE( |
1900 | [AC_LANG_PROGRAM([[ | 1902 | [AC_LANG_SOURCE([[ |
1901 | #include <stdio.h> | 1903 | #include <stdio.h> |
1902 | #include <sys/socket.h> | 1904 | #include <sys/socket.h> |
1903 | #include <netdb.h> | 1905 | #include <netdb.h> |
@@ -1905,7 +1907,10 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
1905 | #include <netinet/in.h> | 1907 | #include <netinet/in.h> |
1906 | 1908 | ||
1907 | #define TEST_PORT "2222" | 1909 | #define TEST_PORT "2222" |
1908 | ]], [[ | 1910 | |
1911 | int | ||
1912 | main(void) | ||
1913 | { | ||
1909 | int err, sock; | 1914 | int err, sock; |
1910 | struct addrinfo *gai_ai, *ai, hints; | 1915 | struct addrinfo *gai_ai, *ai, hints; |
1911 | char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; | 1916 | char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL; |
@@ -1935,33 +1940,37 @@ if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ | |||
1935 | } | 1940 | } |
1936 | } | 1941 | } |
1937 | exit(0); | 1942 | exit(0); |
1943 | } | ||
1938 | ]])], | 1944 | ]])], |
1939 | [ | 1945 | [ |
1940 | AC_MSG_RESULT([yes]) | 1946 | AC_MSG_RESULT(yes) |
1941 | AC_DEFINE([AIX_GETNAMEINFO_HACK], [1], | 1947 | AC_DEFINE(AIX_GETNAMEINFO_HACK, 1, |
1942 | [Define if you have a getaddrinfo that fails | 1948 | [Define if you have a getaddrinfo that fails |
1943 | for the all-zeros IPv6 address]) | 1949 | for the all-zeros IPv6 address]) |
1944 | ], | 1950 | ], |
1945 | [ | 1951 | [ |
1946 | AC_MSG_RESULT([no]) | 1952 | AC_MSG_RESULT(no) |
1947 | AC_DEFINE([BROKEN_GETADDRINFO]) | 1953 | AC_DEFINE(BROKEN_GETADDRINFO) |
1948 | ], | 1954 | ], |
1949 | [ | 1955 | [ |
1950 | AC_MSG_RESULT([cross-compiling, assuming no]) | 1956 | AC_MSG_RESULT(cross-compiling, assuming no) |
1951 | ] | 1957 | ] |
1952 | ) | 1958 | ) |
1953 | fi | 1959 | fi |
1954 | 1960 | ||
1955 | if test "x$check_for_conflicting_getspnam" = "x1"; then | 1961 | if test "x$check_for_conflicting_getspnam" = "x1"; then |
1956 | AC_MSG_CHECKING([for conflicting getspnam in shadow.h]) | 1962 | AC_MSG_CHECKING(for conflicting getspnam in shadow.h) |
1957 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <shadow.h> ]], | 1963 | AC_COMPILE_IFELSE( |
1958 | [[ exit(0); ]])], | ||
1959 | [ | 1964 | [ |
1960 | AC_MSG_RESULT([no]) | 1965 | #include <shadow.h> |
1966 | int main(void) {exit(0);} | ||
1961 | ], | 1967 | ], |
1962 | [ | 1968 | [ |
1963 | AC_MSG_RESULT([yes]) | 1969 | AC_MSG_RESULT(no) |
1964 | AC_DEFINE([GETSPNAM_CONFLICTING_DEFS], [1], | 1970 | ], |
1971 | [ | ||
1972 | AC_MSG_RESULT(yes) | ||
1973 | AC_DEFINE(GETSPNAM_CONFLICTING_DEFS, 1, | ||
1965 | [Conflicting defs for getspnam]) | 1974 | [Conflicting defs for getspnam]) |
1966 | ] | 1975 | ] |
1967 | ) | 1976 | ) |
@@ -1972,7 +1981,7 @@ AC_FUNC_GETPGRP | |||
1972 | # Search for OpenSSL | 1981 | # Search for OpenSSL |
1973 | saved_CPPFLAGS="$CPPFLAGS" | 1982 | saved_CPPFLAGS="$CPPFLAGS" |
1974 | saved_LDFLAGS="$LDFLAGS" | 1983 | saved_LDFLAGS="$LDFLAGS" |
1975 | AC_ARG_WITH([ssl-dir], | 1984 | AC_ARG_WITH(ssl-dir, |
1976 | [ --with-ssl-dir=PATH Specify path to OpenSSL installation ], | 1985 | [ --with-ssl-dir=PATH Specify path to OpenSSL installation ], |
1977 | [ | 1986 | [ |
1978 | if test "x$withval" != "xno" ; then | 1987 | if test "x$withval" != "xno" ; then |
@@ -2008,9 +2017,9 @@ AC_ARG_WITH([ssl-dir], | |||
2008 | ] | 2017 | ] |
2009 | ) | 2018 | ) |
2010 | LIBS="-lcrypto $LIBS" | 2019 | LIBS="-lcrypto $LIBS" |
2011 | AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], | 2020 | AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL, 1, |
2012 | [Define if your ssl headers are included | 2021 | [Define if your ssl headers are included |
2013 | with #include <openssl/header.h>])], | 2022 | with #include <openssl/header.h>]), |
2014 | [ | 2023 | [ |
2015 | dnl Check default openssl install dir | 2024 | dnl Check default openssl install dir |
2016 | if test -n "${need_dash_r}"; then | 2025 | if test -n "${need_dash_r}"; then |
@@ -2020,8 +2029,8 @@ AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], | |||
2020 | fi | 2029 | fi |
2021 | CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}" | 2030 | CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}" |
2022 | AC_CHECK_HEADER([openssl/opensslv.h], , | 2031 | AC_CHECK_HEADER([openssl/opensslv.h], , |
2023 | [AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])]) | 2032 | AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***])) |
2024 | AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL])], | 2033 | AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL), |
2025 | [ | 2034 | [ |
2026 | AC_MSG_ERROR([*** Can't find recent OpenSSL libcrypto (see config.log for details) ***]) | 2035 | AC_MSG_ERROR([*** Can't find recent OpenSSL libcrypto (see config.log for details) ***]) |
2027 | ] | 2036 | ] |
@@ -2032,12 +2041,12 @@ AC_TRY_LINK_FUNC([RAND_add], [AC_DEFINE([HAVE_OPENSSL], [1], | |||
2032 | # Determine OpenSSL header version | 2041 | # Determine OpenSSL header version |
2033 | AC_MSG_CHECKING([OpenSSL header version]) | 2042 | AC_MSG_CHECKING([OpenSSL header version]) |
2034 | AC_RUN_IFELSE( | 2043 | AC_RUN_IFELSE( |
2035 | [AC_LANG_PROGRAM([[ | 2044 | [AC_LANG_SOURCE([[ |
2036 | #include <stdio.h> | 2045 | #include <stdio.h> |
2037 | #include <string.h> | 2046 | #include <string.h> |
2038 | #include <openssl/opensslv.h> | 2047 | #include <openssl/opensslv.h> |
2039 | #define DATA "conftest.sslincver" | 2048 | #define DATA "conftest.sslincver" |
2040 | ]], [[ | 2049 | int main(void) { |
2041 | FILE *fd; | 2050 | FILE *fd; |
2042 | int rc; | 2051 | int rc; |
2043 | 2052 | ||
@@ -2049,14 +2058,15 @@ AC_RUN_IFELSE( | |||
2049 | exit(1); | 2058 | exit(1); |
2050 | 2059 | ||
2051 | exit(0); | 2060 | exit(0); |
2061 | } | ||
2052 | ]])], | 2062 | ]])], |
2053 | [ | 2063 | [ |
2054 | ssl_header_ver=`cat conftest.sslincver` | 2064 | ssl_header_ver=`cat conftest.sslincver` |
2055 | AC_MSG_RESULT([$ssl_header_ver]) | 2065 | AC_MSG_RESULT($ssl_header_ver) |
2056 | ], | 2066 | ], |
2057 | [ | 2067 | [ |
2058 | AC_MSG_RESULT([not found]) | 2068 | AC_MSG_RESULT(not found) |
2059 | AC_MSG_ERROR([OpenSSL version header not found.]) | 2069 | AC_MSG_ERROR(OpenSSL version header not found.) |
2060 | ], | 2070 | ], |
2061 | [ | 2071 | [ |
2062 | AC_MSG_WARN([cross compiling: not checking]) | 2072 | AC_MSG_WARN([cross compiling: not checking]) |
@@ -2066,13 +2076,13 @@ AC_RUN_IFELSE( | |||
2066 | # Determine OpenSSL library version | 2076 | # Determine OpenSSL library version |
2067 | AC_MSG_CHECKING([OpenSSL library version]) | 2077 | AC_MSG_CHECKING([OpenSSL library version]) |
2068 | AC_RUN_IFELSE( | 2078 | AC_RUN_IFELSE( |
2069 | [AC_LANG_PROGRAM([[ | 2079 | [AC_LANG_SOURCE([[ |
2070 | #include <stdio.h> | 2080 | #include <stdio.h> |
2071 | #include <string.h> | 2081 | #include <string.h> |
2072 | #include <openssl/opensslv.h> | 2082 | #include <openssl/opensslv.h> |
2073 | #include <openssl/crypto.h> | 2083 | #include <openssl/crypto.h> |
2074 | #define DATA "conftest.ssllibver" | 2084 | #define DATA "conftest.ssllibver" |
2075 | ]], [[ | 2085 | int main(void) { |
2076 | FILE *fd; | 2086 | FILE *fd; |
2077 | int rc; | 2087 | int rc; |
2078 | 2088 | ||
@@ -2084,21 +2094,22 @@ AC_RUN_IFELSE( | |||
2084 | exit(1); | 2094 | exit(1); |
2085 | 2095 | ||
2086 | exit(0); | 2096 | exit(0); |
2097 | } | ||
2087 | ]])], | 2098 | ]])], |
2088 | [ | 2099 | [ |
2089 | ssl_library_ver=`cat conftest.ssllibver` | 2100 | ssl_library_ver=`cat conftest.ssllibver` |
2090 | AC_MSG_RESULT([$ssl_library_ver]) | 2101 | AC_MSG_RESULT($ssl_library_ver) |
2091 | ], | 2102 | ], |
2092 | [ | 2103 | [ |
2093 | AC_MSG_RESULT([not found]) | 2104 | AC_MSG_RESULT(not found) |
2094 | AC_MSG_ERROR([OpenSSL library not found.]) | 2105 | AC_MSG_ERROR(OpenSSL library not found.) |
2095 | ], | 2106 | ], |
2096 | [ | 2107 | [ |
2097 | AC_MSG_WARN([cross compiling: not checking]) | 2108 | AC_MSG_WARN([cross compiling: not checking]) |
2098 | ] | 2109 | ] |
2099 | ) | 2110 | ) |
2100 | 2111 | ||
2101 | AC_ARG_WITH([openssl-header-check], | 2112 | AC_ARG_WITH(openssl-header-check, |
2102 | [ --without-openssl-header-check Disable OpenSSL version consistency check], | 2113 | [ --without-openssl-header-check Disable OpenSSL version consistency check], |
2103 | [ if test "x$withval" = "xno" ; then | 2114 | [ if test "x$withval" = "xno" ; then |
2104 | openssl_check_nonfatal=1 | 2115 | openssl_check_nonfatal=1 |
@@ -2109,17 +2120,16 @@ AC_ARG_WITH([openssl-header-check], | |||
2109 | # Sanity check OpenSSL headers | 2120 | # Sanity check OpenSSL headers |
2110 | AC_MSG_CHECKING([whether OpenSSL's headers match the library]) | 2121 | AC_MSG_CHECKING([whether OpenSSL's headers match the library]) |
2111 | AC_RUN_IFELSE( | 2122 | AC_RUN_IFELSE( |
2112 | [AC_LANG_PROGRAM([[ | 2123 | [AC_LANG_SOURCE([[ |
2113 | #include <string.h> | 2124 | #include <string.h> |
2114 | #include <openssl/opensslv.h> | 2125 | #include <openssl/opensslv.h> |
2115 | ]], [[ | 2126 | int main(void) { exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); } |
2116 | exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); | ||
2117 | ]])], | 2127 | ]])], |
2118 | [ | 2128 | [ |
2119 | AC_MSG_RESULT([yes]) | 2129 | AC_MSG_RESULT(yes) |
2120 | ], | 2130 | ], |
2121 | [ | 2131 | [ |
2122 | AC_MSG_RESULT([no]) | 2132 | AC_MSG_RESULT(no) |
2123 | if test "x$openssl_check_nonfatal" = "x"; then | 2133 | if test "x$openssl_check_nonfatal" = "x"; then |
2124 | AC_MSG_ERROR([Your OpenSSL headers do not match your | 2134 | AC_MSG_ERROR([Your OpenSSL headers do not match your |
2125 | library. Check config.log for details. | 2135 | library. Check config.log for details. |
@@ -2140,84 +2150,85 @@ Also see contrib/findssl.sh for help identifying header/library mismatches.]) | |||
2140 | 2150 | ||
2141 | AC_MSG_CHECKING([if programs using OpenSSL functions will link]) | 2151 | AC_MSG_CHECKING([if programs using OpenSSL functions will link]) |
2142 | AC_LINK_IFELSE( | 2152 | AC_LINK_IFELSE( |
2143 | [AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]], | 2153 | [AC_LANG_SOURCE([[ |
2144 | [[ SSLeay_add_all_algorithms(); ]])], | 2154 | #include <openssl/evp.h> |
2155 | int main(void) { SSLeay_add_all_algorithms(); } | ||
2156 | ]])], | ||
2145 | [ | 2157 | [ |
2146 | AC_MSG_RESULT([yes]) | 2158 | AC_MSG_RESULT(yes) |
2147 | ], | 2159 | ], |
2148 | [ | 2160 | [ |
2149 | AC_MSG_RESULT([no]) | 2161 | AC_MSG_RESULT(no) |
2150 | saved_LIBS="$LIBS" | 2162 | saved_LIBS="$LIBS" |
2151 | LIBS="$LIBS -ldl" | 2163 | LIBS="$LIBS -ldl" |
2152 | AC_MSG_CHECKING([if programs using OpenSSL need -ldl]) | 2164 | AC_MSG_CHECKING([if programs using OpenSSL need -ldl]) |
2153 | AC_LINK_IFELSE( | 2165 | AC_LINK_IFELSE( |
2154 | [AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]], | 2166 | [AC_LANG_SOURCE([[ |
2155 | [[ SSLeay_add_all_algorithms(); ]])], | 2167 | #include <openssl/evp.h> |
2168 | int main(void) { SSLeay_add_all_algorithms(); } | ||
2169 | ]])], | ||
2156 | [ | 2170 | [ |
2157 | AC_MSG_RESULT([yes]) | 2171 | AC_MSG_RESULT(yes) |
2158 | ], | 2172 | ], |
2159 | [ | 2173 | [ |
2160 | AC_MSG_RESULT([no]) | 2174 | AC_MSG_RESULT(no) |
2161 | LIBS="$saved_LIBS" | 2175 | LIBS="$saved_LIBS" |
2162 | ] | 2176 | ] |
2163 | ) | 2177 | ) |
2164 | ] | 2178 | ] |
2165 | ) | 2179 | ) |
2166 | 2180 | ||
2167 | AC_CHECK_FUNCS([RSA_generate_key_ex DSA_generate_parameters_ex BN_is_prime_ex RSA_get_default_method]) | 2181 | AC_CHECK_FUNCS(RSA_generate_key_ex DSA_generate_parameters_ex BN_is_prime_ex RSA_get_default_method) |
2168 | 2182 | ||
2169 | AC_ARG_WITH([ssl-engine], | 2183 | AC_ARG_WITH(ssl-engine, |
2170 | [ --with-ssl-engine Enable OpenSSL (hardware) ENGINE support ], | 2184 | [ --with-ssl-engine Enable OpenSSL (hardware) ENGINE support ], |
2171 | [ if test "x$withval" != "xno" ; then | 2185 | [ if test "x$withval" != "xno" ; then |
2172 | AC_MSG_CHECKING([for OpenSSL ENGINE support]) | 2186 | AC_MSG_CHECKING(for OpenSSL ENGINE support) |
2173 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2187 | AC_TRY_COMPILE( |
2174 | #include <openssl/engine.h> | 2188 | [ #include <openssl/engine.h>], |
2175 | ]], [[ | 2189 | [ |
2176 | ENGINE_load_builtin_engines(); | 2190 | ENGINE_load_builtin_engines();ENGINE_register_all_complete(); |
2177 | ENGINE_register_all_complete(); | 2191 | ], |
2178 | ]])], | 2192 | [ AC_MSG_RESULT(yes) |
2179 | [ AC_MSG_RESULT([yes]) | 2193 | AC_DEFINE(USE_OPENSSL_ENGINE, 1, |
2180 | AC_DEFINE([USE_OPENSSL_ENGINE], [1], | ||
2181 | [Enable OpenSSL engine support]) | 2194 | [Enable OpenSSL engine support]) |
2182 | ], [ AC_MSG_ERROR([OpenSSL ENGINE support not found]) | 2195 | ], |
2183 | ]) | 2196 | [ AC_MSG_ERROR(OpenSSL ENGINE support not found)] |
2197 | ) | ||
2184 | fi ] | 2198 | fi ] |
2185 | ) | 2199 | ) |
2186 | 2200 | ||
2187 | # Check for OpenSSL without EVP_aes_{192,256}_cbc | 2201 | # Check for OpenSSL without EVP_aes_{192,256}_cbc |
2188 | AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) | 2202 | AC_MSG_CHECKING([whether OpenSSL has crippled AES support]) |
2189 | AC_LINK_IFELSE( | 2203 | AC_LINK_IFELSE( |
2190 | [AC_LANG_PROGRAM([[ | 2204 | [AC_LANG_SOURCE([[ |
2191 | #include <string.h> | 2205 | #include <string.h> |
2192 | #include <openssl/evp.h> | 2206 | #include <openssl/evp.h> |
2193 | ]], [[ | 2207 | int main(void) { exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);} |
2194 | exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL); | ||
2195 | ]])], | 2208 | ]])], |
2196 | [ | 2209 | [ |
2197 | AC_MSG_RESULT([no]) | 2210 | AC_MSG_RESULT(no) |
2198 | ], | 2211 | ], |
2199 | [ | 2212 | [ |
2200 | AC_MSG_RESULT([yes]) | 2213 | AC_MSG_RESULT(yes) |
2201 | AC_DEFINE([OPENSSL_LOBOTOMISED_AES], [1], | 2214 | AC_DEFINE(OPENSSL_LOBOTOMISED_AES, 1, |
2202 | [libcrypto is missing AES 192 and 256 bit functions]) | 2215 | [libcrypto is missing AES 192 and 256 bit functions]) |
2203 | ] | 2216 | ] |
2204 | ) | 2217 | ) |
2205 | 2218 | ||
2206 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) | 2219 | AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) |
2207 | AC_LINK_IFELSE( | 2220 | AC_LINK_IFELSE( |
2208 | [AC_LANG_PROGRAM([[ | 2221 | [AC_LANG_SOURCE([[ |
2209 | #include <string.h> | 2222 | #include <string.h> |
2210 | #include <openssl/evp.h> | 2223 | #include <openssl/evp.h> |
2211 | ]], [[ | 2224 | int main(void) { if(EVP_DigestUpdate(NULL, NULL,0)) exit(0); } |
2212 | if(EVP_DigestUpdate(NULL, NULL,0)) | ||
2213 | exit(0); | ||
2214 | ]])], | 2225 | ]])], |
2215 | [ | 2226 | [ |
2216 | AC_MSG_RESULT([yes]) | 2227 | AC_MSG_RESULT(yes) |
2217 | ], | 2228 | ], |
2218 | [ | 2229 | [ |
2219 | AC_MSG_RESULT([no]) | 2230 | AC_MSG_RESULT(no) |
2220 | AC_DEFINE([OPENSSL_EVP_DIGESTUPDATE_VOID], [1], | 2231 | AC_DEFINE(OPENSSL_EVP_DIGESTUPDATE_VOID, 1, |
2221 | [Define if EVP_DigestUpdate returns void]) | 2232 | [Define if EVP_DigestUpdate returns void]) |
2222 | ] | 2233 | ] |
2223 | ) | 2234 | ) |
@@ -2225,24 +2236,24 @@ AC_LINK_IFELSE( | |||
2225 | # Some systems want crypt() from libcrypt, *not* the version in OpenSSL, | 2236 | # Some systems want crypt() from libcrypt, *not* the version in OpenSSL, |
2226 | # because the system crypt() is more featureful. | 2237 | # because the system crypt() is more featureful. |
2227 | if test "x$check_for_libcrypt_before" = "x1"; then | 2238 | if test "x$check_for_libcrypt_before" = "x1"; then |
2228 | AC_CHECK_LIB([crypt], [crypt]) | 2239 | AC_CHECK_LIB(crypt, crypt) |
2229 | fi | 2240 | fi |
2230 | 2241 | ||
2231 | # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the | 2242 | # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the |
2232 | # version in OpenSSL. | 2243 | # version in OpenSSL. |
2233 | if test "x$check_for_libcrypt_later" = "x1"; then | 2244 | if test "x$check_for_libcrypt_later" = "x1"; then |
2234 | AC_CHECK_LIB([crypt], [crypt], [LIBS="$LIBS -lcrypt"]) | 2245 | AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt") |
2235 | fi | 2246 | fi |
2236 | 2247 | ||
2237 | # Search for SHA256 support in libc and/or OpenSSL | 2248 | # Search for SHA256 support in libc and/or OpenSSL |
2238 | AC_CHECK_FUNCS([SHA256_Update EVP_sha256], [TEST_SSH_SHA256=yes], | 2249 | AC_CHECK_FUNCS(SHA256_Update EVP_sha256, [TEST_SSH_SHA256=yes], |
2239 | [TEST_SSH_SHA256=no]) | 2250 | [TEST_SSH_SHA256=no]) |
2240 | AC_SUBST([TEST_SSH_SHA256]) | 2251 | AC_SUBST(TEST_SSH_SHA256) |
2241 | 2252 | ||
2242 | # Check complete ECC support in OpenSSL | 2253 | # Check complete ECC support in OpenSSL |
2243 | AC_MSG_CHECKING([whether OpenSSL has complete ECC support]) | 2254 | AC_MSG_CHECKING([whether OpenSSL has complete ECC support]) |
2244 | AC_LINK_IFELSE( | 2255 | AC_LINK_IFELSE( |
2245 | [AC_LANG_PROGRAM([[ | 2256 | [AC_LANG_SOURCE([[ |
2246 | #include <openssl/ec.h> | 2257 | #include <openssl/ec.h> |
2247 | #include <openssl/ecdh.h> | 2258 | #include <openssl/ecdh.h> |
2248 | #include <openssl/ecdsa.h> | 2259 | #include <openssl/ecdsa.h> |
@@ -2252,31 +2263,32 @@ AC_LINK_IFELSE( | |||
2252 | #if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ | 2263 | #if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ |
2253 | # error "OpenSSL < 0.9.8g has unreliable ECC code" | 2264 | # error "OpenSSL < 0.9.8g has unreliable ECC code" |
2254 | #endif | 2265 | #endif |
2255 | ]], [[ | 2266 | int main(void) { |
2256 | EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1); | 2267 | EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1); |
2257 | const EVP_MD *m = EVP_sha512(); /* We need this too */ | 2268 | const EVP_MD *m = EVP_sha512(); /* We need this too */ |
2269 | } | ||
2258 | ]])], | 2270 | ]])], |
2259 | [ | 2271 | [ |
2260 | AC_MSG_RESULT([yes]) | 2272 | AC_MSG_RESULT(yes) |
2261 | AC_DEFINE([OPENSSL_HAS_ECC], [1], | 2273 | AC_DEFINE(OPENSSL_HAS_ECC, 1, |
2262 | [libcrypto includes complete ECC support]) | 2274 | [libcrypto includes complete ECC support]) |
2263 | TEST_SSH_ECC=yes | 2275 | TEST_SSH_ECC=yes |
2264 | COMMENT_OUT_ECC="" | 2276 | COMMENT_OUT_ECC="" |
2265 | ], | 2277 | ], |
2266 | [ | 2278 | [ |
2267 | AC_MSG_RESULT([no]) | 2279 | AC_MSG_RESULT(no) |
2268 | TEST_SSH_ECC=no | 2280 | TEST_SSH_ECC=no |
2269 | COMMENT_OUT_ECC="#no ecc#" | 2281 | COMMENT_OUT_ECC="#no ecc#" |
2270 | ] | 2282 | ] |
2271 | ) | 2283 | ) |
2272 | AC_SUBST([TEST_SSH_ECC]) | 2284 | AC_SUBST(TEST_SSH_ECC) |
2273 | AC_SUBST([COMMENT_OUT_ECC]) | 2285 | AC_SUBST(COMMENT_OUT_ECC) |
2274 | 2286 | ||
2275 | saved_LIBS="$LIBS" | 2287 | saved_LIBS="$LIBS" |
2276 | AC_CHECK_LIB([iaf], [ia_openinfo], [ | 2288 | AC_CHECK_LIB(iaf, ia_openinfo, [ |
2277 | LIBS="$LIBS -liaf" | 2289 | LIBS="$LIBS -liaf" |
2278 | AC_CHECK_FUNCS([set_id], [SSHDLIBS="$SSHDLIBS -liaf" | 2290 | AC_CHECK_FUNCS(set_id, [SSHDLIBS="$SSHDLIBS -liaf" |
2279 | AC_DEFINE([HAVE_LIBIAF], [1], | 2291 | AC_DEFINE(HAVE_LIBIAF, 1, |
2280 | [Define if system has libiaf that supports set_id]) | 2292 | [Define if system has libiaf that supports set_id]) |
2281 | ]) | 2293 | ]) |
2282 | ]) | 2294 | ]) |
@@ -2287,18 +2299,17 @@ LIBS="$saved_LIBS" | |||
2287 | # Check wheter OpenSSL seeds itself | 2299 | # Check wheter OpenSSL seeds itself |
2288 | AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) | 2300 | AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) |
2289 | AC_RUN_IFELSE( | 2301 | AC_RUN_IFELSE( |
2290 | [AC_LANG_PROGRAM([[ | 2302 | [AC_LANG_SOURCE([[ |
2291 | #include <string.h> | 2303 | #include <string.h> |
2292 | #include <openssl/rand.h> | 2304 | #include <openssl/rand.h> |
2293 | ]], [[ | 2305 | int main(void) { exit(RAND_status() == 1 ? 0 : 1); } |
2294 | exit(RAND_status() == 1 ? 0 : 1); | ||
2295 | ]])], | 2306 | ]])], |
2296 | [ | 2307 | [ |
2297 | OPENSSL_SEEDS_ITSELF=yes | 2308 | OPENSSL_SEEDS_ITSELF=yes |
2298 | AC_MSG_RESULT([yes]) | 2309 | AC_MSG_RESULT(yes) |
2299 | ], | 2310 | ], |
2300 | [ | 2311 | [ |
2301 | AC_MSG_RESULT([no]) | 2312 | AC_MSG_RESULT(no) |
2302 | # Default to use of the rand helper if OpenSSL doesn't | 2313 | # Default to use of the rand helper if OpenSSL doesn't |
2303 | # seed itself | 2314 | # seed itself |
2304 | USE_RAND_HELPER=yes | 2315 | USE_RAND_HELPER=yes |
@@ -2313,7 +2324,7 @@ AC_RUN_IFELSE( | |||
2313 | 2324 | ||
2314 | # Check for PAM libs | 2325 | # Check for PAM libs |
2315 | PAM_MSG="no" | 2326 | PAM_MSG="no" |
2316 | AC_ARG_WITH([pam], | 2327 | AC_ARG_WITH(pam, |
2317 | [ --with-pam Enable PAM support ], | 2328 | [ --with-pam Enable PAM support ], |
2318 | [ | 2329 | [ |
2319 | if test "x$withval" != "xno" ; then | 2330 | if test "x$withval" != "xno" ; then |
@@ -2323,16 +2334,16 @@ AC_ARG_WITH([pam], | |||
2323 | fi | 2334 | fi |
2324 | 2335 | ||
2325 | saved_LIBS="$LIBS" | 2336 | saved_LIBS="$LIBS" |
2326 | AC_CHECK_LIB([dl], [dlopen], , ) | 2337 | AC_CHECK_LIB(dl, dlopen, , ) |
2327 | AC_CHECK_LIB([pam], [pam_set_item], , [AC_MSG_ERROR([*** libpam missing])]) | 2338 | AC_CHECK_LIB(pam, pam_set_item, , AC_MSG_ERROR([*** libpam missing])) |
2328 | AC_CHECK_FUNCS([pam_getenvlist]) | 2339 | AC_CHECK_FUNCS(pam_getenvlist) |
2329 | AC_CHECK_FUNCS([pam_putenv]) | 2340 | AC_CHECK_FUNCS(pam_putenv) |
2330 | LIBS="$saved_LIBS" | 2341 | LIBS="$saved_LIBS" |
2331 | 2342 | ||
2332 | PAM_MSG="yes" | 2343 | PAM_MSG="yes" |
2333 | 2344 | ||
2334 | SSHDLIBS="$SSHDLIBS -lpam" | 2345 | SSHDLIBS="$SSHDLIBS -lpam" |
2335 | AC_DEFINE([USE_PAM], [1], | 2346 | AC_DEFINE(USE_PAM, 1, |
2336 | [Define if you want to enable PAM support]) | 2347 | [Define if you want to enable PAM support]) |
2337 | 2348 | ||
2338 | if test $ac_cv_lib_dl_dlopen = yes; then | 2349 | if test $ac_cv_lib_dl_dlopen = yes; then |
@@ -2353,27 +2364,29 @@ AC_ARG_WITH([pam], | |||
2353 | if test "x$PAM_MSG" = "xyes" ; then | 2364 | if test "x$PAM_MSG" = "xyes" ; then |
2354 | # Check PAM strerror arguments (old PAM) | 2365 | # Check PAM strerror arguments (old PAM) |
2355 | AC_MSG_CHECKING([whether pam_strerror takes only one argument]) | 2366 | AC_MSG_CHECKING([whether pam_strerror takes only one argument]) |
2356 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2367 | AC_TRY_COMPILE( |
2368 | [ | ||
2357 | #include <stdlib.h> | 2369 | #include <stdlib.h> |
2358 | #if defined(HAVE_SECURITY_PAM_APPL_H) | 2370 | #if defined(HAVE_SECURITY_PAM_APPL_H) |
2359 | #include <security/pam_appl.h> | 2371 | #include <security/pam_appl.h> |
2360 | #elif defined (HAVE_PAM_PAM_APPL_H) | 2372 | #elif defined (HAVE_PAM_PAM_APPL_H) |
2361 | #include <pam/pam_appl.h> | 2373 | #include <pam/pam_appl.h> |
2362 | #endif | 2374 | #endif |
2363 | ]], [[ | 2375 | ], |
2364 | (void)pam_strerror((pam_handle_t *)NULL, -1); | 2376 | [(void)pam_strerror((pam_handle_t *)NULL, -1);], |
2365 | ]])], [AC_MSG_RESULT([no])], [ | 2377 | [AC_MSG_RESULT(no)], |
2366 | AC_DEFINE([HAVE_OLD_PAM], [1], | 2378 | [ |
2379 | AC_DEFINE(HAVE_OLD_PAM, 1, | ||
2367 | [Define if you have an old version of PAM | 2380 | [Define if you have an old version of PAM |
2368 | which takes only one argument to pam_strerror]) | 2381 | which takes only one argument to pam_strerror]) |
2369 | AC_MSG_RESULT([yes]) | 2382 | AC_MSG_RESULT(yes) |
2370 | PAM_MSG="yes (old library)" | 2383 | PAM_MSG="yes (old library)" |
2371 | 2384 | ] | |
2372 | ]) | 2385 | ) |
2373 | fi | 2386 | fi |
2374 | 2387 | ||
2375 | # Do we want to force the use of the rand helper? | 2388 | # Do we want to force the use of the rand helper? |
2376 | AC_ARG_WITH([rand-helper], | 2389 | AC_ARG_WITH(rand-helper, |
2377 | [ --with-rand-helper Use subprocess to gather strong randomness ], | 2390 | [ --with-rand-helper Use subprocess to gather strong randomness ], |
2378 | [ | 2391 | [ |
2379 | if test "x$withval" = "xno" ; then | 2392 | if test "x$withval" = "xno" ; then |
@@ -2393,7 +2406,7 @@ AC_ARG_WITH([rand-helper], | |||
2393 | # Which randomness source do we use? | 2406 | # Which randomness source do we use? |
2394 | if test ! -z "$OPENSSL_SEEDS_ITSELF" && test -z "$USE_RAND_HELPER" ; then | 2407 | if test ! -z "$OPENSSL_SEEDS_ITSELF" && test -z "$USE_RAND_HELPER" ; then |
2395 | # OpenSSL only | 2408 | # OpenSSL only |
2396 | AC_DEFINE([OPENSSL_PRNG_ONLY], [1], | 2409 | AC_DEFINE(OPENSSL_PRNG_ONLY, 1, |
2397 | [Define if you want OpenSSL's internally seeded PRNG only]) | 2410 | [Define if you want OpenSSL's internally seeded PRNG only]) |
2398 | RAND_MSG="OpenSSL internal ONLY" | 2411 | RAND_MSG="OpenSSL internal ONLY" |
2399 | INSTALL_SSH_RAND_HELPER="" | 2412 | INSTALL_SSH_RAND_HELPER="" |
@@ -2402,12 +2415,12 @@ elif test ! -z "$USE_RAND_HELPER" ; then | |||
2402 | RAND_MSG="ssh-rand-helper" | 2415 | RAND_MSG="ssh-rand-helper" |
2403 | INSTALL_SSH_RAND_HELPER="yes" | 2416 | INSTALL_SSH_RAND_HELPER="yes" |
2404 | fi | 2417 | fi |
2405 | AC_SUBST([INSTALL_SSH_RAND_HELPER]) | 2418 | AC_SUBST(INSTALL_SSH_RAND_HELPER) |
2406 | 2419 | ||
2407 | ### Configuration of ssh-rand-helper | 2420 | ### Configuration of ssh-rand-helper |
2408 | 2421 | ||
2409 | # PRNGD TCP socket | 2422 | # PRNGD TCP socket |
2410 | AC_ARG_WITH([prngd-port], | 2423 | AC_ARG_WITH(prngd-port, |
2411 | [ --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT], | 2424 | [ --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT], |
2412 | [ | 2425 | [ |
2413 | case "$withval" in | 2426 | case "$withval" in |
@@ -2417,19 +2430,19 @@ AC_ARG_WITH([prngd-port], | |||
2417 | [[0-9]]*) | 2430 | [[0-9]]*) |
2418 | ;; | 2431 | ;; |
2419 | *) | 2432 | *) |
2420 | AC_MSG_ERROR([You must specify a numeric port number for --with-prngd-port]) | 2433 | AC_MSG_ERROR(You must specify a numeric port number for --with-prngd-port) |
2421 | ;; | 2434 | ;; |
2422 | esac | 2435 | esac |
2423 | if test ! -z "$withval" ; then | 2436 | if test ! -z "$withval" ; then |
2424 | PRNGD_PORT="$withval" | 2437 | PRNGD_PORT="$withval" |
2425 | AC_DEFINE_UNQUOTED([PRNGD_PORT], [$PRNGD_PORT], | 2438 | AC_DEFINE_UNQUOTED(PRNGD_PORT, $PRNGD_PORT, |
2426 | [Port number of PRNGD/EGD random number socket]) | 2439 | [Port number of PRNGD/EGD random number socket]) |
2427 | fi | 2440 | fi |
2428 | ] | 2441 | ] |
2429 | ) | 2442 | ) |
2430 | 2443 | ||
2431 | # PRNGD Unix domain socket | 2444 | # PRNGD Unix domain socket |
2432 | AC_ARG_WITH([prngd-socket], | 2445 | AC_ARG_WITH(prngd-socket, |
2433 | [ --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)], | 2446 | [ --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)], |
2434 | [ | 2447 | [ |
2435 | case "$withval" in | 2448 | case "$withval" in |
@@ -2442,38 +2455,38 @@ AC_ARG_WITH([prngd-socket], | |||
2442 | /*) | 2455 | /*) |
2443 | ;; | 2456 | ;; |
2444 | *) | 2457 | *) |
2445 | AC_MSG_ERROR([You must specify an absolute path to the entropy socket]) | 2458 | AC_MSG_ERROR(You must specify an absolute path to the entropy socket) |
2446 | ;; | 2459 | ;; |
2447 | esac | 2460 | esac |
2448 | 2461 | ||
2449 | if test ! -z "$withval" ; then | 2462 | if test ! -z "$withval" ; then |
2450 | if test ! -z "$PRNGD_PORT" ; then | 2463 | if test ! -z "$PRNGD_PORT" ; then |
2451 | AC_MSG_ERROR([You may not specify both a PRNGD/EGD port and socket]) | 2464 | AC_MSG_ERROR(You may not specify both a PRNGD/EGD port and socket) |
2452 | fi | 2465 | fi |
2453 | if test ! -r "$withval" ; then | 2466 | if test ! -r "$withval" ; then |
2454 | AC_MSG_WARN([Entropy socket is not readable]) | 2467 | AC_MSG_WARN(Entropy socket is not readable) |
2455 | fi | 2468 | fi |
2456 | PRNGD_SOCKET="$withval" | 2469 | PRNGD_SOCKET="$withval" |
2457 | AC_DEFINE_UNQUOTED([PRNGD_SOCKET], ["$PRNGD_SOCKET"], | 2470 | AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET", |
2458 | [Location of PRNGD/EGD random number socket]) | 2471 | [Location of PRNGD/EGD random number socket]) |
2459 | fi | 2472 | fi |
2460 | ], | 2473 | ], |
2461 | [ | 2474 | [ |
2462 | # Check for existing socket only if we don't have a random device already | 2475 | # Check for existing socket only if we don't have a random device already |
2463 | if test "$USE_RAND_HELPER" = yes ; then | 2476 | if test "$USE_RAND_HELPER" = yes ; then |
2464 | AC_MSG_CHECKING([for PRNGD/EGD socket]) | 2477 | AC_MSG_CHECKING(for PRNGD/EGD socket) |
2465 | # Insert other locations here | 2478 | # Insert other locations here |
2466 | for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do | 2479 | for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do |
2467 | if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then | 2480 | if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then |
2468 | PRNGD_SOCKET="$sock" | 2481 | PRNGD_SOCKET="$sock" |
2469 | AC_DEFINE_UNQUOTED([PRNGD_SOCKET], ["$PRNGD_SOCKET"]) | 2482 | AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET") |
2470 | break; | 2483 | break; |
2471 | fi | 2484 | fi |
2472 | done | 2485 | done |
2473 | if test ! -z "$PRNGD_SOCKET" ; then | 2486 | if test ! -z "$PRNGD_SOCKET" ; then |
2474 | AC_MSG_RESULT([$PRNGD_SOCKET]) | 2487 | AC_MSG_RESULT($PRNGD_SOCKET) |
2475 | else | 2488 | else |
2476 | AC_MSG_RESULT([not found]) | 2489 | AC_MSG_RESULT(not found) |
2477 | fi | 2490 | fi |
2478 | fi | 2491 | fi |
2479 | ] | 2492 | ] |
@@ -2481,7 +2494,7 @@ AC_ARG_WITH([prngd-socket], | |||
2481 | 2494 | ||
2482 | # Change default command timeout for hashing entropy source | 2495 | # Change default command timeout for hashing entropy source |
2483 | entropy_timeout=200 | 2496 | entropy_timeout=200 |
2484 | AC_ARG_WITH([entropy-timeout], | 2497 | AC_ARG_WITH(entropy-timeout, |
2485 | [ --with-entropy-timeout Specify entropy gathering command timeout (msec)], | 2498 | [ --with-entropy-timeout Specify entropy gathering command timeout (msec)], |
2486 | [ | 2499 | [ |
2487 | if test -n "$withval" && test "x$withval" != "xno" && \ | 2500 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -2490,11 +2503,11 @@ AC_ARG_WITH([entropy-timeout], | |||
2490 | fi | 2503 | fi |
2491 | ] | 2504 | ] |
2492 | ) | 2505 | ) |
2493 | AC_DEFINE_UNQUOTED([ENTROPY_TIMEOUT_MSEC], [$entropy_timeout], | 2506 | AC_DEFINE_UNQUOTED(ENTROPY_TIMEOUT_MSEC, $entropy_timeout, |
2494 | [Builtin PRNG command timeout]) | 2507 | [Builtin PRNG command timeout]) |
2495 | 2508 | ||
2496 | SSH_PRIVSEP_USER=sshd | 2509 | SSH_PRIVSEP_USER=sshd |
2497 | AC_ARG_WITH([privsep-user], | 2510 | AC_ARG_WITH(privsep-user, |
2498 | [ --with-privsep-user=user Specify non-privileged user for privilege separation], | 2511 | [ --with-privsep-user=user Specify non-privileged user for privilege separation], |
2499 | [ | 2512 | [ |
2500 | if test -n "$withval" && test "x$withval" != "xno" && \ | 2513 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -2503,9 +2516,9 @@ AC_ARG_WITH([privsep-user], | |||
2503 | fi | 2516 | fi |
2504 | ] | 2517 | ] |
2505 | ) | 2518 | ) |
2506 | AC_DEFINE_UNQUOTED([SSH_PRIVSEP_USER], ["$SSH_PRIVSEP_USER"], | 2519 | AC_DEFINE_UNQUOTED(SSH_PRIVSEP_USER, "$SSH_PRIVSEP_USER", |
2507 | [non-privileged user for privilege separation]) | 2520 | [non-privileged user for privilege separation]) |
2508 | AC_SUBST([SSH_PRIVSEP_USER]) | 2521 | AC_SUBST(SSH_PRIVSEP_USER) |
2509 | 2522 | ||
2510 | # We do this little dance with the search path to insure | 2523 | # We do this little dance with the search path to insure |
2511 | # that programs that we select for use by installed programs | 2524 | # that programs that we select for use by installed programs |
@@ -2522,22 +2535,22 @@ test -d /usr/sbin && PATH=$PATH:/usr/sbin | |||
2522 | PATH=$PATH:/etc:$OPATH | 2535 | PATH=$PATH:/etc:$OPATH |
2523 | 2536 | ||
2524 | # These programs are used by the command hashing source to gather entropy | 2537 | # These programs are used by the command hashing source to gather entropy |
2525 | OSSH_PATH_ENTROPY_PROG([PROG_LS], [ls]) | 2538 | OSSH_PATH_ENTROPY_PROG(PROG_LS, ls) |
2526 | OSSH_PATH_ENTROPY_PROG([PROG_NETSTAT], [netstat]) | 2539 | OSSH_PATH_ENTROPY_PROG(PROG_NETSTAT, netstat) |
2527 | OSSH_PATH_ENTROPY_PROG([PROG_ARP], [arp]) | 2540 | OSSH_PATH_ENTROPY_PROG(PROG_ARP, arp) |
2528 | OSSH_PATH_ENTROPY_PROG([PROG_IFCONFIG], [ifconfig]) | 2541 | OSSH_PATH_ENTROPY_PROG(PROG_IFCONFIG, ifconfig) |
2529 | OSSH_PATH_ENTROPY_PROG([PROG_JSTAT], [jstat]) | 2542 | OSSH_PATH_ENTROPY_PROG(PROG_JSTAT, jstat) |
2530 | OSSH_PATH_ENTROPY_PROG([PROG_PS], [ps]) | 2543 | OSSH_PATH_ENTROPY_PROG(PROG_PS, ps) |
2531 | OSSH_PATH_ENTROPY_PROG([PROG_SAR], [sar]) | 2544 | OSSH_PATH_ENTROPY_PROG(PROG_SAR, sar) |
2532 | OSSH_PATH_ENTROPY_PROG([PROG_W], [w]) | 2545 | OSSH_PATH_ENTROPY_PROG(PROG_W, w) |
2533 | OSSH_PATH_ENTROPY_PROG([PROG_WHO], [who]) | 2546 | OSSH_PATH_ENTROPY_PROG(PROG_WHO, who) |
2534 | OSSH_PATH_ENTROPY_PROG([PROG_LAST], [last]) | 2547 | OSSH_PATH_ENTROPY_PROG(PROG_LAST, last) |
2535 | OSSH_PATH_ENTROPY_PROG([PROG_LASTLOG], [lastlog]) | 2548 | OSSH_PATH_ENTROPY_PROG(PROG_LASTLOG, lastlog) |
2536 | OSSH_PATH_ENTROPY_PROG([PROG_DF], [df]) | 2549 | OSSH_PATH_ENTROPY_PROG(PROG_DF, df) |
2537 | OSSH_PATH_ENTROPY_PROG([PROG_VMSTAT], [vmstat]) | 2550 | OSSH_PATH_ENTROPY_PROG(PROG_VMSTAT, vmstat) |
2538 | OSSH_PATH_ENTROPY_PROG([PROG_UPTIME], [uptime]) | 2551 | OSSH_PATH_ENTROPY_PROG(PROG_UPTIME, uptime) |
2539 | OSSH_PATH_ENTROPY_PROG([PROG_IPCS], [ipcs]) | 2552 | OSSH_PATH_ENTROPY_PROG(PROG_IPCS, ipcs) |
2540 | OSSH_PATH_ENTROPY_PROG([PROG_TAIL], [tail]) | 2553 | OSSH_PATH_ENTROPY_PROG(PROG_TAIL, tail) |
2541 | # restore PATH | 2554 | # restore PATH |
2542 | PATH=$OPATH | 2555 | PATH=$OPATH |
2543 | 2556 | ||
@@ -2554,7 +2567,7 @@ if test ! -z "$INSTALL_SSH_RAND_HELPER" ; then | |||
2554 | INSTALL_SSH_PRNG_CMDS="yes" | 2567 | INSTALL_SSH_PRNG_CMDS="yes" |
2555 | fi | 2568 | fi |
2556 | fi | 2569 | fi |
2557 | AC_SUBST([INSTALL_SSH_PRNG_CMDS]) | 2570 | AC_SUBST(INSTALL_SSH_PRNG_CMDS) |
2558 | 2571 | ||
2559 | 2572 | ||
2560 | # Cheap hack to ensure NEWS-OS libraries are arranged right. | 2573 | # Cheap hack to ensure NEWS-OS libraries are arranged right. |
@@ -2566,11 +2579,11 @@ fi | |||
2566 | AC_CHECK_TYPES([long long, unsigned long long, long double]) | 2579 | AC_CHECK_TYPES([long long, unsigned long long, long double]) |
2567 | 2580 | ||
2568 | # Check datatype sizes | 2581 | # Check datatype sizes |
2569 | AC_CHECK_SIZEOF([char], [1]) | 2582 | AC_CHECK_SIZEOF(char, 1) |
2570 | AC_CHECK_SIZEOF([short int], [2]) | 2583 | AC_CHECK_SIZEOF(short int, 2) |
2571 | AC_CHECK_SIZEOF([int], [4]) | 2584 | AC_CHECK_SIZEOF(int, 4) |
2572 | AC_CHECK_SIZEOF([long int], [4]) | 2585 | AC_CHECK_SIZEOF(long int, 4) |
2573 | AC_CHECK_SIZEOF([long long int], [8]) | 2586 | AC_CHECK_SIZEOF(long long int, 8) |
2574 | 2587 | ||
2575 | # Sanity check long long for some platforms (AIX) | 2588 | # Sanity check long long for some platforms (AIX) |
2576 | if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then | 2589 | if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then |
@@ -2581,7 +2594,7 @@ fi | |||
2581 | if test -z "$have_llong_max"; then | 2594 | if test -z "$have_llong_max"; then |
2582 | AC_MSG_CHECKING([for max value of long long]) | 2595 | AC_MSG_CHECKING([for max value of long long]) |
2583 | AC_RUN_IFELSE( | 2596 | AC_RUN_IFELSE( |
2584 | [AC_LANG_PROGRAM([[ | 2597 | [AC_LANG_SOURCE([[ |
2585 | #include <stdio.h> | 2598 | #include <stdio.h> |
2586 | /* Why is this so damn hard? */ | 2599 | /* Why is this so damn hard? */ |
2587 | #ifdef __GNUC__ | 2600 | #ifdef __GNUC__ |
@@ -2617,7 +2630,8 @@ fprint_ll(FILE *f, long long n) | |||
2617 | return -1; | 2630 | return -1; |
2618 | return 0; | 2631 | return 0; |
2619 | } | 2632 | } |
2620 | ]], [[ | 2633 | |
2634 | int main(void) { | ||
2621 | FILE *f; | 2635 | FILE *f; |
2622 | long long i, llmin, llmax = 0; | 2636 | long long i, llmin, llmax = 0; |
2623 | 2637 | ||
@@ -2651,21 +2665,22 @@ fprint_ll(FILE *f, long long n) | |||
2651 | if (fclose(f) < 0) | 2665 | if (fclose(f) < 0) |
2652 | exit(5); | 2666 | exit(5); |
2653 | exit(0); | 2667 | exit(0); |
2668 | } | ||
2654 | ]])], | 2669 | ]])], |
2655 | [ | 2670 | [ |
2656 | llong_min=`$AWK '{print $1}' conftest.llminmax` | 2671 | llong_min=`$AWK '{print $1}' conftest.llminmax` |
2657 | llong_max=`$AWK '{print $2}' conftest.llminmax` | 2672 | llong_max=`$AWK '{print $2}' conftest.llminmax` |
2658 | 2673 | ||
2659 | AC_MSG_RESULT([$llong_max]) | 2674 | AC_MSG_RESULT($llong_max) |
2660 | AC_DEFINE_UNQUOTED([LLONG_MAX], [${llong_max}LL], | 2675 | AC_DEFINE_UNQUOTED(LLONG_MAX, [${llong_max}LL], |
2661 | [max value of long long calculated by configure]) | 2676 | [max value of long long calculated by configure]) |
2662 | AC_MSG_CHECKING([for min value of long long]) | 2677 | AC_MSG_CHECKING([for min value of long long]) |
2663 | AC_MSG_RESULT([$llong_min]) | 2678 | AC_MSG_RESULT($llong_min) |
2664 | AC_DEFINE_UNQUOTED([LLONG_MIN], [${llong_min}LL], | 2679 | AC_DEFINE_UNQUOTED(LLONG_MIN, [${llong_min}LL], |
2665 | [min value of long long calculated by configure]) | 2680 | [min value of long long calculated by configure]) |
2666 | ], | 2681 | ], |
2667 | [ | 2682 | [ |
2668 | AC_MSG_RESULT([not found]) | 2683 | AC_MSG_RESULT(not found) |
2669 | ], | 2684 | ], |
2670 | [ | 2685 | [ |
2671 | AC_MSG_WARN([cross compiling: not checking]) | 2686 | AC_MSG_WARN([cross compiling: not checking]) |
@@ -2676,24 +2691,28 @@ fi | |||
2676 | 2691 | ||
2677 | # More checks for data types | 2692 | # More checks for data types |
2678 | AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [ | 2693 | AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [ |
2679 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2694 | AC_TRY_COMPILE( |
2680 | [[ u_int a; a = 1;]])], | 2695 | [ #include <sys/types.h> ], |
2681 | [ ac_cv_have_u_int="yes" ], [ ac_cv_have_u_int="no" | 2696 | [ u_int a; a = 1;], |
2682 | ]) | 2697 | [ ac_cv_have_u_int="yes" ], |
2698 | [ ac_cv_have_u_int="no" ] | ||
2699 | ) | ||
2683 | ]) | 2700 | ]) |
2684 | if test "x$ac_cv_have_u_int" = "xyes" ; then | 2701 | if test "x$ac_cv_have_u_int" = "xyes" ; then |
2685 | AC_DEFINE([HAVE_U_INT], [1], [define if you have u_int data type]) | 2702 | AC_DEFINE(HAVE_U_INT, 1, [define if you have u_int data type]) |
2686 | have_u_int=1 | 2703 | have_u_int=1 |
2687 | fi | 2704 | fi |
2688 | 2705 | ||
2689 | AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [ | 2706 | AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [ |
2690 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2707 | AC_TRY_COMPILE( |
2691 | [[ int8_t a; int16_t b; int32_t c; a = b = c = 1;]])], | 2708 | [ #include <sys/types.h> ], |
2692 | [ ac_cv_have_intxx_t="yes" ], [ ac_cv_have_intxx_t="no" | 2709 | [ int8_t a; int16_t b; int32_t c; a = b = c = 1;], |
2693 | ]) | 2710 | [ ac_cv_have_intxx_t="yes" ], |
2711 | [ ac_cv_have_intxx_t="no" ] | ||
2712 | ) | ||
2694 | ]) | 2713 | ]) |
2695 | if test "x$ac_cv_have_intxx_t" = "xyes" ; then | 2714 | if test "x$ac_cv_have_intxx_t" = "xyes" ; then |
2696 | AC_DEFINE([HAVE_INTXX_T], [1], [define if you have intxx_t data type]) | 2715 | AC_DEFINE(HAVE_INTXX_T, 1, [define if you have intxx_t data type]) |
2697 | have_intxx_t=1 | 2716 | have_intxx_t=1 |
2698 | fi | 2717 | fi |
2699 | 2718 | ||
@@ -2701,17 +2720,20 @@ if (test -z "$have_intxx_t" && \ | |||
2701 | test "x$ac_cv_header_stdint_h" = "xyes") | 2720 | test "x$ac_cv_header_stdint_h" = "xyes") |
2702 | then | 2721 | then |
2703 | AC_MSG_CHECKING([for intXX_t types in stdint.h]) | 2722 | AC_MSG_CHECKING([for intXX_t types in stdint.h]) |
2704 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <stdint.h> ]], | 2723 | AC_TRY_COMPILE( |
2705 | [[ int8_t a; int16_t b; int32_t c; a = b = c = 1;]])], | 2724 | [ #include <stdint.h> ], |
2725 | [ int8_t a; int16_t b; int32_t c; a = b = c = 1;], | ||
2706 | [ | 2726 | [ |
2707 | AC_DEFINE([HAVE_INTXX_T]) | 2727 | AC_DEFINE(HAVE_INTXX_T) |
2708 | AC_MSG_RESULT([yes]) | 2728 | AC_MSG_RESULT(yes) |
2709 | ], [ AC_MSG_RESULT([no]) | 2729 | ], |
2710 | ]) | 2730 | [ AC_MSG_RESULT(no) ] |
2731 | ) | ||
2711 | fi | 2732 | fi |
2712 | 2733 | ||
2713 | AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [ | 2734 | AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [ |
2714 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2735 | AC_TRY_COMPILE( |
2736 | [ | ||
2715 | #include <sys/types.h> | 2737 | #include <sys/types.h> |
2716 | #ifdef HAVE_STDINT_H | 2738 | #ifdef HAVE_STDINT_H |
2717 | # include <stdint.h> | 2739 | # include <stdint.h> |
@@ -2720,124 +2742,139 @@ AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [ | |||
2720 | #ifdef HAVE_SYS_BITYPES_H | 2742 | #ifdef HAVE_SYS_BITYPES_H |
2721 | # include <sys/bitypes.h> | 2743 | # include <sys/bitypes.h> |
2722 | #endif | 2744 | #endif |
2723 | ]], [[ | 2745 | ], |
2724 | int64_t a; a = 1; | 2746 | [ int64_t a; a = 1;], |
2725 | ]])], | 2747 | [ ac_cv_have_int64_t="yes" ], |
2726 | [ ac_cv_have_int64_t="yes" ], [ ac_cv_have_int64_t="no" | 2748 | [ ac_cv_have_int64_t="no" ] |
2727 | ]) | 2749 | ) |
2728 | ]) | 2750 | ]) |
2729 | if test "x$ac_cv_have_int64_t" = "xyes" ; then | 2751 | if test "x$ac_cv_have_int64_t" = "xyes" ; then |
2730 | AC_DEFINE([HAVE_INT64_T], [1], [define if you have int64_t data type]) | 2752 | AC_DEFINE(HAVE_INT64_T, 1, [define if you have int64_t data type]) |
2731 | fi | 2753 | fi |
2732 | 2754 | ||
2733 | AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [ | 2755 | AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [ |
2734 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2756 | AC_TRY_COMPILE( |
2735 | [[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;]])], | 2757 | [ #include <sys/types.h> ], |
2736 | [ ac_cv_have_u_intxx_t="yes" ], [ ac_cv_have_u_intxx_t="no" | 2758 | [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;], |
2737 | ]) | 2759 | [ ac_cv_have_u_intxx_t="yes" ], |
2760 | [ ac_cv_have_u_intxx_t="no" ] | ||
2761 | ) | ||
2738 | ]) | 2762 | ]) |
2739 | if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then | 2763 | if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then |
2740 | AC_DEFINE([HAVE_U_INTXX_T], [1], [define if you have u_intxx_t data type]) | 2764 | AC_DEFINE(HAVE_U_INTXX_T, 1, [define if you have u_intxx_t data type]) |
2741 | have_u_intxx_t=1 | 2765 | have_u_intxx_t=1 |
2742 | fi | 2766 | fi |
2743 | 2767 | ||
2744 | if test -z "$have_u_intxx_t" ; then | 2768 | if test -z "$have_u_intxx_t" ; then |
2745 | AC_MSG_CHECKING([for u_intXX_t types in sys/socket.h]) | 2769 | AC_MSG_CHECKING([for u_intXX_t types in sys/socket.h]) |
2746 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/socket.h> ]], | 2770 | AC_TRY_COMPILE( |
2747 | [[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;]])], | 2771 | [ #include <sys/socket.h> ], |
2772 | [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;], | ||
2748 | [ | 2773 | [ |
2749 | AC_DEFINE([HAVE_U_INTXX_T]) | 2774 | AC_DEFINE(HAVE_U_INTXX_T) |
2750 | AC_MSG_RESULT([yes]) | 2775 | AC_MSG_RESULT(yes) |
2751 | ], [ AC_MSG_RESULT([no]) | 2776 | ], |
2752 | ]) | 2777 | [ AC_MSG_RESULT(no) ] |
2778 | ) | ||
2753 | fi | 2779 | fi |
2754 | 2780 | ||
2755 | AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [ | 2781 | AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [ |
2756 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2782 | AC_TRY_COMPILE( |
2757 | [[ u_int64_t a; a = 1;]])], | 2783 | [ #include <sys/types.h> ], |
2758 | [ ac_cv_have_u_int64_t="yes" ], [ ac_cv_have_u_int64_t="no" | 2784 | [ u_int64_t a; a = 1;], |
2759 | ]) | 2785 | [ ac_cv_have_u_int64_t="yes" ], |
2786 | [ ac_cv_have_u_int64_t="no" ] | ||
2787 | ) | ||
2760 | ]) | 2788 | ]) |
2761 | if test "x$ac_cv_have_u_int64_t" = "xyes" ; then | 2789 | if test "x$ac_cv_have_u_int64_t" = "xyes" ; then |
2762 | AC_DEFINE([HAVE_U_INT64_T], [1], [define if you have u_int64_t data type]) | 2790 | AC_DEFINE(HAVE_U_INT64_T, 1, [define if you have u_int64_t data type]) |
2763 | have_u_int64_t=1 | 2791 | have_u_int64_t=1 |
2764 | fi | 2792 | fi |
2765 | 2793 | ||
2766 | if test -z "$have_u_int64_t" ; then | 2794 | if test -z "$have_u_int64_t" ; then |
2767 | AC_MSG_CHECKING([for u_int64_t type in sys/bitypes.h]) | 2795 | AC_MSG_CHECKING([for u_int64_t type in sys/bitypes.h]) |
2768 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/bitypes.h> ]], | 2796 | AC_TRY_COMPILE( |
2769 | [[ u_int64_t a; a = 1]])], | 2797 | [ #include <sys/bitypes.h> ], |
2798 | [ u_int64_t a; a = 1], | ||
2770 | [ | 2799 | [ |
2771 | AC_DEFINE([HAVE_U_INT64_T]) | 2800 | AC_DEFINE(HAVE_U_INT64_T) |
2772 | AC_MSG_RESULT([yes]) | 2801 | AC_MSG_RESULT(yes) |
2773 | ], [ AC_MSG_RESULT([no]) | 2802 | ], |
2774 | ]) | 2803 | [ AC_MSG_RESULT(no) ] |
2804 | ) | ||
2775 | fi | 2805 | fi |
2776 | 2806 | ||
2777 | if test -z "$have_u_intxx_t" ; then | 2807 | if test -z "$have_u_intxx_t" ; then |
2778 | AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [ | 2808 | AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [ |
2779 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2809 | AC_TRY_COMPILE( |
2810 | [ | ||
2780 | #include <sys/types.h> | 2811 | #include <sys/types.h> |
2781 | ]], [[ | 2812 | ], |
2782 | uint8_t a; | 2813 | [ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1; ], |
2783 | uint16_t b; | 2814 | [ ac_cv_have_uintxx_t="yes" ], |
2784 | uint32_t c; | 2815 | [ ac_cv_have_uintxx_t="no" ] |
2785 | a = b = c = 1; | 2816 | ) |
2786 | ]])], | ||
2787 | [ ac_cv_have_uintxx_t="yes" ], [ ac_cv_have_uintxx_t="no" | ||
2788 | ]) | ||
2789 | ]) | 2817 | ]) |
2790 | if test "x$ac_cv_have_uintxx_t" = "xyes" ; then | 2818 | if test "x$ac_cv_have_uintxx_t" = "xyes" ; then |
2791 | AC_DEFINE([HAVE_UINTXX_T], [1], | 2819 | AC_DEFINE(HAVE_UINTXX_T, 1, |
2792 | [define if you have uintxx_t data type]) | 2820 | [define if you have uintxx_t data type]) |
2793 | fi | 2821 | fi |
2794 | fi | 2822 | fi |
2795 | 2823 | ||
2796 | if test -z "$have_uintxx_t" ; then | 2824 | if test -z "$have_uintxx_t" ; then |
2797 | AC_MSG_CHECKING([for uintXX_t types in stdint.h]) | 2825 | AC_MSG_CHECKING([for uintXX_t types in stdint.h]) |
2798 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <stdint.h> ]], | 2826 | AC_TRY_COMPILE( |
2799 | [[ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;]])], | 2827 | [ #include <stdint.h> ], |
2828 | [ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;], | ||
2800 | [ | 2829 | [ |
2801 | AC_DEFINE([HAVE_UINTXX_T]) | 2830 | AC_DEFINE(HAVE_UINTXX_T) |
2802 | AC_MSG_RESULT([yes]) | 2831 | AC_MSG_RESULT(yes) |
2803 | ], [ AC_MSG_RESULT([no]) | 2832 | ], |
2804 | ]) | 2833 | [ AC_MSG_RESULT(no) ] |
2834 | ) | ||
2805 | fi | 2835 | fi |
2806 | 2836 | ||
2807 | if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \ | 2837 | if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \ |
2808 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") | 2838 | test "x$ac_cv_header_sys_bitypes_h" = "xyes") |
2809 | then | 2839 | then |
2810 | AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h]) | 2840 | AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h]) |
2811 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2841 | AC_TRY_COMPILE( |
2842 | [ | ||
2812 | #include <sys/bitypes.h> | 2843 | #include <sys/bitypes.h> |
2813 | ]], [[ | 2844 | ], |
2845 | [ | ||
2814 | int8_t a; int16_t b; int32_t c; | 2846 | int8_t a; int16_t b; int32_t c; |
2815 | u_int8_t e; u_int16_t f; u_int32_t g; | 2847 | u_int8_t e; u_int16_t f; u_int32_t g; |
2816 | a = b = c = e = f = g = 1; | 2848 | a = b = c = e = f = g = 1; |
2817 | ]])], | 2849 | ], |
2818 | [ | 2850 | [ |
2819 | AC_DEFINE([HAVE_U_INTXX_T]) | 2851 | AC_DEFINE(HAVE_U_INTXX_T) |
2820 | AC_DEFINE([HAVE_INTXX_T]) | 2852 | AC_DEFINE(HAVE_INTXX_T) |
2821 | AC_MSG_RESULT([yes]) | 2853 | AC_MSG_RESULT(yes) |
2822 | ], [AC_MSG_RESULT([no]) | 2854 | ], |
2823 | ]) | 2855 | [AC_MSG_RESULT(no)] |
2856 | ) | ||
2824 | fi | 2857 | fi |
2825 | 2858 | ||
2826 | 2859 | ||
2827 | AC_CACHE_CHECK([for u_char], ac_cv_have_u_char, [ | 2860 | AC_CACHE_CHECK([for u_char], ac_cv_have_u_char, [ |
2828 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2861 | AC_TRY_COMPILE( |
2829 | [[ u_char foo; foo = 125; ]])], | 2862 | [ |
2830 | [ ac_cv_have_u_char="yes" ], [ ac_cv_have_u_char="no" | 2863 | #include <sys/types.h> |
2831 | ]) | 2864 | ], |
2865 | [ u_char foo; foo = 125; ], | ||
2866 | [ ac_cv_have_u_char="yes" ], | ||
2867 | [ ac_cv_have_u_char="no" ] | ||
2868 | ) | ||
2832 | ]) | 2869 | ]) |
2833 | if test "x$ac_cv_have_u_char" = "xyes" ; then | 2870 | if test "x$ac_cv_have_u_char" = "xyes" ; then |
2834 | AC_DEFINE([HAVE_U_CHAR], [1], [define if you have u_char data type]) | 2871 | AC_DEFINE(HAVE_U_CHAR, 1, [define if you have u_char data type]) |
2835 | fi | 2872 | fi |
2836 | 2873 | ||
2837 | TYPE_SOCKLEN_T | 2874 | TYPE_SOCKLEN_T |
2838 | 2875 | ||
2839 | AC_CHECK_TYPES([sig_atomic_t], , , [#include <signal.h>]) | 2876 | AC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>]) |
2840 | AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [ | 2877 | AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t],,,[ |
2841 | #include <sys/types.h> | 2878 | #include <sys/types.h> |
2842 | #ifdef HAVE_SYS_BITYPES_H | 2879 | #ifdef HAVE_SYS_BITYPES_H |
2843 | #include <sys/bitypes.h> | 2880 | #include <sys/bitypes.h> |
@@ -2850,125 +2887,156 @@ AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t], , , [ | |||
2850 | #endif | 2887 | #endif |
2851 | ]) | 2888 | ]) |
2852 | 2889 | ||
2853 | AC_CHECK_TYPES([in_addr_t, in_port_t], , , | 2890 | AC_CHECK_TYPES([in_addr_t, in_port_t],,, |
2854 | [#include <sys/types.h> | 2891 | [#include <sys/types.h> |
2855 | #include <netinet/in.h>]) | 2892 | #include <netinet/in.h>]) |
2856 | 2893 | ||
2857 | AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [ | 2894 | AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [ |
2858 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2895 | AC_TRY_COMPILE( |
2859 | [[ size_t foo; foo = 1235; ]])], | 2896 | [ |
2860 | [ ac_cv_have_size_t="yes" ], [ ac_cv_have_size_t="no" | 2897 | #include <sys/types.h> |
2861 | ]) | 2898 | ], |
2899 | [ size_t foo; foo = 1235; ], | ||
2900 | [ ac_cv_have_size_t="yes" ], | ||
2901 | [ ac_cv_have_size_t="no" ] | ||
2902 | ) | ||
2862 | ]) | 2903 | ]) |
2863 | if test "x$ac_cv_have_size_t" = "xyes" ; then | 2904 | if test "x$ac_cv_have_size_t" = "xyes" ; then |
2864 | AC_DEFINE([HAVE_SIZE_T], [1], [define if you have size_t data type]) | 2905 | AC_DEFINE(HAVE_SIZE_T, 1, [define if you have size_t data type]) |
2865 | fi | 2906 | fi |
2866 | 2907 | ||
2867 | AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [ | 2908 | AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [ |
2868 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2909 | AC_TRY_COMPILE( |
2869 | [[ ssize_t foo; foo = 1235; ]])], | 2910 | [ |
2870 | [ ac_cv_have_ssize_t="yes" ], [ ac_cv_have_ssize_t="no" | 2911 | #include <sys/types.h> |
2871 | ]) | 2912 | ], |
2913 | [ ssize_t foo; foo = 1235; ], | ||
2914 | [ ac_cv_have_ssize_t="yes" ], | ||
2915 | [ ac_cv_have_ssize_t="no" ] | ||
2916 | ) | ||
2872 | ]) | 2917 | ]) |
2873 | if test "x$ac_cv_have_ssize_t" = "xyes" ; then | 2918 | if test "x$ac_cv_have_ssize_t" = "xyes" ; then |
2874 | AC_DEFINE([HAVE_SSIZE_T], [1], [define if you have ssize_t data type]) | 2919 | AC_DEFINE(HAVE_SSIZE_T, 1, [define if you have ssize_t data type]) |
2875 | fi | 2920 | fi |
2876 | 2921 | ||
2877 | AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [ | 2922 | AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [ |
2878 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <time.h> ]], | 2923 | AC_TRY_COMPILE( |
2879 | [[ clock_t foo; foo = 1235; ]])], | 2924 | [ |
2880 | [ ac_cv_have_clock_t="yes" ], [ ac_cv_have_clock_t="no" | 2925 | #include <time.h> |
2881 | ]) | 2926 | ], |
2927 | [ clock_t foo; foo = 1235; ], | ||
2928 | [ ac_cv_have_clock_t="yes" ], | ||
2929 | [ ac_cv_have_clock_t="no" ] | ||
2930 | ) | ||
2882 | ]) | 2931 | ]) |
2883 | if test "x$ac_cv_have_clock_t" = "xyes" ; then | 2932 | if test "x$ac_cv_have_clock_t" = "xyes" ; then |
2884 | AC_DEFINE([HAVE_CLOCK_T], [1], [define if you have clock_t data type]) | 2933 | AC_DEFINE(HAVE_CLOCK_T, 1, [define if you have clock_t data type]) |
2885 | fi | 2934 | fi |
2886 | 2935 | ||
2887 | AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [ | 2936 | AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [ |
2888 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2937 | AC_TRY_COMPILE( |
2938 | [ | ||
2889 | #include <sys/types.h> | 2939 | #include <sys/types.h> |
2890 | #include <sys/socket.h> | 2940 | #include <sys/socket.h> |
2891 | ]], [[ sa_family_t foo; foo = 1235; ]])], | 2941 | ], |
2892 | [ ac_cv_have_sa_family_t="yes" ], | 2942 | [ sa_family_t foo; foo = 1235; ], |
2893 | [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2943 | [ ac_cv_have_sa_family_t="yes" ], |
2944 | [ AC_TRY_COMPILE( | ||
2945 | [ | ||
2894 | #include <sys/types.h> | 2946 | #include <sys/types.h> |
2895 | #include <sys/socket.h> | 2947 | #include <sys/socket.h> |
2896 | #include <netinet/in.h> | 2948 | #include <netinet/in.h> |
2897 | ]], [[ sa_family_t foo; foo = 1235; ]])], | 2949 | ], |
2950 | [ sa_family_t foo; foo = 1235; ], | ||
2898 | [ ac_cv_have_sa_family_t="yes" ], | 2951 | [ ac_cv_have_sa_family_t="yes" ], |
2952 | |||
2899 | [ ac_cv_have_sa_family_t="no" ] | 2953 | [ ac_cv_have_sa_family_t="no" ] |
2954 | )] | ||
2900 | ) | 2955 | ) |
2901 | ]) | ||
2902 | ]) | 2956 | ]) |
2903 | if test "x$ac_cv_have_sa_family_t" = "xyes" ; then | 2957 | if test "x$ac_cv_have_sa_family_t" = "xyes" ; then |
2904 | AC_DEFINE([HAVE_SA_FAMILY_T], [1], | 2958 | AC_DEFINE(HAVE_SA_FAMILY_T, 1, |
2905 | [define if you have sa_family_t data type]) | 2959 | [define if you have sa_family_t data type]) |
2906 | fi | 2960 | fi |
2907 | 2961 | ||
2908 | AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [ | 2962 | AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [ |
2909 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2963 | AC_TRY_COMPILE( |
2910 | [[ pid_t foo; foo = 1235; ]])], | 2964 | [ |
2911 | [ ac_cv_have_pid_t="yes" ], [ ac_cv_have_pid_t="no" | 2965 | #include <sys/types.h> |
2912 | ]) | 2966 | ], |
2967 | [ pid_t foo; foo = 1235; ], | ||
2968 | [ ac_cv_have_pid_t="yes" ], | ||
2969 | [ ac_cv_have_pid_t="no" ] | ||
2970 | ) | ||
2913 | ]) | 2971 | ]) |
2914 | if test "x$ac_cv_have_pid_t" = "xyes" ; then | 2972 | if test "x$ac_cv_have_pid_t" = "xyes" ; then |
2915 | AC_DEFINE([HAVE_PID_T], [1], [define if you have pid_t data type]) | 2973 | AC_DEFINE(HAVE_PID_T, 1, [define if you have pid_t data type]) |
2916 | fi | 2974 | fi |
2917 | 2975 | ||
2918 | AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [ | 2976 | AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [ |
2919 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> ]], | 2977 | AC_TRY_COMPILE( |
2920 | [[ mode_t foo; foo = 1235; ]])], | 2978 | [ |
2921 | [ ac_cv_have_mode_t="yes" ], [ ac_cv_have_mode_t="no" | 2979 | #include <sys/types.h> |
2922 | ]) | 2980 | ], |
2981 | [ mode_t foo; foo = 1235; ], | ||
2982 | [ ac_cv_have_mode_t="yes" ], | ||
2983 | [ ac_cv_have_mode_t="no" ] | ||
2984 | ) | ||
2923 | ]) | 2985 | ]) |
2924 | if test "x$ac_cv_have_mode_t" = "xyes" ; then | 2986 | if test "x$ac_cv_have_mode_t" = "xyes" ; then |
2925 | AC_DEFINE([HAVE_MODE_T], [1], [define if you have mode_t data type]) | 2987 | AC_DEFINE(HAVE_MODE_T, 1, [define if you have mode_t data type]) |
2926 | fi | 2988 | fi |
2927 | 2989 | ||
2928 | 2990 | ||
2929 | AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage, [ | 2991 | AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage, [ |
2930 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 2992 | AC_TRY_COMPILE( |
2993 | [ | ||
2931 | #include <sys/types.h> | 2994 | #include <sys/types.h> |
2932 | #include <sys/socket.h> | 2995 | #include <sys/socket.h> |
2933 | ]], [[ struct sockaddr_storage s; ]])], | 2996 | ], |
2934 | [ ac_cv_have_struct_sockaddr_storage="yes" ], | 2997 | [ struct sockaddr_storage s; ], |
2935 | [ ac_cv_have_struct_sockaddr_storage="no" | 2998 | [ ac_cv_have_struct_sockaddr_storage="yes" ], |
2936 | ]) | 2999 | [ ac_cv_have_struct_sockaddr_storage="no" ] |
3000 | ) | ||
2937 | ]) | 3001 | ]) |
2938 | if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then | 3002 | if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then |
2939 | AC_DEFINE([HAVE_STRUCT_SOCKADDR_STORAGE], [1], | 3003 | AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1, |
2940 | [define if you have struct sockaddr_storage data type]) | 3004 | [define if you have struct sockaddr_storage data type]) |
2941 | fi | 3005 | fi |
2942 | 3006 | ||
2943 | AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ | 3007 | AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ |
2944 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3008 | AC_TRY_COMPILE( |
3009 | [ | ||
2945 | #include <sys/types.h> | 3010 | #include <sys/types.h> |
2946 | #include <netinet/in.h> | 3011 | #include <netinet/in.h> |
2947 | ]], [[ struct sockaddr_in6 s; s.sin6_family = 0; ]])], | 3012 | ], |
2948 | [ ac_cv_have_struct_sockaddr_in6="yes" ], | 3013 | [ struct sockaddr_in6 s; s.sin6_family = 0; ], |
2949 | [ ac_cv_have_struct_sockaddr_in6="no" | 3014 | [ ac_cv_have_struct_sockaddr_in6="yes" ], |
2950 | ]) | 3015 | [ ac_cv_have_struct_sockaddr_in6="no" ] |
3016 | ) | ||
2951 | ]) | 3017 | ]) |
2952 | if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then | 3018 | if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then |
2953 | AC_DEFINE([HAVE_STRUCT_SOCKADDR_IN6], [1], | 3019 | AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6, 1, |
2954 | [define if you have struct sockaddr_in6 data type]) | 3020 | [define if you have struct sockaddr_in6 data type]) |
2955 | fi | 3021 | fi |
2956 | 3022 | ||
2957 | AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ | 3023 | AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ |
2958 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3024 | AC_TRY_COMPILE( |
3025 | [ | ||
2959 | #include <sys/types.h> | 3026 | #include <sys/types.h> |
2960 | #include <netinet/in.h> | 3027 | #include <netinet/in.h> |
2961 | ]], [[ struct in6_addr s; s.s6_addr[0] = 0; ]])], | 3028 | ], |
2962 | [ ac_cv_have_struct_in6_addr="yes" ], | 3029 | [ struct in6_addr s; s.s6_addr[0] = 0; ], |
2963 | [ ac_cv_have_struct_in6_addr="no" | 3030 | [ ac_cv_have_struct_in6_addr="yes" ], |
2964 | ]) | 3031 | [ ac_cv_have_struct_in6_addr="no" ] |
3032 | ) | ||
2965 | ]) | 3033 | ]) |
2966 | if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then | 3034 | if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then |
2967 | AC_DEFINE([HAVE_STRUCT_IN6_ADDR], [1], | 3035 | AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1, |
2968 | [define if you have struct in6_addr data type]) | 3036 | [define if you have struct in6_addr data type]) |
2969 | 3037 | ||
2970 | dnl Now check for sin6_scope_id | 3038 | dnl Now check for sin6_scope_id |
2971 | AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id], , , | 3039 | AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,, |
2972 | [ | 3040 | [ |
2973 | #ifdef HAVE_SYS_TYPES_H | 3041 | #ifdef HAVE_SYS_TYPES_H |
2974 | #include <sys/types.h> | 3042 | #include <sys/types.h> |
@@ -2978,33 +3046,36 @@ dnl Now check for sin6_scope_id | |||
2978 | fi | 3046 | fi |
2979 | 3047 | ||
2980 | AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [ | 3048 | AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [ |
2981 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3049 | AC_TRY_COMPILE( |
3050 | [ | ||
2982 | #include <sys/types.h> | 3051 | #include <sys/types.h> |
2983 | #include <sys/socket.h> | 3052 | #include <sys/socket.h> |
2984 | #include <netdb.h> | 3053 | #include <netdb.h> |
2985 | ]], [[ struct addrinfo s; s.ai_flags = AI_PASSIVE; ]])], | 3054 | ], |
2986 | [ ac_cv_have_struct_addrinfo="yes" ], | 3055 | [ struct addrinfo s; s.ai_flags = AI_PASSIVE; ], |
2987 | [ ac_cv_have_struct_addrinfo="no" | 3056 | [ ac_cv_have_struct_addrinfo="yes" ], |
2988 | ]) | 3057 | [ ac_cv_have_struct_addrinfo="no" ] |
3058 | ) | ||
2989 | ]) | 3059 | ]) |
2990 | if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then | 3060 | if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then |
2991 | AC_DEFINE([HAVE_STRUCT_ADDRINFO], [1], | 3061 | AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1, |
2992 | [define if you have struct addrinfo data type]) | 3062 | [define if you have struct addrinfo data type]) |
2993 | fi | 3063 | fi |
2994 | 3064 | ||
2995 | AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [ | 3065 | AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [ |
2996 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/time.h> ]], | 3066 | AC_TRY_COMPILE( |
2997 | [[ struct timeval tv; tv.tv_sec = 1;]])], | 3067 | [ #include <sys/time.h> ], |
2998 | [ ac_cv_have_struct_timeval="yes" ], | 3068 | [ struct timeval tv; tv.tv_sec = 1;], |
2999 | [ ac_cv_have_struct_timeval="no" | 3069 | [ ac_cv_have_struct_timeval="yes" ], |
3000 | ]) | 3070 | [ ac_cv_have_struct_timeval="no" ] |
3071 | ) | ||
3001 | ]) | 3072 | ]) |
3002 | if test "x$ac_cv_have_struct_timeval" = "xyes" ; then | 3073 | if test "x$ac_cv_have_struct_timeval" = "xyes" ; then |
3003 | AC_DEFINE([HAVE_STRUCT_TIMEVAL], [1], [define if you have struct timeval]) | 3074 | AC_DEFINE(HAVE_STRUCT_TIMEVAL, 1, [define if you have struct timeval]) |
3004 | have_struct_timeval=1 | 3075 | have_struct_timeval=1 |
3005 | fi | 3076 | fi |
3006 | 3077 | ||
3007 | AC_CHECK_TYPES([struct timespec]) | 3078 | AC_CHECK_TYPES(struct timespec) |
3008 | 3079 | ||
3009 | # We need int64_t or else certian parts of the compile will fail. | 3080 | # We need int64_t or else certian parts of the compile will fail. |
3010 | if test "x$ac_cv_have_int64_t" = "xno" && \ | 3081 | if test "x$ac_cv_have_int64_t" = "xno" && \ |
@@ -3040,32 +3111,32 @@ main() | |||
3040 | #else | 3111 | #else |
3041 | main() { exit(0); } | 3112 | main() { exit(0); } |
3042 | #endif | 3113 | #endif |
3043 | ]])], [ true ], [ AC_DEFINE([BROKEN_SNPRINTF]) ], | 3114 | ]])], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ], |
3044 | AC_MSG_WARN([cross compiling: Assuming working snprintf()]) | 3115 | AC_MSG_WARN([cross compiling: Assuming working snprintf()]) |
3045 | ) | 3116 | ) |
3046 | fi | 3117 | fi |
3047 | 3118 | ||
3048 | dnl Checks for structure members | 3119 | dnl Checks for structure members |
3049 | OSSH_CHECK_HEADER_FOR_FIELD([ut_host], [utmp.h], [HAVE_HOST_IN_UTMP]) | 3120 | OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP) |
3050 | OSSH_CHECK_HEADER_FOR_FIELD([ut_host], [utmpx.h], [HAVE_HOST_IN_UTMPX]) | 3121 | OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmpx.h, HAVE_HOST_IN_UTMPX) |
3051 | OSSH_CHECK_HEADER_FOR_FIELD([syslen], [utmpx.h], [HAVE_SYSLEN_IN_UTMPX]) | 3122 | OSSH_CHECK_HEADER_FOR_FIELD(syslen, utmpx.h, HAVE_SYSLEN_IN_UTMPX) |
3052 | OSSH_CHECK_HEADER_FOR_FIELD([ut_pid], [utmp.h], [HAVE_PID_IN_UTMP]) | 3123 | OSSH_CHECK_HEADER_FOR_FIELD(ut_pid, utmp.h, HAVE_PID_IN_UTMP) |
3053 | OSSH_CHECK_HEADER_FOR_FIELD([ut_type], [utmp.h], [HAVE_TYPE_IN_UTMP]) | 3124 | OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmp.h, HAVE_TYPE_IN_UTMP) |
3054 | OSSH_CHECK_HEADER_FOR_FIELD([ut_type], [utmpx.h], [HAVE_TYPE_IN_UTMPX]) | 3125 | OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmpx.h, HAVE_TYPE_IN_UTMPX) |
3055 | OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmp.h], [HAVE_TV_IN_UTMP]) | 3126 | OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmp.h, HAVE_TV_IN_UTMP) |
3056 | OSSH_CHECK_HEADER_FOR_FIELD([ut_id], [utmp.h], [HAVE_ID_IN_UTMP]) | 3127 | OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmp.h, HAVE_ID_IN_UTMP) |
3057 | OSSH_CHECK_HEADER_FOR_FIELD([ut_id], [utmpx.h], [HAVE_ID_IN_UTMPX]) | 3128 | OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmpx.h, HAVE_ID_IN_UTMPX) |
3058 | OSSH_CHECK_HEADER_FOR_FIELD([ut_addr], [utmp.h], [HAVE_ADDR_IN_UTMP]) | 3129 | OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmp.h, HAVE_ADDR_IN_UTMP) |
3059 | OSSH_CHECK_HEADER_FOR_FIELD([ut_addr], [utmpx.h], [HAVE_ADDR_IN_UTMPX]) | 3130 | OSSH_CHECK_HEADER_FOR_FIELD(ut_addr, utmpx.h, HAVE_ADDR_IN_UTMPX) |
3060 | OSSH_CHECK_HEADER_FOR_FIELD([ut_addr_v6], [utmp.h], [HAVE_ADDR_V6_IN_UTMP]) | 3131 | OSSH_CHECK_HEADER_FOR_FIELD(ut_addr_v6, utmp.h, HAVE_ADDR_V6_IN_UTMP) |
3061 | OSSH_CHECK_HEADER_FOR_FIELD([ut_addr_v6], [utmpx.h], [HAVE_ADDR_V6_IN_UTMPX]) | 3132 | OSSH_CHECK_HEADER_FOR_FIELD(ut_addr_v6, utmpx.h, HAVE_ADDR_V6_IN_UTMPX) |
3062 | OSSH_CHECK_HEADER_FOR_FIELD([ut_exit], [utmp.h], [HAVE_EXIT_IN_UTMP]) | 3133 | OSSH_CHECK_HEADER_FOR_FIELD(ut_exit, utmp.h, HAVE_EXIT_IN_UTMP) |
3063 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmp.h], [HAVE_TIME_IN_UTMP]) | 3134 | OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmp.h, HAVE_TIME_IN_UTMP) |
3064 | OSSH_CHECK_HEADER_FOR_FIELD([ut_time], [utmpx.h], [HAVE_TIME_IN_UTMPX]) | 3135 | OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX) |
3065 | OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) | 3136 | OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX) |
3066 | 3137 | ||
3067 | AC_CHECK_MEMBERS([struct stat.st_blksize]) | 3138 | AC_CHECK_MEMBERS([struct stat.st_blksize]) |
3068 | AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [state], | 3139 | AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE(__res_state, state, |
3069 | [Define if we don't have struct __res_state in resolv.h])], | 3140 | [Define if we don't have struct __res_state in resolv.h])], |
3070 | [ | 3141 | [ |
3071 | #include <stdio.h> | 3142 | #include <stdio.h> |
@@ -3079,79 +3150,94 @@ AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE([__res_state], [sta | |||
3079 | 3150 | ||
3080 | AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], | 3151 | AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], |
3081 | ac_cv_have_ss_family_in_struct_ss, [ | 3152 | ac_cv_have_ss_family_in_struct_ss, [ |
3082 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3153 | AC_TRY_COMPILE( |
3154 | [ | ||
3083 | #include <sys/types.h> | 3155 | #include <sys/types.h> |
3084 | #include <sys/socket.h> | 3156 | #include <sys/socket.h> |
3085 | ]], [[ struct sockaddr_storage s; s.ss_family = 1; ]])], | 3157 | ], |
3086 | [ ac_cv_have_ss_family_in_struct_ss="yes" ], | 3158 | [ struct sockaddr_storage s; s.ss_family = 1; ], |
3087 | [ ac_cv_have_ss_family_in_struct_ss="no" ]) | 3159 | [ ac_cv_have_ss_family_in_struct_ss="yes" ], |
3160 | [ ac_cv_have_ss_family_in_struct_ss="no" ], | ||
3161 | ) | ||
3088 | ]) | 3162 | ]) |
3089 | if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then | 3163 | if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then |
3090 | AC_DEFINE([HAVE_SS_FAMILY_IN_SS], [1], [Fields in struct sockaddr_storage]) | 3164 | AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Fields in struct sockaddr_storage]) |
3091 | fi | 3165 | fi |
3092 | 3166 | ||
3093 | AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], | 3167 | AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], |
3094 | ac_cv_have___ss_family_in_struct_ss, [ | 3168 | ac_cv_have___ss_family_in_struct_ss, [ |
3095 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3169 | AC_TRY_COMPILE( |
3170 | [ | ||
3096 | #include <sys/types.h> | 3171 | #include <sys/types.h> |
3097 | #include <sys/socket.h> | 3172 | #include <sys/socket.h> |
3098 | ]], [[ struct sockaddr_storage s; s.__ss_family = 1; ]])], | 3173 | ], |
3099 | [ ac_cv_have___ss_family_in_struct_ss="yes" ], | 3174 | [ struct sockaddr_storage s; s.__ss_family = 1; ], |
3100 | [ ac_cv_have___ss_family_in_struct_ss="no" | 3175 | [ ac_cv_have___ss_family_in_struct_ss="yes" ], |
3101 | ]) | 3176 | [ ac_cv_have___ss_family_in_struct_ss="no" ] |
3177 | ) | ||
3102 | ]) | 3178 | ]) |
3103 | if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then | 3179 | if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then |
3104 | AC_DEFINE([HAVE___SS_FAMILY_IN_SS], [1], | 3180 | AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, |
3105 | [Fields in struct sockaddr_storage]) | 3181 | [Fields in struct sockaddr_storage]) |
3106 | fi | 3182 | fi |
3107 | 3183 | ||
3108 | AC_CACHE_CHECK([for pw_class field in struct passwd], | 3184 | AC_CACHE_CHECK([for pw_class field in struct passwd], |
3109 | ac_cv_have_pw_class_in_struct_passwd, [ | 3185 | ac_cv_have_pw_class_in_struct_passwd, [ |
3110 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]], | 3186 | AC_TRY_COMPILE( |
3111 | [[ struct passwd p; p.pw_class = 0; ]])], | 3187 | [ |
3112 | [ ac_cv_have_pw_class_in_struct_passwd="yes" ], | 3188 | #include <pwd.h> |
3113 | [ ac_cv_have_pw_class_in_struct_passwd="no" | 3189 | ], |
3114 | ]) | 3190 | [ struct passwd p; p.pw_class = 0; ], |
3191 | [ ac_cv_have_pw_class_in_struct_passwd="yes" ], | ||
3192 | [ ac_cv_have_pw_class_in_struct_passwd="no" ] | ||
3193 | ) | ||
3115 | ]) | 3194 | ]) |
3116 | if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then | 3195 | if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then |
3117 | AC_DEFINE([HAVE_PW_CLASS_IN_PASSWD], [1], | 3196 | AC_DEFINE(HAVE_PW_CLASS_IN_PASSWD, 1, |
3118 | [Define if your password has a pw_class field]) | 3197 | [Define if your password has a pw_class field]) |
3119 | fi | 3198 | fi |
3120 | 3199 | ||
3121 | AC_CACHE_CHECK([for pw_expire field in struct passwd], | 3200 | AC_CACHE_CHECK([for pw_expire field in struct passwd], |
3122 | ac_cv_have_pw_expire_in_struct_passwd, [ | 3201 | ac_cv_have_pw_expire_in_struct_passwd, [ |
3123 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]], | 3202 | AC_TRY_COMPILE( |
3124 | [[ struct passwd p; p.pw_expire = 0; ]])], | 3203 | [ |
3125 | [ ac_cv_have_pw_expire_in_struct_passwd="yes" ], | 3204 | #include <pwd.h> |
3126 | [ ac_cv_have_pw_expire_in_struct_passwd="no" | 3205 | ], |
3127 | ]) | 3206 | [ struct passwd p; p.pw_expire = 0; ], |
3207 | [ ac_cv_have_pw_expire_in_struct_passwd="yes" ], | ||
3208 | [ ac_cv_have_pw_expire_in_struct_passwd="no" ] | ||
3209 | ) | ||
3128 | ]) | 3210 | ]) |
3129 | if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then | 3211 | if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then |
3130 | AC_DEFINE([HAVE_PW_EXPIRE_IN_PASSWD], [1], | 3212 | AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD, 1, |
3131 | [Define if your password has a pw_expire field]) | 3213 | [Define if your password has a pw_expire field]) |
3132 | fi | 3214 | fi |
3133 | 3215 | ||
3134 | AC_CACHE_CHECK([for pw_change field in struct passwd], | 3216 | AC_CACHE_CHECK([for pw_change field in struct passwd], |
3135 | ac_cv_have_pw_change_in_struct_passwd, [ | 3217 | ac_cv_have_pw_change_in_struct_passwd, [ |
3136 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <pwd.h> ]], | 3218 | AC_TRY_COMPILE( |
3137 | [[ struct passwd p; p.pw_change = 0; ]])], | 3219 | [ |
3138 | [ ac_cv_have_pw_change_in_struct_passwd="yes" ], | 3220 | #include <pwd.h> |
3139 | [ ac_cv_have_pw_change_in_struct_passwd="no" | 3221 | ], |
3140 | ]) | 3222 | [ struct passwd p; p.pw_change = 0; ], |
3223 | [ ac_cv_have_pw_change_in_struct_passwd="yes" ], | ||
3224 | [ ac_cv_have_pw_change_in_struct_passwd="no" ] | ||
3225 | ) | ||
3141 | ]) | 3226 | ]) |
3142 | if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then | 3227 | if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then |
3143 | AC_DEFINE([HAVE_PW_CHANGE_IN_PASSWD], [1], | 3228 | AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD, 1, |
3144 | [Define if your password has a pw_change field]) | 3229 | [Define if your password has a pw_change field]) |
3145 | fi | 3230 | fi |
3146 | 3231 | ||
3147 | dnl make sure we're using the real structure members and not defines | 3232 | dnl make sure we're using the real structure members and not defines |
3148 | AC_CACHE_CHECK([for msg_accrights field in struct msghdr], | 3233 | AC_CACHE_CHECK([for msg_accrights field in struct msghdr], |
3149 | ac_cv_have_accrights_in_msghdr, [ | 3234 | ac_cv_have_accrights_in_msghdr, [ |
3150 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3235 | AC_COMPILE_IFELSE( |
3236 | [ | ||
3151 | #include <sys/types.h> | 3237 | #include <sys/types.h> |
3152 | #include <sys/socket.h> | 3238 | #include <sys/socket.h> |
3153 | #include <sys/uio.h> | 3239 | #include <sys/uio.h> |
3154 | ]], [[ | 3240 | int main() { |
3155 | #ifdef msg_accrights | 3241 | #ifdef msg_accrights |
3156 | #error "msg_accrights is a macro" | 3242 | #error "msg_accrights is a macro" |
3157 | exit(1); | 3243 | exit(1); |
@@ -3159,19 +3245,20 @@ exit(1); | |||
3159 | struct msghdr m; | 3245 | struct msghdr m; |
3160 | m.msg_accrights = 0; | 3246 | m.msg_accrights = 0; |
3161 | exit(0); | 3247 | exit(0); |
3162 | ]])], | 3248 | } |
3249 | ], | ||
3163 | [ ac_cv_have_accrights_in_msghdr="yes" ], | 3250 | [ ac_cv_have_accrights_in_msghdr="yes" ], |
3164 | [ ac_cv_have_accrights_in_msghdr="no" ] | 3251 | [ ac_cv_have_accrights_in_msghdr="no" ] |
3165 | ) | 3252 | ) |
3166 | ]) | 3253 | ]) |
3167 | if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then | 3254 | if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then |
3168 | AC_DEFINE([HAVE_ACCRIGHTS_IN_MSGHDR], [1], | 3255 | AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR, 1, |
3169 | [Define if your system uses access rights style | 3256 | [Define if your system uses access rights style |
3170 | file descriptor passing]) | 3257 | file descriptor passing]) |
3171 | fi | 3258 | fi |
3172 | 3259 | ||
3173 | AC_MSG_CHECKING([if struct statvfs.f_fsid is integral type]) | 3260 | AC_MSG_CHECKING(if struct statvfs.f_fsid is integral type) |
3174 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3261 | AC_TRY_COMPILE([ |
3175 | #include <sys/types.h> | 3262 | #include <sys/types.h> |
3176 | #include <sys/stat.h> | 3263 | #include <sys/stat.h> |
3177 | #ifdef HAVE_SYS_TIME_H | 3264 | #ifdef HAVE_SYS_TIME_H |
@@ -3183,36 +3270,37 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||
3183 | #ifdef HAVE_SYS_STATVFS_H | 3270 | #ifdef HAVE_SYS_STATVFS_H |
3184 | #include <sys/statvfs.h> | 3271 | #include <sys/statvfs.h> |
3185 | #endif | 3272 | #endif |
3186 | ]], [[ struct statvfs s; s.f_fsid = 0; ]])], | 3273 | ], [struct statvfs s; s.f_fsid = 0;], |
3187 | [ AC_MSG_RESULT([yes]) ], | 3274 | [ AC_MSG_RESULT(yes) ], |
3188 | [ AC_MSG_RESULT([no]) | 3275 | [ AC_MSG_RESULT(no) |
3189 | 3276 | ||
3190 | AC_MSG_CHECKING([if fsid_t has member val]) | 3277 | AC_MSG_CHECKING(if fsid_t has member val) |
3191 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3278 | AC_TRY_COMPILE([ |
3192 | #include <sys/types.h> | 3279 | #include <sys/types.h> |
3193 | #include <sys/statvfs.h> | 3280 | #include <sys/statvfs.h>], |
3194 | ]], [[ fsid_t t; t.val[0] = 0; ]])], | 3281 | [fsid_t t; t.val[0] = 0;], |
3195 | [ AC_MSG_RESULT([yes]) | 3282 | [ AC_MSG_RESULT(yes) |
3196 | AC_DEFINE([FSID_HAS_VAL], [1], [fsid_t has member val]) ], | 3283 | AC_DEFINE(FSID_HAS_VAL, 1, fsid_t has member val) ], |
3197 | [ AC_MSG_RESULT([no]) ]) | 3284 | [ AC_MSG_RESULT(no) ]) |
3198 | 3285 | ||
3199 | AC_MSG_CHECKING([if f_fsid has member __val]) | 3286 | AC_MSG_CHECKING(if f_fsid has member __val) |
3200 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3287 | AC_TRY_COMPILE([ |
3201 | #include <sys/types.h> | 3288 | #include <sys/types.h> |
3202 | #include <sys/statvfs.h> | 3289 | #include <sys/statvfs.h>], |
3203 | ]], [[ fsid_t t; t.__val[0] = 0; ]])], | 3290 | [fsid_t t; t.__val[0] = 0;], |
3204 | [ AC_MSG_RESULT([yes]) | 3291 | [ AC_MSG_RESULT(yes) |
3205 | AC_DEFINE([FSID_HAS___VAL], [1], [fsid_t has member __val]) ], | 3292 | AC_DEFINE(FSID_HAS___VAL, 1, fsid_t has member __val) ], |
3206 | [ AC_MSG_RESULT([no]) ]) | 3293 | [ AC_MSG_RESULT(no) ]) |
3207 | ]) | 3294 | ]) |
3208 | 3295 | ||
3209 | AC_CACHE_CHECK([for msg_control field in struct msghdr], | 3296 | AC_CACHE_CHECK([for msg_control field in struct msghdr], |
3210 | ac_cv_have_control_in_msghdr, [ | 3297 | ac_cv_have_control_in_msghdr, [ |
3211 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3298 | AC_COMPILE_IFELSE( |
3299 | [ | ||
3212 | #include <sys/types.h> | 3300 | #include <sys/types.h> |
3213 | #include <sys/socket.h> | 3301 | #include <sys/socket.h> |
3214 | #include <sys/uio.h> | 3302 | #include <sys/uio.h> |
3215 | ]], [[ | 3303 | int main() { |
3216 | #ifdef msg_control | 3304 | #ifdef msg_control |
3217 | #error "msg_control is a macro" | 3305 | #error "msg_control is a macro" |
3218 | exit(1); | 3306 | exit(1); |
@@ -3220,161 +3308,178 @@ exit(1); | |||
3220 | struct msghdr m; | 3308 | struct msghdr m; |
3221 | m.msg_control = 0; | 3309 | m.msg_control = 0; |
3222 | exit(0); | 3310 | exit(0); |
3223 | ]])], | 3311 | } |
3312 | ], | ||
3224 | [ ac_cv_have_control_in_msghdr="yes" ], | 3313 | [ ac_cv_have_control_in_msghdr="yes" ], |
3225 | [ ac_cv_have_control_in_msghdr="no" ] | 3314 | [ ac_cv_have_control_in_msghdr="no" ] |
3226 | ) | 3315 | ) |
3227 | ]) | 3316 | ]) |
3228 | if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then | 3317 | if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then |
3229 | AC_DEFINE([HAVE_CONTROL_IN_MSGHDR], [1], | 3318 | AC_DEFINE(HAVE_CONTROL_IN_MSGHDR, 1, |
3230 | [Define if your system uses ancillary data style | 3319 | [Define if your system uses ancillary data style |
3231 | file descriptor passing]) | 3320 | file descriptor passing]) |
3232 | fi | 3321 | fi |
3233 | 3322 | ||
3234 | AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ | 3323 | AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ |
3235 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 3324 | AC_TRY_LINK([], |
3236 | [[ extern char *__progname; printf("%s", __progname); ]])], | 3325 | [ extern char *__progname; printf("%s", __progname); ], |
3237 | [ ac_cv_libc_defines___progname="yes" ], | 3326 | [ ac_cv_libc_defines___progname="yes" ], |
3238 | [ ac_cv_libc_defines___progname="no" | 3327 | [ ac_cv_libc_defines___progname="no" ] |
3239 | ]) | 3328 | ) |
3240 | ]) | 3329 | ]) |
3241 | if test "x$ac_cv_libc_defines___progname" = "xyes" ; then | 3330 | if test "x$ac_cv_libc_defines___progname" = "xyes" ; then |
3242 | AC_DEFINE([HAVE___PROGNAME], [1], [Define if libc defines __progname]) | 3331 | AC_DEFINE(HAVE___PROGNAME, 1, [Define if libc defines __progname]) |
3243 | fi | 3332 | fi |
3244 | 3333 | ||
3245 | AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ | 3334 | AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ |
3246 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 3335 | AC_TRY_LINK([ |
3247 | [[ printf("%s", __FUNCTION__); ]])], | 3336 | #include <stdio.h> |
3248 | [ ac_cv_cc_implements___FUNCTION__="yes" ], | 3337 | ], |
3249 | [ ac_cv_cc_implements___FUNCTION__="no" | 3338 | [ printf("%s", __FUNCTION__); ], |
3250 | ]) | 3339 | [ ac_cv_cc_implements___FUNCTION__="yes" ], |
3340 | [ ac_cv_cc_implements___FUNCTION__="no" ] | ||
3341 | ) | ||
3251 | ]) | 3342 | ]) |
3252 | if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then | 3343 | if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then |
3253 | AC_DEFINE([HAVE___FUNCTION__], [1], | 3344 | AC_DEFINE(HAVE___FUNCTION__, 1, |
3254 | [Define if compiler implements __FUNCTION__]) | 3345 | [Define if compiler implements __FUNCTION__]) |
3255 | fi | 3346 | fi |
3256 | 3347 | ||
3257 | AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ | 3348 | AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ |
3258 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <stdio.h> ]], | 3349 | AC_TRY_LINK([ |
3259 | [[ printf("%s", __func__); ]])], | 3350 | #include <stdio.h> |
3260 | [ ac_cv_cc_implements___func__="yes" ], | 3351 | ], |
3261 | [ ac_cv_cc_implements___func__="no" | 3352 | [ printf("%s", __func__); ], |
3262 | ]) | 3353 | [ ac_cv_cc_implements___func__="yes" ], |
3354 | [ ac_cv_cc_implements___func__="no" ] | ||
3355 | ) | ||
3263 | ]) | 3356 | ]) |
3264 | if test "x$ac_cv_cc_implements___func__" = "xyes" ; then | 3357 | if test "x$ac_cv_cc_implements___func__" = "xyes" ; then |
3265 | AC_DEFINE([HAVE___func__], [1], [Define if compiler implements __func__]) | 3358 | AC_DEFINE(HAVE___func__, 1, [Define if compiler implements __func__]) |
3266 | fi | 3359 | fi |
3267 | 3360 | ||
3268 | AC_CACHE_CHECK([whether va_copy exists], ac_cv_have_va_copy, [ | 3361 | AC_CACHE_CHECK([whether va_copy exists], ac_cv_have_va_copy, [ |
3269 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 3362 | AC_TRY_LINK( |
3270 | #include <stdarg.h> | 3363 | [#include <stdarg.h> |
3271 | va_list x,y; | 3364 | va_list x,y;], |
3272 | ]], [[ va_copy(x,y); ]])], | 3365 | [va_copy(x,y);], |
3273 | [ ac_cv_have_va_copy="yes" ], | 3366 | [ ac_cv_have_va_copy="yes" ], |
3274 | [ ac_cv_have_va_copy="no" | 3367 | [ ac_cv_have_va_copy="no" ] |
3275 | ]) | 3368 | ) |
3276 | ]) | 3369 | ]) |
3277 | if test "x$ac_cv_have_va_copy" = "xyes" ; then | 3370 | if test "x$ac_cv_have_va_copy" = "xyes" ; then |
3278 | AC_DEFINE([HAVE_VA_COPY], [1], [Define if va_copy exists]) | 3371 | AC_DEFINE(HAVE_VA_COPY, 1, [Define if va_copy exists]) |
3279 | fi | 3372 | fi |
3280 | 3373 | ||
3281 | AC_CACHE_CHECK([whether __va_copy exists], ac_cv_have___va_copy, [ | 3374 | AC_CACHE_CHECK([whether __va_copy exists], ac_cv_have___va_copy, [ |
3282 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 3375 | AC_TRY_LINK( |
3283 | #include <stdarg.h> | 3376 | [#include <stdarg.h> |
3284 | va_list x,y; | 3377 | va_list x,y;], |
3285 | ]], [[ __va_copy(x,y); ]])], | 3378 | [__va_copy(x,y);], |
3286 | [ ac_cv_have___va_copy="yes" ], [ ac_cv_have___va_copy="no" | 3379 | [ ac_cv_have___va_copy="yes" ], |
3287 | ]) | 3380 | [ ac_cv_have___va_copy="no" ] |
3381 | ) | ||
3288 | ]) | 3382 | ]) |
3289 | if test "x$ac_cv_have___va_copy" = "xyes" ; then | 3383 | if test "x$ac_cv_have___va_copy" = "xyes" ; then |
3290 | AC_DEFINE([HAVE___VA_COPY], [1], [Define if __va_copy exists]) | 3384 | AC_DEFINE(HAVE___VA_COPY, 1, [Define if __va_copy exists]) |
3291 | fi | 3385 | fi |
3292 | 3386 | ||
3293 | AC_CACHE_CHECK([whether getopt has optreset support], | 3387 | AC_CACHE_CHECK([whether getopt has optreset support], |
3294 | ac_cv_have_getopt_optreset, [ | 3388 | ac_cv_have_getopt_optreset, [ |
3295 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include <getopt.h> ]], | 3389 | AC_TRY_LINK( |
3296 | [[ extern int optreset; optreset = 0; ]])], | 3390 | [ |
3297 | [ ac_cv_have_getopt_optreset="yes" ], | 3391 | #include <getopt.h> |
3298 | [ ac_cv_have_getopt_optreset="no" | 3392 | ], |
3299 | ]) | 3393 | [ extern int optreset; optreset = 0; ], |
3394 | [ ac_cv_have_getopt_optreset="yes" ], | ||
3395 | [ ac_cv_have_getopt_optreset="no" ] | ||
3396 | ) | ||
3300 | ]) | 3397 | ]) |
3301 | if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then | 3398 | if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then |
3302 | AC_DEFINE([HAVE_GETOPT_OPTRESET], [1], | 3399 | AC_DEFINE(HAVE_GETOPT_OPTRESET, 1, |
3303 | [Define if your getopt(3) defines and uses optreset]) | 3400 | [Define if your getopt(3) defines and uses optreset]) |
3304 | fi | 3401 | fi |
3305 | 3402 | ||
3306 | AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ | 3403 | AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ |
3307 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 3404 | AC_TRY_LINK([], |
3308 | [[ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);]])], | 3405 | [ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);], |
3309 | [ ac_cv_libc_defines_sys_errlist="yes" ], | 3406 | [ ac_cv_libc_defines_sys_errlist="yes" ], |
3310 | [ ac_cv_libc_defines_sys_errlist="no" | 3407 | [ ac_cv_libc_defines_sys_errlist="no" ] |
3311 | ]) | 3408 | ) |
3312 | ]) | 3409 | ]) |
3313 | if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then | 3410 | if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then |
3314 | AC_DEFINE([HAVE_SYS_ERRLIST], [1], | 3411 | AC_DEFINE(HAVE_SYS_ERRLIST, 1, |
3315 | [Define if your system defines sys_errlist[]]) | 3412 | [Define if your system defines sys_errlist[]]) |
3316 | fi | 3413 | fi |
3317 | 3414 | ||
3318 | 3415 | ||
3319 | AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ | 3416 | AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ |
3320 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], | 3417 | AC_TRY_LINK([], |
3321 | [[ extern int sys_nerr; printf("%i", sys_nerr);]])], | 3418 | [ extern int sys_nerr; printf("%i", sys_nerr);], |
3322 | [ ac_cv_libc_defines_sys_nerr="yes" ], | 3419 | [ ac_cv_libc_defines_sys_nerr="yes" ], |
3323 | [ ac_cv_libc_defines_sys_nerr="no" | 3420 | [ ac_cv_libc_defines_sys_nerr="no" ] |
3324 | ]) | 3421 | ) |
3325 | ]) | 3422 | ]) |
3326 | if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then | 3423 | if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then |
3327 | AC_DEFINE([HAVE_SYS_NERR], [1], [Define if your system defines sys_nerr]) | 3424 | AC_DEFINE(HAVE_SYS_NERR, 1, [Define if your system defines sys_nerr]) |
3328 | fi | 3425 | fi |
3329 | 3426 | ||
3330 | # Check libraries needed by DNS fingerprint support | 3427 | # Check libraries needed by DNS fingerprint support |
3331 | AC_SEARCH_LIBS([getrrsetbyname], [resolv], | 3428 | AC_SEARCH_LIBS(getrrsetbyname, resolv, |
3332 | [AC_DEFINE([HAVE_GETRRSETBYNAME], [1], | 3429 | [AC_DEFINE(HAVE_GETRRSETBYNAME, 1, |
3333 | [Define if getrrsetbyname() exists])], | 3430 | [Define if getrrsetbyname() exists])], |
3334 | [ | 3431 | [ |
3335 | # Needed by our getrrsetbyname() | 3432 | # Needed by our getrrsetbyname() |
3336 | AC_SEARCH_LIBS([res_query], [resolv]) | 3433 | AC_SEARCH_LIBS(res_query, resolv) |
3337 | AC_SEARCH_LIBS([dn_expand], [resolv]) | 3434 | AC_SEARCH_LIBS(dn_expand, resolv) |
3338 | AC_MSG_CHECKING([if res_query will link]) | 3435 | AC_MSG_CHECKING(if res_query will link) |
3339 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 3436 | AC_LINK_IFELSE([ |
3437 | #include "confdefs.h" | ||
3340 | #include <sys/types.h> | 3438 | #include <sys/types.h> |
3341 | #include <netinet/in.h> | 3439 | #include <netinet/in.h> |
3342 | #include <arpa/nameser.h> | 3440 | #include <arpa/nameser.h> |
3343 | #include <netdb.h> | 3441 | #include <netdb.h> |
3344 | #include <resolv.h> | 3442 | #include <resolv.h> |
3345 | ]], [[ | 3443 | int main() |
3444 | { | ||
3346 | res_query (0, 0, 0, 0, 0); | 3445 | res_query (0, 0, 0, 0, 0); |
3347 | ]])], | 3446 | return 0; |
3348 | AC_MSG_RESULT([yes]), | 3447 | } |
3349 | [AC_MSG_RESULT([no]) | 3448 | ], |
3449 | AC_MSG_RESULT(yes), | ||
3450 | [AC_MSG_RESULT(no) | ||
3350 | saved_LIBS="$LIBS" | 3451 | saved_LIBS="$LIBS" |
3351 | LIBS="$LIBS -lresolv" | 3452 | LIBS="$LIBS -lresolv" |
3352 | AC_MSG_CHECKING([for res_query in -lresolv]) | 3453 | AC_MSG_CHECKING(for res_query in -lresolv) |
3353 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 3454 | AC_LINK_IFELSE([ |
3455 | #include "confdefs.h" | ||
3354 | #include <sys/types.h> | 3456 | #include <sys/types.h> |
3355 | #include <netinet/in.h> | 3457 | #include <netinet/in.h> |
3356 | #include <arpa/nameser.h> | 3458 | #include <arpa/nameser.h> |
3357 | #include <netdb.h> | 3459 | #include <netdb.h> |
3358 | #include <resolv.h> | 3460 | #include <resolv.h> |
3359 | ]], [[ | 3461 | int main() |
3462 | { | ||
3360 | res_query (0, 0, 0, 0, 0); | 3463 | res_query (0, 0, 0, 0, 0); |
3361 | ]])], | 3464 | return 0; |
3362 | [AC_MSG_RESULT([yes])], | 3465 | } |
3466 | ], | ||
3467 | [AC_MSG_RESULT(yes)], | ||
3363 | [LIBS="$saved_LIBS" | 3468 | [LIBS="$saved_LIBS" |
3364 | AC_MSG_RESULT([no])]) | 3469 | AC_MSG_RESULT(no)]) |
3365 | ]) | 3470 | ]) |
3366 | AC_CHECK_FUNCS([_getshort _getlong]) | 3471 | AC_CHECK_FUNCS(_getshort _getlong) |
3367 | AC_CHECK_DECLS([_getshort, _getlong], , , | 3472 | AC_CHECK_DECLS([_getshort, _getlong], , , |
3368 | [#include <sys/types.h> | 3473 | [#include <sys/types.h> |
3369 | #include <arpa/nameser.h>]) | 3474 | #include <arpa/nameser.h>]) |
3370 | AC_CHECK_MEMBER([HEADER.ad], | 3475 | AC_CHECK_MEMBER(HEADER.ad, |
3371 | [AC_DEFINE([HAVE_HEADER_AD], [1], | 3476 | [AC_DEFINE(HAVE_HEADER_AD, 1, |
3372 | [Define if HEADER.ad exists in arpa/nameser.h])], , | 3477 | [Define if HEADER.ad exists in arpa/nameser.h])],, |
3373 | [#include <arpa/nameser.h>]) | 3478 | [#include <arpa/nameser.h>]) |
3374 | ]) | 3479 | ]) |
3375 | 3480 | ||
3376 | AC_MSG_CHECKING([if struct __res_state _res is an extern]) | 3481 | AC_MSG_CHECKING(if struct __res_state _res is an extern) |
3377 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | 3482 | AC_LINK_IFELSE([ |
3378 | #include <stdio.h> | 3483 | #include <stdio.h> |
3379 | #if HAVE_SYS_TYPES_H | 3484 | #if HAVE_SYS_TYPES_H |
3380 | # include <sys/types.h> | 3485 | # include <sys/types.h> |
@@ -3383,43 +3488,43 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ | |||
3383 | #include <arpa/nameser.h> | 3488 | #include <arpa/nameser.h> |
3384 | #include <resolv.h> | 3489 | #include <resolv.h> |
3385 | extern struct __res_state _res; | 3490 | extern struct __res_state _res; |
3386 | ]], [[ ]])], | 3491 | int main() { return 0; } |
3387 | [AC_MSG_RESULT([yes]) | 3492 | ], |
3388 | AC_DEFINE([HAVE__RES_EXTERN], [1], | 3493 | [AC_MSG_RESULT(yes) |
3494 | AC_DEFINE(HAVE__RES_EXTERN, 1, | ||
3389 | [Define if you have struct __res_state _res as an extern]) | 3495 | [Define if you have struct __res_state _res as an extern]) |
3390 | ], | 3496 | ], |
3391 | [ AC_MSG_RESULT([no]) ] | 3497 | [ AC_MSG_RESULT(no) ] |
3392 | ) | 3498 | ) |
3393 | 3499 | ||
3394 | # Check whether user wants SELinux support | 3500 | # Check whether user wants SELinux support |
3395 | SELINUX_MSG="no" | 3501 | SELINUX_MSG="no" |
3396 | LIBSELINUX="" | 3502 | LIBSELINUX="" |
3397 | AC_ARG_WITH([selinux], | 3503 | AC_ARG_WITH(selinux, |
3398 | [ --with-selinux Enable SELinux support], | 3504 | [ --with-selinux Enable SELinux support], |
3399 | [ if test "x$withval" != "xno" ; then | 3505 | [ if test "x$withval" != "xno" ; then |
3400 | save_LIBS="$LIBS" | 3506 | save_LIBS="$LIBS" |
3401 | AC_DEFINE([WITH_SELINUX], [1], | 3507 | AC_DEFINE(WITH_SELINUX,1,[Define if you want SELinux support.]) |
3402 | [Define if you want SELinux support.]) | ||
3403 | SELINUX_MSG="yes" | 3508 | SELINUX_MSG="yes" |
3404 | AC_CHECK_HEADER([selinux/selinux.h], , | 3509 | AC_CHECK_HEADER([selinux/selinux.h], , |
3405 | AC_MSG_ERROR([SELinux support requires selinux.h header])) | 3510 | AC_MSG_ERROR(SELinux support requires selinux.h header)) |
3406 | AC_CHECK_LIB([selinux], [setexeccon], | 3511 | AC_CHECK_LIB(selinux, setexeccon, |
3407 | [ LIBSELINUX="-lselinux" | 3512 | [ LIBSELINUX="-lselinux" |
3408 | LIBS="$LIBS -lselinux" | 3513 | LIBS="$LIBS -lselinux" |
3409 | ], | 3514 | ], |
3410 | AC_MSG_ERROR([SELinux support requires libselinux library])) | 3515 | AC_MSG_ERROR(SELinux support requires libselinux library)) |
3411 | SSHLIBS="$SSHLIBS $LIBSELINUX" | 3516 | SSHLIBS="$SSHLIBS $LIBSELINUX" |
3412 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" | 3517 | SSHDLIBS="$SSHDLIBS $LIBSELINUX" |
3413 | AC_CHECK_FUNCS([getseuserbyname get_default_context_with_level]) | 3518 | AC_CHECK_FUNCS(getseuserbyname get_default_context_with_level) |
3414 | LIBS="$save_LIBS" | 3519 | LIBS="$save_LIBS" |
3415 | fi ] | 3520 | fi ] |
3416 | ) | 3521 | ) |
3417 | AC_SUBST([SSHLIBS]) | 3522 | AC_SUBST(SSHLIBS) |
3418 | AC_SUBST([SSHDLIBS]) | 3523 | AC_SUBST(SSHDLIBS) |
3419 | 3524 | ||
3420 | # Check whether user wants Kerberos 5 support | 3525 | # Check whether user wants Kerberos 5 support |
3421 | KRB5_MSG="no" | 3526 | KRB5_MSG="no" |
3422 | AC_ARG_WITH([kerberos5], | 3527 | AC_ARG_WITH(kerberos5, |
3423 | [ --with-kerberos5=PATH Enable Kerberos 5 support], | 3528 | [ --with-kerberos5=PATH Enable Kerberos 5 support], |
3424 | [ if test "x$withval" != "xno" ; then | 3529 | [ if test "x$withval" != "xno" ; then |
3425 | if test "x$withval" = "xyes" ; then | 3530 | if test "x$withval" = "xyes" ; then |
@@ -3428,72 +3533,73 @@ AC_ARG_WITH([kerberos5], | |||
3428 | KRB5ROOT=${withval} | 3533 | KRB5ROOT=${withval} |
3429 | fi | 3534 | fi |
3430 | 3535 | ||
3431 | AC_DEFINE([KRB5], [1], [Define if you want Kerberos 5 support]) | 3536 | AC_DEFINE(KRB5, 1, [Define if you want Kerberos 5 support]) |
3432 | KRB5_MSG="yes" | 3537 | KRB5_MSG="yes" |
3433 | 3538 | ||
3434 | AC_PATH_PROG([KRB5CONF], [krb5-config], | 3539 | AC_PATH_PROG([KRB5CONF],[krb5-config], |
3435 | [$KRB5ROOT/bin/krb5-config], | 3540 | [$KRB5ROOT/bin/krb5-config], |
3436 | [$KRB5ROOT/bin:$PATH]) | 3541 | [$KRB5ROOT/bin:$PATH]) |
3437 | if test -x $KRB5CONF ; then | 3542 | if test -x $KRB5CONF ; then |
3438 | 3543 | ||
3439 | AC_MSG_CHECKING([for gssapi support]) | 3544 | AC_MSG_CHECKING(for gssapi support) |
3440 | if $KRB5CONF | grep gssapi >/dev/null ; then | 3545 | if $KRB5CONF | grep gssapi >/dev/null ; then |
3441 | AC_MSG_RESULT([yes]) | 3546 | AC_MSG_RESULT(yes) |
3442 | AC_DEFINE([GSSAPI], [1], | 3547 | AC_DEFINE(GSSAPI, 1, |
3443 | [Define this if you want GSSAPI | 3548 | [Define this if you want GSSAPI |
3444 | support in the version 2 protocol]) | 3549 | support in the version 2 protocol]) |
3445 | k5confopts=gssapi | 3550 | k5confopts=gssapi |
3446 | else | 3551 | else |
3447 | AC_MSG_RESULT([no]) | 3552 | AC_MSG_RESULT(no) |
3448 | k5confopts="" | 3553 | k5confopts="" |
3449 | fi | 3554 | fi |
3450 | K5CFLAGS="`$KRB5CONF --cflags $k5confopts`" | 3555 | K5CFLAGS="`$KRB5CONF --cflags $k5confopts`" |
3451 | K5LIBS="`$KRB5CONF --libs $k5confopts`" | 3556 | K5LIBS="`$KRB5CONF --libs $k5confopts`" |
3452 | CPPFLAGS="$CPPFLAGS $K5CFLAGS" | 3557 | CPPFLAGS="$CPPFLAGS $K5CFLAGS" |
3453 | AC_MSG_CHECKING([whether we are using Heimdal]) | 3558 | AC_MSG_CHECKING(whether we are using Heimdal) |
3454 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <krb5.h> | 3559 | AC_TRY_COMPILE([ #include <krb5.h> ], |
3455 | ]], [[ char *tmp = heimdal_version; ]])], | 3560 | [ char *tmp = heimdal_version; ], |
3456 | [ AC_MSG_RESULT([yes]) | 3561 | [ AC_MSG_RESULT(yes) |
3457 | AC_DEFINE([HEIMDAL], [1], | 3562 | AC_DEFINE(HEIMDAL, 1, |
3458 | [Define this if you are using the Heimdal | 3563 | [Define this if you are using the |
3459 | version of Kerberos V5]) ], | 3564 | Heimdal version of Kerberos V5]) ], |
3460 | [AC_MSG_RESULT([no]) | 3565 | AC_MSG_RESULT(no) |
3461 | ]) | 3566 | ) |
3462 | else | 3567 | else |
3463 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" | 3568 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" |
3464 | LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" | 3569 | LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" |
3465 | AC_MSG_CHECKING([whether we are using Heimdal]) | 3570 | AC_MSG_CHECKING(whether we are using Heimdal) |
3466 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <krb5.h> | 3571 | AC_TRY_COMPILE([ #include <krb5.h> ], |
3467 | ]], [[ char *tmp = heimdal_version; ]])], | 3572 | [ char *tmp = heimdal_version; ], |
3468 | [ AC_MSG_RESULT([yes]) | 3573 | [ AC_MSG_RESULT(yes) |
3469 | AC_DEFINE([HEIMDAL]) | 3574 | AC_DEFINE(HEIMDAL) |
3470 | K5LIBS="-lkrb5" | 3575 | K5LIBS="-lkrb5" |
3471 | K5LIBS="$K5LIBS -lcom_err -lasn1" | 3576 | K5LIBS="$K5LIBS -lcom_err -lasn1" |
3472 | AC_CHECK_LIB([roken], [net_write], | 3577 | AC_CHECK_LIB(roken, net_write, |
3473 | [K5LIBS="$K5LIBS -lroken"]) | 3578 | [K5LIBS="$K5LIBS -lroken"]) |
3474 | AC_CHECK_LIB([des], [des_cbc_encrypt], | 3579 | AC_CHECK_LIB(des, des_cbc_encrypt, |
3475 | [K5LIBS="$K5LIBS -ldes"]) | 3580 | [K5LIBS="$K5LIBS -ldes"]) |
3476 | ], [ AC_MSG_RESULT([no]) | 3581 | ], |
3582 | [ AC_MSG_RESULT(no) | ||
3477 | K5LIBS="-lkrb5 -lk5crypto -lcom_err" | 3583 | K5LIBS="-lkrb5 -lk5crypto -lcom_err" |
3478 | 3584 | ] | |
3479 | ]) | 3585 | ) |
3480 | AC_SEARCH_LIBS([dn_expand], [resolv]) | 3586 | AC_SEARCH_LIBS(dn_expand, resolv) |
3481 | 3587 | ||
3482 | AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context], | 3588 | AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context, |
3483 | [ AC_DEFINE([GSSAPI]) | 3589 | [ AC_DEFINE(GSSAPI) |
3484 | K5LIBS="-lgssapi_krb5 $K5LIBS" ], | 3590 | K5LIBS="-lgssapi_krb5 $K5LIBS" ], |
3485 | [ AC_CHECK_LIB([gssapi], [gss_init_sec_context], | 3591 | [ AC_CHECK_LIB(gssapi, gss_init_sec_context, |
3486 | [ AC_DEFINE([GSSAPI]) | 3592 | [ AC_DEFINE(GSSAPI) |
3487 | K5LIBS="-lgssapi $K5LIBS" ], | 3593 | K5LIBS="-lgssapi $K5LIBS" ], |
3488 | AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), | 3594 | AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), |
3489 | $K5LIBS) | 3595 | $K5LIBS) |
3490 | ], | 3596 | ], |
3491 | $K5LIBS) | 3597 | $K5LIBS) |
3492 | 3598 | ||
3493 | AC_CHECK_HEADER([gssapi.h], , | 3599 | AC_CHECK_HEADER(gssapi.h, , |
3494 | [ unset ac_cv_header_gssapi_h | 3600 | [ unset ac_cv_header_gssapi_h |
3495 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" | 3601 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" |
3496 | AC_CHECK_HEADERS([gssapi.h], , | 3602 | AC_CHECK_HEADERS(gssapi.h, , |
3497 | AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail]) | 3603 | AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail]) |
3498 | ) | 3604 | ) |
3499 | ] | 3605 | ] |
@@ -3501,7 +3607,7 @@ AC_ARG_WITH([kerberos5], | |||
3501 | 3607 | ||
3502 | oldCPP="$CPPFLAGS" | 3608 | oldCPP="$CPPFLAGS" |
3503 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" | 3609 | CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" |
3504 | AC_CHECK_HEADER([gssapi_krb5.h], , | 3610 | AC_CHECK_HEADER(gssapi_krb5.h, , |
3505 | [ CPPFLAGS="$oldCPP" ]) | 3611 | [ CPPFLAGS="$oldCPP" ]) |
3506 | 3612 | ||
3507 | fi | 3613 | fi |
@@ -3512,13 +3618,13 @@ AC_ARG_WITH([kerberos5], | |||
3512 | blibpath="$blibpath:${KRB5ROOT}/lib" | 3618 | blibpath="$blibpath:${KRB5ROOT}/lib" |
3513 | fi | 3619 | fi |
3514 | 3620 | ||
3515 | AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h]) | 3621 | AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h) |
3516 | AC_CHECK_HEADERS([gssapi_krb5.h gssapi/gssapi_krb5.h]) | 3622 | AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h) |
3517 | AC_CHECK_HEADERS([gssapi_generic.h gssapi/gssapi_generic.h]) | 3623 | AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h) |
3518 | 3624 | ||
3519 | LIBS="$LIBS $K5LIBS" | 3625 | LIBS="$LIBS $K5LIBS" |
3520 | AC_SEARCH_LIBS([k_hasafs], [kafs], [AC_DEFINE([USE_AFS], [1], | 3626 | AC_SEARCH_LIBS(k_hasafs, kafs, AC_DEFINE(USE_AFS, 1, |
3521 | [Define this if you want to use libkafs' AFS support])]) | 3627 | [Define this if you want to use libkafs' AFS support])) |
3522 | fi | 3628 | fi |
3523 | ] | 3629 | ] |
3524 | ) | 3630 | ) |
@@ -3526,7 +3632,7 @@ AC_ARG_WITH([kerberos5], | |||
3526 | # Looking for programs, paths and files | 3632 | # Looking for programs, paths and files |
3527 | 3633 | ||
3528 | PRIVSEP_PATH=/var/empty | 3634 | PRIVSEP_PATH=/var/empty |
3529 | AC_ARG_WITH([privsep-path], | 3635 | AC_ARG_WITH(privsep-path, |
3530 | [ --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)], | 3636 | [ --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)], |
3531 | [ | 3637 | [ |
3532 | if test -n "$withval" && test "x$withval" != "xno" && \ | 3638 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -3535,9 +3641,9 @@ AC_ARG_WITH([privsep-path], | |||
3535 | fi | 3641 | fi |
3536 | ] | 3642 | ] |
3537 | ) | 3643 | ) |
3538 | AC_SUBST([PRIVSEP_PATH]) | 3644 | AC_SUBST(PRIVSEP_PATH) |
3539 | 3645 | ||
3540 | AC_ARG_WITH([xauth], | 3646 | AC_ARG_WITH(xauth, |
3541 | [ --with-xauth=PATH Specify path to xauth program ], | 3647 | [ --with-xauth=PATH Specify path to xauth program ], |
3542 | [ | 3648 | [ |
3543 | if test -n "$withval" && test "x$withval" != "xno" && \ | 3649 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -3551,7 +3657,7 @@ AC_ARG_WITH([xauth], | |||
3551 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11" | 3657 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11" |
3552 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin" | 3658 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin" |
3553 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin" | 3659 | TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin" |
3554 | AC_PATH_PROG([xauth_path], [xauth], , [$TestPath]) | 3660 | AC_PATH_PROG(xauth_path, xauth, , $TestPath) |
3555 | if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then | 3661 | if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then |
3556 | xauth_path="/usr/openwin/bin/xauth" | 3662 | xauth_path="/usr/openwin/bin/xauth" |
3557 | fi | 3663 | fi |
@@ -3559,7 +3665,7 @@ AC_ARG_WITH([xauth], | |||
3559 | ) | 3665 | ) |
3560 | 3666 | ||
3561 | STRIP_OPT=-s | 3667 | STRIP_OPT=-s |
3562 | AC_ARG_ENABLE([strip], | 3668 | AC_ARG_ENABLE(strip, |
3563 | [ --disable-strip Disable calling strip(1) on install], | 3669 | [ --disable-strip Disable calling strip(1) on install], |
3564 | [ | 3670 | [ |
3565 | if test "x$enableval" = "xno" ; then | 3671 | if test "x$enableval" = "xno" ; then |
@@ -3567,22 +3673,22 @@ AC_ARG_ENABLE([strip], | |||
3567 | fi | 3673 | fi |
3568 | ] | 3674 | ] |
3569 | ) | 3675 | ) |
3570 | AC_SUBST([STRIP_OPT]) | 3676 | AC_SUBST(STRIP_OPT) |
3571 | 3677 | ||
3572 | if test -z "$xauth_path" ; then | 3678 | if test -z "$xauth_path" ; then |
3573 | XAUTH_PATH="undefined" | 3679 | XAUTH_PATH="undefined" |
3574 | AC_SUBST([XAUTH_PATH]) | 3680 | AC_SUBST(XAUTH_PATH) |
3575 | else | 3681 | else |
3576 | AC_DEFINE_UNQUOTED([XAUTH_PATH], ["$xauth_path"], | 3682 | AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path", |
3577 | [Define if xauth is found in your path]) | 3683 | [Define if xauth is found in your path]) |
3578 | XAUTH_PATH=$xauth_path | 3684 | XAUTH_PATH=$xauth_path |
3579 | AC_SUBST([XAUTH_PATH]) | 3685 | AC_SUBST(XAUTH_PATH) |
3580 | fi | 3686 | fi |
3581 | 3687 | ||
3582 | # Check for mail directory (last resort if we cannot get it from headers) | 3688 | # Check for mail directory (last resort if we cannot get it from headers) |
3583 | if test ! -z "$MAIL" ; then | 3689 | if test ! -z "$MAIL" ; then |
3584 | maildir=`dirname $MAIL` | 3690 | maildir=`dirname $MAIL` |
3585 | AC_DEFINE_UNQUOTED([MAIL_DIRECTORY], ["$maildir"], | 3691 | AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir", |
3586 | [Set this to your mail directory if you don't have maillock.h]) | 3692 | [Set this to your mail directory if you don't have maillock.h]) |
3587 | fi | 3693 | fi |
3588 | 3694 | ||
@@ -3592,9 +3698,9 @@ if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then | |||
3592 | fi | 3698 | fi |
3593 | if test -z "$no_dev_ptmx" ; then | 3699 | if test -z "$no_dev_ptmx" ; then |
3594 | if test "x$disable_ptmx_check" != "xyes" ; then | 3700 | if test "x$disable_ptmx_check" != "xyes" ; then |
3595 | AC_CHECK_FILE(["/dev/ptmx"], | 3701 | AC_CHECK_FILE("/dev/ptmx", |
3596 | [ | 3702 | [ |
3597 | AC_DEFINE_UNQUOTED([HAVE_DEV_PTMX], [1], | 3703 | AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX, 1, |
3598 | [Define if you have /dev/ptmx]) | 3704 | [Define if you have /dev/ptmx]) |
3599 | have_dev_ptmx=1 | 3705 | have_dev_ptmx=1 |
3600 | ] | 3706 | ] |
@@ -3603,9 +3709,9 @@ if test -z "$no_dev_ptmx" ; then | |||
3603 | fi | 3709 | fi |
3604 | 3710 | ||
3605 | if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then | 3711 | if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then |
3606 | AC_CHECK_FILE(["/dev/ptc"], | 3712 | AC_CHECK_FILE("/dev/ptc", |
3607 | [ | 3713 | [ |
3608 | AC_DEFINE_UNQUOTED([HAVE_DEV_PTS_AND_PTC], [1], | 3714 | AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC, 1, |
3609 | [Define if you have /dev/ptc]) | 3715 | [Define if you have /dev/ptc]) |
3610 | have_dev_ptc=1 | 3716 | have_dev_ptc=1 |
3611 | ] | 3717 | ] |
@@ -3615,7 +3721,7 @@ else | |||
3615 | fi | 3721 | fi |
3616 | 3722 | ||
3617 | # Options from here on. Some of these are preset by platform above | 3723 | # Options from here on. Some of these are preset by platform above |
3618 | AC_ARG_WITH([mantype], | 3724 | AC_ARG_WITH(mantype, |
3619 | [ --with-mantype=man|cat|doc Set man page type], | 3725 | [ --with-mantype=man|cat|doc Set man page type], |
3620 | [ | 3726 | [ |
3621 | case "$withval" in | 3727 | case "$withval" in |
@@ -3623,14 +3729,14 @@ AC_ARG_WITH([mantype], | |||
3623 | MANTYPE=$withval | 3729 | MANTYPE=$withval |
3624 | ;; | 3730 | ;; |
3625 | *) | 3731 | *) |
3626 | AC_MSG_ERROR([invalid man type: $withval]) | 3732 | AC_MSG_ERROR(invalid man type: $withval) |
3627 | ;; | 3733 | ;; |
3628 | esac | 3734 | esac |
3629 | ] | 3735 | ] |
3630 | ) | 3736 | ) |
3631 | if test -z "$MANTYPE"; then | 3737 | if test -z "$MANTYPE"; then |
3632 | TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" | 3738 | TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" |
3633 | AC_PATH_PROGS([NROFF], [nroff awf], [/bin/false], [$TestPath]) | 3739 | AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) |
3634 | if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then | 3740 | if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then |
3635 | MANTYPE=doc | 3741 | MANTYPE=doc |
3636 | elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then | 3742 | elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then |
@@ -3639,21 +3745,21 @@ if test -z "$MANTYPE"; then | |||
3639 | MANTYPE=cat | 3745 | MANTYPE=cat |
3640 | fi | 3746 | fi |
3641 | fi | 3747 | fi |
3642 | AC_SUBST([MANTYPE]) | 3748 | AC_SUBST(MANTYPE) |
3643 | if test "$MANTYPE" = "doc"; then | 3749 | if test "$MANTYPE" = "doc"; then |
3644 | mansubdir=man; | 3750 | mansubdir=man; |
3645 | else | 3751 | else |
3646 | mansubdir=$MANTYPE; | 3752 | mansubdir=$MANTYPE; |
3647 | fi | 3753 | fi |
3648 | AC_SUBST([mansubdir]) | 3754 | AC_SUBST(mansubdir) |
3649 | 3755 | ||
3650 | # Check whether to enable MD5 passwords | 3756 | # Check whether to enable MD5 passwords |
3651 | MD5_MSG="no" | 3757 | MD5_MSG="no" |
3652 | AC_ARG_WITH([md5-passwords], | 3758 | AC_ARG_WITH(md5-passwords, |
3653 | [ --with-md5-passwords Enable use of MD5 passwords], | 3759 | [ --with-md5-passwords Enable use of MD5 passwords], |
3654 | [ | 3760 | [ |
3655 | if test "x$withval" != "xno" ; then | 3761 | if test "x$withval" != "xno" ; then |
3656 | AC_DEFINE([HAVE_MD5_PASSWORDS], [1], | 3762 | AC_DEFINE(HAVE_MD5_PASSWORDS, 1, |
3657 | [Define if you want to allow MD5 passwords]) | 3763 | [Define if you want to allow MD5 passwords]) |
3658 | MD5_MSG="yes" | 3764 | MD5_MSG="yes" |
3659 | fi | 3765 | fi |
@@ -3661,11 +3767,11 @@ AC_ARG_WITH([md5-passwords], | |||
3661 | ) | 3767 | ) |
3662 | 3768 | ||
3663 | # Whether to disable shadow password support | 3769 | # Whether to disable shadow password support |
3664 | AC_ARG_WITH([shadow], | 3770 | AC_ARG_WITH(shadow, |
3665 | [ --without-shadow Disable shadow password support], | 3771 | [ --without-shadow Disable shadow password support], |
3666 | [ | 3772 | [ |
3667 | if test "x$withval" = "xno" ; then | 3773 | if test "x$withval" = "xno" ; then |
3668 | AC_DEFINE([DISABLE_SHADOW]) | 3774 | AC_DEFINE(DISABLE_SHADOW) |
3669 | disable_shadow=yes | 3775 | disable_shadow=yes |
3670 | fi | 3776 | fi |
3671 | ] | 3777 | ] |
@@ -3673,36 +3779,37 @@ AC_ARG_WITH([shadow], | |||
3673 | 3779 | ||
3674 | if test -z "$disable_shadow" ; then | 3780 | if test -z "$disable_shadow" ; then |
3675 | AC_MSG_CHECKING([if the systems has expire shadow information]) | 3781 | AC_MSG_CHECKING([if the systems has expire shadow information]) |
3676 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 3782 | AC_TRY_COMPILE( |
3783 | [ | ||
3677 | #include <sys/types.h> | 3784 | #include <sys/types.h> |
3678 | #include <shadow.h> | 3785 | #include <shadow.h> |
3679 | struct spwd sp; | 3786 | struct spwd sp; |
3680 | ]], [[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ]])], | 3787 | ],[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ], |
3681 | [ sp_expire_available=yes ], [ | 3788 | [ sp_expire_available=yes ], [] |
3682 | ]) | 3789 | ) |
3683 | 3790 | ||
3684 | if test "x$sp_expire_available" = "xyes" ; then | 3791 | if test "x$sp_expire_available" = "xyes" ; then |
3685 | AC_MSG_RESULT([yes]) | 3792 | AC_MSG_RESULT(yes) |
3686 | AC_DEFINE([HAS_SHADOW_EXPIRE], [1], | 3793 | AC_DEFINE(HAS_SHADOW_EXPIRE, 1, |
3687 | [Define if you want to use shadow password expire field]) | 3794 | [Define if you want to use shadow password expire field]) |
3688 | else | 3795 | else |
3689 | AC_MSG_RESULT([no]) | 3796 | AC_MSG_RESULT(no) |
3690 | fi | 3797 | fi |
3691 | fi | 3798 | fi |
3692 | 3799 | ||
3693 | # Use ip address instead of hostname in $DISPLAY | 3800 | # Use ip address instead of hostname in $DISPLAY |
3694 | if test ! -z "$IPADDR_IN_DISPLAY" ; then | 3801 | if test ! -z "$IPADDR_IN_DISPLAY" ; then |
3695 | DISPLAY_HACK_MSG="yes" | 3802 | DISPLAY_HACK_MSG="yes" |
3696 | AC_DEFINE([IPADDR_IN_DISPLAY], [1], | 3803 | AC_DEFINE(IPADDR_IN_DISPLAY, 1, |
3697 | [Define if you need to use IP address | 3804 | [Define if you need to use IP address |
3698 | instead of hostname in $DISPLAY]) | 3805 | instead of hostname in $DISPLAY]) |
3699 | else | 3806 | else |
3700 | DISPLAY_HACK_MSG="no" | 3807 | DISPLAY_HACK_MSG="no" |
3701 | AC_ARG_WITH([ipaddr-display], | 3808 | AC_ARG_WITH(ipaddr-display, |
3702 | [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], | 3809 | [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], |
3703 | [ | 3810 | [ |
3704 | if test "x$withval" != "xno" ; then | 3811 | if test "x$withval" != "xno" ; then |
3705 | AC_DEFINE([IPADDR_IN_DISPLAY]) | 3812 | AC_DEFINE(IPADDR_IN_DISPLAY) |
3706 | DISPLAY_HACK_MSG="yes" | 3813 | DISPLAY_HACK_MSG="yes" |
3707 | fi | 3814 | fi |
3708 | ] | 3815 | ] |
@@ -3710,7 +3817,7 @@ else | |||
3710 | fi | 3817 | fi |
3711 | 3818 | ||
3712 | # check for /etc/default/login and use it if present. | 3819 | # check for /etc/default/login and use it if present. |
3713 | AC_ARG_ENABLE([etc-default-login], | 3820 | AC_ARG_ENABLE(etc-default-login, |
3714 | [ --disable-etc-default-login Disable using PATH from /etc/default/login [no]], | 3821 | [ --disable-etc-default-login Disable using PATH from /etc/default/login [no]], |
3715 | [ if test "x$enableval" = "xno"; then | 3822 | [ if test "x$enableval" = "xno"; then |
3716 | AC_MSG_NOTICE([/etc/default/login handling disabled]) | 3823 | AC_MSG_NOTICE([/etc/default/login handling disabled]) |
@@ -3728,10 +3835,10 @@ AC_ARG_ENABLE([etc-default-login], | |||
3728 | ) | 3835 | ) |
3729 | 3836 | ||
3730 | if test "x$etc_default_login" != "xno"; then | 3837 | if test "x$etc_default_login" != "xno"; then |
3731 | AC_CHECK_FILE(["/etc/default/login"], | 3838 | AC_CHECK_FILE("/etc/default/login", |
3732 | [ external_path_file=/etc/default/login ]) | 3839 | [ external_path_file=/etc/default/login ]) |
3733 | if test "x$external_path_file" = "x/etc/default/login"; then | 3840 | if test "x$external_path_file" = "x/etc/default/login"; then |
3734 | AC_DEFINE([HAVE_ETC_DEFAULT_LOGIN], [1], | 3841 | AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN, 1, |
3735 | [Define if your system has /etc/default/login]) | 3842 | [Define if your system has /etc/default/login]) |
3736 | fi | 3843 | fi |
3737 | fi | 3844 | fi |
@@ -3744,7 +3851,7 @@ fi | |||
3744 | 3851 | ||
3745 | # Whether to mess with the default path | 3852 | # Whether to mess with the default path |
3746 | SERVER_PATH_MSG="(default)" | 3853 | SERVER_PATH_MSG="(default)" |
3747 | AC_ARG_WITH([default-path], | 3854 | AC_ARG_WITH(default-path, |
3748 | [ --with-default-path= Specify default \$PATH environment for server], | 3855 | [ --with-default-path= Specify default \$PATH environment for server], |
3749 | [ | 3856 | [ |
3750 | if test "x$external_path_file" = "x/etc/login.conf" ; then | 3857 | 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, | |||
3770 | otherwise scp will not work.]) | 3877 | otherwise scp will not work.]) |
3771 | fi | 3878 | fi |
3772 | AC_RUN_IFELSE( | 3879 | AC_RUN_IFELSE( |
3773 | [AC_LANG_PROGRAM([[ | 3880 | [AC_LANG_SOURCE([[ |
3774 | /* find out what STDPATH is */ | 3881 | /* find out what STDPATH is */ |
3775 | #include <stdio.h> | 3882 | #include <stdio.h> |
3776 | #ifdef HAVE_PATHS_H | 3883 | #ifdef HAVE_PATHS_H |
@@ -3787,7 +3894,9 @@ otherwise scp will not work.]) | |||
3787 | #include <sys/stat.h> | 3894 | #include <sys/stat.h> |
3788 | #include <fcntl.h> | 3895 | #include <fcntl.h> |
3789 | #define DATA "conftest.stdpath" | 3896 | #define DATA "conftest.stdpath" |
3790 | ]], [[ | 3897 | |
3898 | main() | ||
3899 | { | ||
3791 | FILE *fd; | 3900 | FILE *fd; |
3792 | int rc; | 3901 | int rc; |
3793 | 3902 | ||
@@ -3799,6 +3908,7 @@ otherwise scp will not work.]) | |||
3799 | exit(1); | 3908 | exit(1); |
3800 | 3909 | ||
3801 | exit(0); | 3910 | exit(0); |
3911 | } | ||
3802 | ]])], | 3912 | ]])], |
3803 | [ user_path=`cat conftest.stdpath` ], | 3913 | [ user_path=`cat conftest.stdpath` ], |
3804 | [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ], | 3914 | [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ], |
@@ -3817,23 +3927,23 @@ otherwise scp will not work.]) | |||
3817 | echo $user_path | grep "^$t_bindir" > /dev/null 2>&1 | 3927 | echo $user_path | grep "^$t_bindir" > /dev/null 2>&1 |
3818 | if test $? -ne 0 ; then | 3928 | if test $? -ne 0 ; then |
3819 | user_path=$user_path:$t_bindir | 3929 | user_path=$user_path:$t_bindir |
3820 | AC_MSG_RESULT([Adding $t_bindir to USER_PATH so scp will work]) | 3930 | AC_MSG_RESULT(Adding $t_bindir to USER_PATH so scp will work) |
3821 | fi | 3931 | fi |
3822 | fi | 3932 | fi |
3823 | fi ] | 3933 | fi ] |
3824 | ) | 3934 | ) |
3825 | if test "x$external_path_file" != "x/etc/login.conf" ; then | 3935 | if test "x$external_path_file" != "x/etc/login.conf" ; then |
3826 | AC_DEFINE_UNQUOTED([USER_PATH], ["$user_path"], [Specify default $PATH]) | 3936 | AC_DEFINE_UNQUOTED(USER_PATH, "$user_path", [Specify default $PATH]) |
3827 | AC_SUBST([user_path]) | 3937 | AC_SUBST(user_path) |
3828 | fi | 3938 | fi |
3829 | 3939 | ||
3830 | # Set superuser path separately to user path | 3940 | # Set superuser path separately to user path |
3831 | AC_ARG_WITH([superuser-path], | 3941 | AC_ARG_WITH(superuser-path, |
3832 | [ --with-superuser-path= Specify different path for super-user], | 3942 | [ --with-superuser-path= Specify different path for super-user], |
3833 | [ | 3943 | [ |
3834 | if test -n "$withval" && test "x$withval" != "xno" && \ | 3944 | if test -n "$withval" && test "x$withval" != "xno" && \ |
3835 | test "x${withval}" != "xyes"; then | 3945 | test "x${withval}" != "xyes"; then |
3836 | AC_DEFINE_UNQUOTED([SUPERUSER_PATH], ["$withval"], | 3946 | AC_DEFINE_UNQUOTED(SUPERUSER_PATH, "$withval", |
3837 | [Define if you want a different $PATH | 3947 | [Define if you want a different $PATH |
3838 | for the superuser]) | 3948 | for the superuser]) |
3839 | superuser_path=$withval | 3949 | superuser_path=$withval |
@@ -3848,18 +3958,18 @@ AC_ARG_WITH(4in6, | |||
3848 | [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses], | 3958 | [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses], |
3849 | [ | 3959 | [ |
3850 | if test "x$withval" != "xno" ; then | 3960 | if test "x$withval" != "xno" ; then |
3851 | AC_MSG_RESULT([yes]) | 3961 | AC_MSG_RESULT(yes) |
3852 | AC_DEFINE([IPV4_IN_IPV6], [1], | 3962 | AC_DEFINE(IPV4_IN_IPV6, 1, |
3853 | [Detect IPv4 in IPv6 mapped addresses | 3963 | [Detect IPv4 in IPv6 mapped addresses |
3854 | and treat as IPv4]) | 3964 | and treat as IPv4]) |
3855 | IPV4_IN6_HACK_MSG="yes" | 3965 | IPV4_IN6_HACK_MSG="yes" |
3856 | else | 3966 | else |
3857 | AC_MSG_RESULT([no]) | 3967 | AC_MSG_RESULT(no) |
3858 | fi | 3968 | fi |
3859 | ], [ | 3969 | ],[ |
3860 | if test "x$inet6_default_4in6" = "xyes"; then | 3970 | if test "x$inet6_default_4in6" = "xyes"; then |
3861 | AC_MSG_RESULT([yes (default)]) | 3971 | AC_MSG_RESULT([yes (default)]) |
3862 | AC_DEFINE([IPV4_IN_IPV6]) | 3972 | AC_DEFINE(IPV4_IN_IPV6) |
3863 | IPV4_IN6_HACK_MSG="yes" | 3973 | IPV4_IN6_HACK_MSG="yes" |
3864 | else | 3974 | else |
3865 | AC_MSG_RESULT([no (default)]) | 3975 | AC_MSG_RESULT([no (default)]) |
@@ -3869,11 +3979,11 @@ AC_ARG_WITH(4in6, | |||
3869 | 3979 | ||
3870 | # Whether to enable BSD auth support | 3980 | # Whether to enable BSD auth support |
3871 | BSD_AUTH_MSG=no | 3981 | BSD_AUTH_MSG=no |
3872 | AC_ARG_WITH([bsd-auth], | 3982 | AC_ARG_WITH(bsd-auth, |
3873 | [ --with-bsd-auth Enable BSD auth support], | 3983 | [ --with-bsd-auth Enable BSD auth support], |
3874 | [ | 3984 | [ |
3875 | if test "x$withval" != "xno" ; then | 3985 | if test "x$withval" != "xno" ; then |
3876 | AC_DEFINE([BSD_AUTH], [1], | 3986 | AC_DEFINE(BSD_AUTH, 1, |
3877 | [Define if you have BSD auth support]) | 3987 | [Define if you have BSD auth support]) |
3878 | BSD_AUTH_MSG=yes | 3988 | BSD_AUTH_MSG=yes |
3879 | fi | 3989 | fi |
@@ -3890,7 +4000,7 @@ if test ! -d $piddir ; then | |||
3890 | esac | 4000 | esac |
3891 | fi | 4001 | fi |
3892 | 4002 | ||
3893 | AC_ARG_WITH([pid-dir], | 4003 | AC_ARG_WITH(pid-dir, |
3894 | [ --with-pid-dir=PATH Specify location of ssh.pid file], | 4004 | [ --with-pid-dir=PATH Specify location of ssh.pid file], |
3895 | [ | 4005 | [ |
3896 | if test -n "$withval" && test "x$withval" != "xno" && \ | 4006 | if test -n "$withval" && test "x$withval" != "xno" && \ |
@@ -3903,86 +4013,85 @@ AC_ARG_WITH([pid-dir], | |||
3903 | ] | 4013 | ] |
3904 | ) | 4014 | ) |
3905 | 4015 | ||
3906 | AC_DEFINE_UNQUOTED([_PATH_SSH_PIDDIR], ["$piddir"], | 4016 | AC_DEFINE_UNQUOTED(_PATH_SSH_PIDDIR, "$piddir", [Specify location of ssh.pid]) |
3907 | [Specify location of ssh.pid]) | 4017 | AC_SUBST(piddir) |
3908 | AC_SUBST([piddir]) | ||
3909 | 4018 | ||
3910 | dnl allow user to disable some login recording features | 4019 | dnl allow user to disable some login recording features |
3911 | AC_ARG_ENABLE([lastlog], | 4020 | AC_ARG_ENABLE(lastlog, |
3912 | [ --disable-lastlog disable use of lastlog even if detected [no]], | 4021 | [ --disable-lastlog disable use of lastlog even if detected [no]], |
3913 | [ | 4022 | [ |
3914 | if test "x$enableval" = "xno" ; then | 4023 | if test "x$enableval" = "xno" ; then |
3915 | AC_DEFINE([DISABLE_LASTLOG]) | 4024 | AC_DEFINE(DISABLE_LASTLOG) |
3916 | fi | 4025 | fi |
3917 | ] | 4026 | ] |
3918 | ) | 4027 | ) |
3919 | AC_ARG_ENABLE([utmp], | 4028 | AC_ARG_ENABLE(utmp, |
3920 | [ --disable-utmp disable use of utmp even if detected [no]], | 4029 | [ --disable-utmp disable use of utmp even if detected [no]], |
3921 | [ | 4030 | [ |
3922 | if test "x$enableval" = "xno" ; then | 4031 | if test "x$enableval" = "xno" ; then |
3923 | AC_DEFINE([DISABLE_UTMP]) | 4032 | AC_DEFINE(DISABLE_UTMP) |
3924 | fi | 4033 | fi |
3925 | ] | 4034 | ] |
3926 | ) | 4035 | ) |
3927 | AC_ARG_ENABLE([utmpx], | 4036 | AC_ARG_ENABLE(utmpx, |
3928 | [ --disable-utmpx disable use of utmpx even if detected [no]], | 4037 | [ --disable-utmpx disable use of utmpx even if detected [no]], |
3929 | [ | 4038 | [ |
3930 | if test "x$enableval" = "xno" ; then | 4039 | if test "x$enableval" = "xno" ; then |
3931 | AC_DEFINE([DISABLE_UTMPX], [1], | 4040 | AC_DEFINE(DISABLE_UTMPX, 1, |
3932 | [Define if you don't want to use utmpx]) | 4041 | [Define if you don't want to use utmpx]) |
3933 | fi | 4042 | fi |
3934 | ] | 4043 | ] |
3935 | ) | 4044 | ) |
3936 | AC_ARG_ENABLE([wtmp], | 4045 | AC_ARG_ENABLE(wtmp, |
3937 | [ --disable-wtmp disable use of wtmp even if detected [no]], | 4046 | [ --disable-wtmp disable use of wtmp even if detected [no]], |
3938 | [ | 4047 | [ |
3939 | if test "x$enableval" = "xno" ; then | 4048 | if test "x$enableval" = "xno" ; then |
3940 | AC_DEFINE([DISABLE_WTMP]) | 4049 | AC_DEFINE(DISABLE_WTMP) |
3941 | fi | 4050 | fi |
3942 | ] | 4051 | ] |
3943 | ) | 4052 | ) |
3944 | AC_ARG_ENABLE([wtmpx], | 4053 | AC_ARG_ENABLE(wtmpx, |
3945 | [ --disable-wtmpx disable use of wtmpx even if detected [no]], | 4054 | [ --disable-wtmpx disable use of wtmpx even if detected [no]], |
3946 | [ | 4055 | [ |
3947 | if test "x$enableval" = "xno" ; then | 4056 | if test "x$enableval" = "xno" ; then |
3948 | AC_DEFINE([DISABLE_WTMPX], [1], | 4057 | AC_DEFINE(DISABLE_WTMPX, 1, |
3949 | [Define if you don't want to use wtmpx]) | 4058 | [Define if you don't want to use wtmpx]) |
3950 | fi | 4059 | fi |
3951 | ] | 4060 | ] |
3952 | ) | 4061 | ) |
3953 | AC_ARG_ENABLE([libutil], | 4062 | AC_ARG_ENABLE(libutil, |
3954 | [ --disable-libutil disable use of libutil (login() etc.) [no]], | 4063 | [ --disable-libutil disable use of libutil (login() etc.) [no]], |
3955 | [ | 4064 | [ |
3956 | if test "x$enableval" = "xno" ; then | 4065 | if test "x$enableval" = "xno" ; then |
3957 | AC_DEFINE([DISABLE_LOGIN]) | 4066 | AC_DEFINE(DISABLE_LOGIN) |
3958 | fi | 4067 | fi |
3959 | ] | 4068 | ] |
3960 | ) | 4069 | ) |
3961 | AC_ARG_ENABLE([pututline], | 4070 | AC_ARG_ENABLE(pututline, |
3962 | [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]], | 4071 | [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]], |
3963 | [ | 4072 | [ |
3964 | if test "x$enableval" = "xno" ; then | 4073 | if test "x$enableval" = "xno" ; then |
3965 | AC_DEFINE([DISABLE_PUTUTLINE], [1], | 4074 | AC_DEFINE(DISABLE_PUTUTLINE, 1, |
3966 | [Define if you don't want to use pututline() | 4075 | [Define if you don't want to use pututline() |
3967 | etc. to write [uw]tmp]) | 4076 | etc. to write [uw]tmp]) |
3968 | fi | 4077 | fi |
3969 | ] | 4078 | ] |
3970 | ) | 4079 | ) |
3971 | AC_ARG_ENABLE([pututxline], | 4080 | AC_ARG_ENABLE(pututxline, |
3972 | [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]], | 4081 | [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]], |
3973 | [ | 4082 | [ |
3974 | if test "x$enableval" = "xno" ; then | 4083 | if test "x$enableval" = "xno" ; then |
3975 | AC_DEFINE([DISABLE_PUTUTXLINE], [1], | 4084 | AC_DEFINE(DISABLE_PUTUTXLINE, 1, |
3976 | [Define if you don't want to use pututxline() | 4085 | [Define if you don't want to use pututxline() |
3977 | etc. to write [uw]tmpx]) | 4086 | etc. to write [uw]tmpx]) |
3978 | fi | 4087 | fi |
3979 | ] | 4088 | ] |
3980 | ) | 4089 | ) |
3981 | AC_ARG_WITH([lastlog], | 4090 | AC_ARG_WITH(lastlog, |
3982 | [ --with-lastlog=FILE|DIR specify lastlog location [common locations]], | 4091 | [ --with-lastlog=FILE|DIR specify lastlog location [common locations]], |
3983 | [ | 4092 | [ |
3984 | if test "x$withval" = "xno" ; then | 4093 | if test "x$withval" = "xno" ; then |
3985 | AC_DEFINE([DISABLE_LASTLOG]) | 4094 | AC_DEFINE(DISABLE_LASTLOG) |
3986 | elif test -n "$withval" && test "x${withval}" != "xyes"; then | 4095 | elif test -n "$withval" && test "x${withval}" != "xyes"; then |
3987 | conf_lastlog_location=$withval | 4096 | conf_lastlog_location=$withval |
3988 | fi | 4097 | fi |
@@ -3997,7 +4106,7 @@ dnl lastlog and [uw]tmp are subject to a file search if all else fails | |||
3997 | dnl lastlog detection | 4106 | dnl lastlog detection |
3998 | dnl NOTE: the code itself will detect if lastlog is a directory | 4107 | dnl NOTE: the code itself will detect if lastlog is a directory |
3999 | AC_MSG_CHECKING([if your system defines LASTLOG_FILE]) | 4108 | AC_MSG_CHECKING([if your system defines LASTLOG_FILE]) |
4000 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 4109 | AC_TRY_COMPILE([ |
4001 | #include <sys/types.h> | 4110 | #include <sys/types.h> |
4002 | #include <utmp.h> | 4111 | #include <utmp.h> |
4003 | #ifdef HAVE_LASTLOG_H | 4112 | #ifdef HAVE_LASTLOG_H |
@@ -4009,12 +4118,13 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||
4009 | #ifdef HAVE_LOGIN_H | 4118 | #ifdef HAVE_LOGIN_H |
4010 | # include <login.h> | 4119 | # include <login.h> |
4011 | #endif | 4120 | #endif |
4012 | ]], [[ char *lastlog = LASTLOG_FILE; ]])], | 4121 | ], |
4013 | [ AC_MSG_RESULT([yes]) ], | 4122 | [ char *lastlog = LASTLOG_FILE; ], |
4014 | [ | 4123 | [ AC_MSG_RESULT(yes) ], |
4015 | AC_MSG_RESULT([no]) | 4124 | [ |
4125 | AC_MSG_RESULT(no) | ||
4016 | AC_MSG_CHECKING([if your system defines _PATH_LASTLOG]) | 4126 | AC_MSG_CHECKING([if your system defines _PATH_LASTLOG]) |
4017 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 4127 | AC_TRY_COMPILE([ |
4018 | #include <sys/types.h> | 4128 | #include <sys/types.h> |
4019 | #include <utmp.h> | 4129 | #include <utmp.h> |
4020 | #ifdef HAVE_LASTLOG_H | 4130 | #ifdef HAVE_LASTLOG_H |
@@ -4023,13 +4133,15 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||
4023 | #ifdef HAVE_PATHS_H | 4133 | #ifdef HAVE_PATHS_H |
4024 | # include <paths.h> | 4134 | # include <paths.h> |
4025 | #endif | 4135 | #endif |
4026 | ]], [[ char *lastlog = _PATH_LASTLOG; ]])], | 4136 | ], |
4027 | [ AC_MSG_RESULT([yes]) ], | 4137 | [ char *lastlog = _PATH_LASTLOG; ], |
4138 | [ AC_MSG_RESULT(yes) ], | ||
4028 | [ | 4139 | [ |
4029 | AC_MSG_RESULT([no]) | 4140 | AC_MSG_RESULT(no) |
4030 | system_lastlog_path=no | 4141 | system_lastlog_path=no |
4031 | ]) | 4142 | ]) |
4032 | ]) | 4143 | ] |
4144 | ) | ||
4033 | 4145 | ||
4034 | if test -z "$conf_lastlog_location"; then | 4146 | if test -z "$conf_lastlog_location"; then |
4035 | if test x"$system_lastlog_path" = x"no" ; then | 4147 | if test x"$system_lastlog_path" = x"no" ; then |
@@ -4046,23 +4158,24 @@ if test -z "$conf_lastlog_location"; then | |||
4046 | fi | 4158 | fi |
4047 | 4159 | ||
4048 | if test -n "$conf_lastlog_location"; then | 4160 | if test -n "$conf_lastlog_location"; then |
4049 | AC_DEFINE_UNQUOTED([CONF_LASTLOG_FILE], ["$conf_lastlog_location"], | 4161 | AC_DEFINE_UNQUOTED(CONF_LASTLOG_FILE, "$conf_lastlog_location", |
4050 | [Define if you want to specify the path to your lastlog file]) | 4162 | [Define if you want to specify the path to your lastlog file]) |
4051 | fi | 4163 | fi |
4052 | 4164 | ||
4053 | dnl utmp detection | 4165 | dnl utmp detection |
4054 | AC_MSG_CHECKING([if your system defines UTMP_FILE]) | 4166 | AC_MSG_CHECKING([if your system defines UTMP_FILE]) |
4055 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 4167 | AC_TRY_COMPILE([ |
4056 | #include <sys/types.h> | 4168 | #include <sys/types.h> |
4057 | #include <utmp.h> | 4169 | #include <utmp.h> |
4058 | #ifdef HAVE_PATHS_H | 4170 | #ifdef HAVE_PATHS_H |
4059 | # include <paths.h> | 4171 | # include <paths.h> |
4060 | #endif | 4172 | #endif |
4061 | ]], [[ char *utmp = UTMP_FILE; ]])], | 4173 | ], |
4062 | [ AC_MSG_RESULT([yes]) ], | 4174 | [ char *utmp = UTMP_FILE; ], |
4063 | [ AC_MSG_RESULT([no]) | 4175 | [ AC_MSG_RESULT(yes) ], |
4064 | system_utmp_path=no | 4176 | [ AC_MSG_RESULT(no) |
4065 | ]) | 4177 | system_utmp_path=no ] |
4178 | ) | ||
4066 | if test -z "$conf_utmp_location"; then | 4179 | if test -z "$conf_utmp_location"; then |
4067 | if test x"$system_utmp_path" = x"no" ; then | 4180 | if test x"$system_utmp_path" = x"no" ; then |
4068 | for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do | 4181 | for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do |
@@ -4071,28 +4184,29 @@ if test -z "$conf_utmp_location"; then | |||
4071 | fi | 4184 | fi |
4072 | done | 4185 | done |
4073 | if test -z "$conf_utmp_location"; then | 4186 | if test -z "$conf_utmp_location"; then |
4074 | AC_DEFINE([DISABLE_UTMP]) | 4187 | AC_DEFINE(DISABLE_UTMP) |
4075 | fi | 4188 | fi |
4076 | fi | 4189 | fi |
4077 | fi | 4190 | fi |
4078 | if test -n "$conf_utmp_location"; then | 4191 | if test -n "$conf_utmp_location"; then |
4079 | AC_DEFINE_UNQUOTED([CONF_UTMP_FILE], ["$conf_utmp_location"], | 4192 | AC_DEFINE_UNQUOTED(CONF_UTMP_FILE, "$conf_utmp_location", |
4080 | [Define if you want to specify the path to your utmp file]) | 4193 | [Define if you want to specify the path to your utmp file]) |
4081 | fi | 4194 | fi |
4082 | 4195 | ||
4083 | dnl wtmp detection | 4196 | dnl wtmp detection |
4084 | AC_MSG_CHECKING([if your system defines WTMP_FILE]) | 4197 | AC_MSG_CHECKING([if your system defines WTMP_FILE]) |
4085 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 4198 | AC_TRY_COMPILE([ |
4086 | #include <sys/types.h> | 4199 | #include <sys/types.h> |
4087 | #include <utmp.h> | 4200 | #include <utmp.h> |
4088 | #ifdef HAVE_PATHS_H | 4201 | #ifdef HAVE_PATHS_H |
4089 | # include <paths.h> | 4202 | # include <paths.h> |
4090 | #endif | 4203 | #endif |
4091 | ]], [[ char *wtmp = WTMP_FILE; ]])], | 4204 | ], |
4092 | [ AC_MSG_RESULT([yes]) ], | 4205 | [ char *wtmp = WTMP_FILE; ], |
4093 | [ AC_MSG_RESULT([no]) | 4206 | [ AC_MSG_RESULT(yes) ], |
4094 | system_wtmp_path=no | 4207 | [ AC_MSG_RESULT(no) |
4095 | ]) | 4208 | system_wtmp_path=no ] |
4209 | ) | ||
4096 | if test -z "$conf_wtmp_location"; then | 4210 | if test -z "$conf_wtmp_location"; then |
4097 | if test x"$system_wtmp_path" = x"no" ; then | 4211 | if test x"$system_wtmp_path" = x"no" ; then |
4098 | for f in /usr/adm/wtmp /var/log/wtmp; do | 4212 | for f in /usr/adm/wtmp /var/log/wtmp; do |
@@ -4101,19 +4215,19 @@ if test -z "$conf_wtmp_location"; then | |||
4101 | fi | 4215 | fi |
4102 | done | 4216 | done |
4103 | if test -z "$conf_wtmp_location"; then | 4217 | if test -z "$conf_wtmp_location"; then |
4104 | AC_DEFINE([DISABLE_WTMP]) | 4218 | AC_DEFINE(DISABLE_WTMP) |
4105 | fi | 4219 | fi |
4106 | fi | 4220 | fi |
4107 | fi | 4221 | fi |
4108 | if test -n "$conf_wtmp_location"; then | 4222 | if test -n "$conf_wtmp_location"; then |
4109 | AC_DEFINE_UNQUOTED([CONF_WTMP_FILE], ["$conf_wtmp_location"], | 4223 | AC_DEFINE_UNQUOTED(CONF_WTMP_FILE, "$conf_wtmp_location", |
4110 | [Define if you want to specify the path to your wtmp file]) | 4224 | [Define if you want to specify the path to your wtmp file]) |
4111 | fi | 4225 | fi |
4112 | 4226 | ||
4113 | 4227 | ||
4114 | dnl wtmpx detection | 4228 | dnl wtmpx detection |
4115 | AC_MSG_CHECKING([if your system defines WTMPX_FILE]) | 4229 | AC_MSG_CHECKING([if your system defines WTMPX_FILE]) |
4116 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | 4230 | AC_TRY_COMPILE([ |
4117 | #include <sys/types.h> | 4231 | #include <sys/types.h> |
4118 | #include <utmp.h> | 4232 | #include <utmp.h> |
4119 | #ifdef HAVE_UTMPX_H | 4233 | #ifdef HAVE_UTMPX_H |
@@ -4122,17 +4236,18 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||
4122 | #ifdef HAVE_PATHS_H | 4236 | #ifdef HAVE_PATHS_H |
4123 | # include <paths.h> | 4237 | # include <paths.h> |
4124 | #endif | 4238 | #endif |
4125 | ]], [[ char *wtmpx = WTMPX_FILE; ]])], | 4239 | ], |
4126 | [ AC_MSG_RESULT([yes]) ], | 4240 | [ char *wtmpx = WTMPX_FILE; ], |
4127 | [ AC_MSG_RESULT([no]) | 4241 | [ AC_MSG_RESULT(yes) ], |
4128 | system_wtmpx_path=no | 4242 | [ AC_MSG_RESULT(no) |
4129 | ]) | 4243 | system_wtmpx_path=no ] |
4244 | ) | ||
4130 | if test -z "$conf_wtmpx_location"; then | 4245 | if test -z "$conf_wtmpx_location"; then |
4131 | if test x"$system_wtmpx_path" = x"no" ; then | 4246 | if test x"$system_wtmpx_path" = x"no" ; then |
4132 | AC_DEFINE([DISABLE_WTMPX]) | 4247 | AC_DEFINE(DISABLE_WTMPX) |
4133 | fi | 4248 | fi |
4134 | else | 4249 | else |
4135 | AC_DEFINE_UNQUOTED([CONF_WTMPX_FILE], ["$conf_wtmpx_location"], | 4250 | AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location", |
4136 | [Define if you want to specify the path to your wtmpx file]) | 4251 | [Define if you want to specify the path to your wtmpx file]) |
4137 | fi | 4252 | fi |
4138 | 4253 | ||
@@ -4151,8 +4266,8 @@ if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then | |||
4151 | else | 4266 | else |
4152 | TEST_SSH_IPV6=yes | 4267 | TEST_SSH_IPV6=yes |
4153 | fi | 4268 | fi |
4154 | AC_CHECK_DECL([BROKEN_GETADDRINFO], [TEST_SSH_IPV6=no]) | 4269 | AC_CHECK_DECL(BROKEN_GETADDRINFO, TEST_SSH_IPV6=no) |
4155 | AC_SUBST([TEST_SSH_IPV6], [$TEST_SSH_IPV6]) | 4270 | AC_SUBST(TEST_SSH_IPV6, $TEST_SSH_IPV6) |
4156 | 4271 | ||
4157 | AC_EXEEXT | 4272 | AC_EXEEXT |
4158 | AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ | 4273 | 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 @@ | |||
1 | /* $Id: port-linux.c,v 1.13 2011/01/27 23:30:20 djm Exp $ */ | 1 | /* $Id: port-linux.c,v 1.11.4.1 2011/02/04 00:42:21 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> | 4 | * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com> |
@@ -209,15 +209,13 @@ ssh_selinux_change_context(const char *newname) | |||
209 | void | 209 | void |
210 | ssh_selinux_setfscreatecon(const char *path) | 210 | ssh_selinux_setfscreatecon(const char *path) |
211 | { | 211 | { |
212 | security_context_t context; | 212 | security_context_t context; |
213 | 213 | ||
214 | if (!ssh_selinux_enabled()) | 214 | if (path == NULL) { |
215 | return; | 215 | setfscreatecon(NULL); |
216 | if (path == NULL) | 216 | return; |
217 | setfscreatecon(NULL); | 217 | } |
218 | return; | 218 | matchpathcon(path, 0700, &context); |
219 | } | ||
220 | if (matchpathcon(path, 0700, &context) == 0) | ||
221 | setfscreatecon(context); | 219 | setfscreatecon(context); |
222 | } | 220 | } |
223 | 221 | ||
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 @@ | |||
1 | /* $Id: port-linux.h,v 1.5 2011/01/25 01:16:18 djm Exp $ */ | 1 | /* $Id: port-linux.h,v 1.4.10.1 2011/02/04 00:42:21 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> | 4 | * Copyright (c) 2006 Damien Miller <djm@openbsd.org> |