1 |
– |
# $Id: configure.ac,v 1.583 2014/08/26 20:32:01 djm Exp $ |
1 |
|
# |
2 |
|
# Copyright (c) 1999-2004 Damien Miller |
3 |
|
# |
29 |
|
AC_PROG_RANLIB |
30 |
|
AC_PROG_INSTALL |
31 |
|
AC_PROG_EGREP |
32 |
+ |
AC_PROG_MKDIR_P |
33 |
|
AC_CHECK_TOOLS([AR], [ar]) |
34 |
|
AC_PATH_PROG([CAT], [cat]) |
35 |
|
AC_PATH_PROG([KILL], [kill]) |
36 |
– |
AC_PATH_PROGS([PERL], [perl5 perl]) |
36 |
|
AC_PATH_PROG([SED], [sed]) |
38 |
– |
AC_SUBST([PERL]) |
37 |
|
AC_PATH_PROG([ENT], [ent]) |
38 |
|
AC_SUBST([ENT]) |
39 |
|
AC_PATH_PROG([TEST_MINUS_S_SH], [bash]) |
83 |
|
[Full path of your "passwd" program]) |
84 |
|
fi |
85 |
|
|
86 |
< |
if test -z "$LD" ; then |
87 |
< |
LD=$CC |
88 |
< |
fi |
86 |
> |
dnl Since autoconf doesn't support it very well, we no longer allow users to |
87 |
> |
dnl override LD, however keeping the hook here for now in case there's a use |
88 |
> |
dnl use case we overlooked and someone needs to re-enable it. Unless a good |
89 |
> |
dnl reason is found we'll be removing this in future. |
90 |
> |
LD="$CC" |
91 |
|
AC_SUBST([LD]) |
92 |
|
|
93 |
|
AC_C_INLINE |
109 |
|
]) |
110 |
|
|
111 |
|
openssl=yes |
112 |
– |
ssh1=no |
113 |
– |
COMMENT_OUT_RSA1="#no ssh1#" |
112 |
|
AC_ARG_WITH([openssl], |
113 |
|
[ --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL** ], |
114 |
|
[ if test "x$withval" = "xno" ; then |
115 |
|
openssl=no |
118 |
– |
ssh1=no |
116 |
|
fi |
117 |
|
] |
118 |
|
) |
124 |
|
AC_MSG_RESULT([no]) |
125 |
|
fi |
126 |
|
|
130 |
– |
AC_ARG_WITH([ssh1], |
131 |
– |
[ --with-ssh1 Enable support for SSH protocol 1], |
132 |
– |
[ |
133 |
– |
if test "x$withval" = "xyes" ; then |
134 |
– |
if test "x$openssl" = "xno" ; then |
135 |
– |
AC_MSG_ERROR([Cannot enable SSH protocol 1 with OpenSSL disabled]) |
136 |
– |
fi |
137 |
– |
ssh1=yes |
138 |
– |
COMMENT_OUT_RSA1="" |
139 |
– |
elif test "x$withval" = "xno" ; then |
140 |
– |
ssh1=no |
141 |
– |
else |
142 |
– |
AC_MSG_ERROR([unknown --with-ssh1 argument]) |
143 |
– |
fi |
144 |
– |
] |
145 |
– |
) |
146 |
– |
AC_MSG_CHECKING([whether SSH protocol 1 support is enabled]) |
147 |
– |
if test "x$ssh1" = "xyes" ; then |
148 |
– |
AC_MSG_RESULT([yes]) |
149 |
– |
AC_DEFINE_UNQUOTED([WITH_SSH1], [1], [include SSH protocol version 1 support]) |
150 |
– |
AC_SUBST([COMMENT_OUT_RSA1]) |
151 |
– |
else |
152 |
– |
AC_MSG_RESULT([no]) |
153 |
– |
fi |
154 |
– |
|
127 |
|
use_stack_protector=1 |
128 |
|
use_toolchain_hardening=1 |
129 |
|
AC_ARG_WITH([stackprotect], |
151 |
|
CFLAGS="$saved_CFLAGS" |
152 |
|
|
153 |
|
if test "$GCC" = "yes" || test "$GCC" = "egcs"; then |
154 |
+ |
OSSH_CHECK_CFLAG_COMPILE([-pipe]) |
155 |
|
OSSH_CHECK_CFLAG_COMPILE([-Qunused-arguments]) |
156 |
|
OSSH_CHECK_CFLAG_COMPILE([-Wunknown-warning-option]) |
157 |
|
OSSH_CHECK_CFLAG_COMPILE([-Wall]) |
163 |
|
OSSH_CHECK_CFLAG_COMPILE([-Wpointer-sign], [-Wno-pointer-sign]) |
164 |
|
OSSH_CHECK_CFLAG_COMPILE([-Wunused-result], [-Wno-unused-result]) |
165 |
|
OSSH_CHECK_CFLAG_COMPILE([-fno-strict-aliasing]) |
193 |
– |
OSSH_CHECK_CFLAG_COMPILE([-D_FORTIFY_SOURCE=2]) |
166 |
|
if test "x$use_toolchain_hardening" = "x1"; then |
167 |
+ |
OSSH_CHECK_CFLAG_COMPILE([-mretpoline]) # clang |
168 |
+ |
OSSH_CHECK_LDFLAG_LINK([-Wl,-z,retpolineplt]) |
169 |
+ |
OSSH_CHECK_CFLAG_COMPILE([-D_FORTIFY_SOURCE=2]) |
170 |
|
OSSH_CHECK_LDFLAG_LINK([-Wl,-z,relro]) |
171 |
|
OSSH_CHECK_LDFLAG_LINK([-Wl,-z,now]) |
172 |
|
OSSH_CHECK_LDFLAG_LINK([-Wl,-z,noexecstack]) |
265 |
|
[compiler does not accept __attribute__ on return types]) ] |
266 |
|
) |
267 |
|
|
268 |
+ |
AC_MSG_CHECKING([if compiler allows __attribute__ prototype args]) |
269 |
+ |
AC_COMPILE_IFELSE( |
270 |
+ |
[AC_LANG_PROGRAM([[ |
271 |
+ |
#include <stdlib.h> |
272 |
+ |
typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));]], |
273 |
+ |
[[ exit(0); ]])], |
274 |
+ |
[ AC_MSG_RESULT([yes]) ], |
275 |
+ |
[ AC_MSG_RESULT([no]) |
276 |
+ |
AC_DEFINE(NO_ATTRIBUTE_ON_PROTOTYPE_ARGS, 1, |
277 |
+ |
[compiler does not accept __attribute__ on prototype args]) ] |
278 |
+ |
) |
279 |
+ |
|
280 |
|
if test "x$no_attrib_nonnull" != "x1" ; then |
281 |
|
AC_DEFINE([HAVE_ATTRIBUTE__NONNULL__], [1], [Have attribute nonnull]) |
282 |
|
fi |
303 |
|
fi |
304 |
|
] |
305 |
|
) |
306 |
+ |
|
307 |
+ |
AC_ARG_WITH([cflags-after], |
308 |
+ |
[ --with-cflags-after Specify additional flags to pass to compiler after configure], |
309 |
+ |
[ |
310 |
+ |
if test -n "$withval" && test "x$withval" != "xno" && \ |
311 |
+ |
test "x${withval}" != "xyes"; then |
312 |
+ |
CFLAGS_AFTER="$withval" |
313 |
+ |
fi |
314 |
+ |
] |
315 |
+ |
) |
316 |
|
AC_ARG_WITH([cppflags], |
317 |
|
[ --with-cppflags Specify additional flags to pass to preprocessor] , |
318 |
|
[ |
331 |
|
fi |
332 |
|
] |
333 |
|
) |
334 |
+ |
AC_ARG_WITH([ldflags-after], |
335 |
+ |
[ --with-ldflags-after Specify additional flags to pass to linker after configure], |
336 |
+ |
[ |
337 |
+ |
if test -n "$withval" && test "x$withval" != "xno" && \ |
338 |
+ |
test "x${withval}" != "xyes"; then |
339 |
+ |
LDFLAGS_AFTER="$withval" |
340 |
+ |
fi |
341 |
+ |
] |
342 |
+ |
) |
343 |
|
AC_ARG_WITH([libs], |
344 |
|
[ --with-libs Specify additional libraries to link with], |
345 |
|
[ |
377 |
|
glob.h \ |
378 |
|
ia.h \ |
379 |
|
iaf.h \ |
380 |
+ |
ifaddrs.h \ |
381 |
|
inttypes.h \ |
382 |
|
langinfo.h \ |
383 |
|
limits.h \ |
401 |
|
stdint.h \ |
402 |
|
string.h \ |
403 |
|
strings.h \ |
397 |
– |
sys/audit.h \ |
404 |
|
sys/bitypes.h \ |
405 |
|
sys/bsdtty.h \ |
400 |
– |
sys/capability.h \ |
406 |
|
sys/cdefs.h \ |
407 |
|
sys/dir.h \ |
408 |
+ |
sys/file.h \ |
409 |
|
sys/mman.h \ |
410 |
+ |
sys/label.h \ |
411 |
|
sys/ndir.h \ |
412 |
|
sys/poll.h \ |
413 |
|
sys/prctl.h \ |
414 |
|
sys/pstat.h \ |
415 |
|
sys/ptrace.h \ |
416 |
+ |
sys/random.h \ |
417 |
|
sys/select.h \ |
418 |
|
sys/stat.h \ |
419 |
|
sys/stream.h \ |
423 |
|
sys/sysmacros.h \ |
424 |
|
sys/time.h \ |
425 |
|
sys/timers.h \ |
426 |
+ |
sys/vfs.h \ |
427 |
|
time.h \ |
428 |
|
tmpdir.h \ |
429 |
|
ttyent.h \ |
438 |
|
wchar.h \ |
439 |
|
]) |
440 |
|
|
441 |
+ |
# On some platforms (eg SunOS4) sys/audit.h requires sys/[time|types|label.h] |
442 |
+ |
# to be included first. |
443 |
+ |
AC_CHECK_HEADERS([sys/audit.h], [], [], [ |
444 |
+ |
#ifdef HAVE_SYS_TIME_H |
445 |
+ |
# include <sys/time.h> |
446 |
+ |
#endif |
447 |
+ |
#ifdef HAVE_SYS_TYPES_H |
448 |
+ |
# include <sys/types.h> |
449 |
+ |
#endif |
450 |
+ |
#ifdef HAVE_SYS_LABEL_H |
451 |
+ |
# include <sys/label.h> |
452 |
+ |
#endif |
453 |
+ |
]) |
454 |
+ |
|
455 |
+ |
# sys/capsicum.h requires sys/types.h |
456 |
+ |
AC_CHECK_HEADERS([sys/capsicum.h], [], [], [ |
457 |
+ |
#ifdef HAVE_SYS_TYPES_H |
458 |
+ |
# include <sys/types.h> |
459 |
+ |
#endif |
460 |
+ |
]) |
461 |
+ |
|
462 |
+ |
# net/route.h requires sys/socket.h and sys/types.h. |
463 |
+ |
# sys/sysctl.h also requires sys/param.h |
464 |
+ |
AC_CHECK_HEADERS([net/route.h sys/sysctl.h], [], [], [ |
465 |
+ |
#ifdef HAVE_SYS_TYPES_H |
466 |
+ |
# include <sys/types.h> |
467 |
+ |
#endif |
468 |
+ |
#include <sys/param.h> |
469 |
+ |
#include <sys/socket.h> |
470 |
+ |
]) |
471 |
+ |
|
472 |
|
# lastlog.h requires sys/time.h to be included first on Solaris |
473 |
|
AC_CHECK_HEADERS([lastlog.h], [], [], [ |
474 |
|
#ifdef HAVE_SYS_TIME_H |
515 |
|
# Some versions of VAC won't allow macro redefinitions at |
516 |
|
# -qlanglevel=ansi, and autoconf 2.60 sometimes insists on using that |
517 |
|
# particularly with older versions of vac or xlc. |
518 |
< |
# It also throws errors about null macro argments, but these are |
518 |
> |
# It also throws errors about null macro arguments, but these are |
519 |
|
# not fatal. |
520 |
|
AC_MSG_CHECKING([if compiler allows macro redefinitions]) |
521 |
|
AC_COMPILE_IFELSE( |
526 |
|
[ AC_MSG_RESULT([yes]) ], |
527 |
|
[ AC_MSG_RESULT([no]) |
528 |
|
CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`" |
489 |
– |
LD="`echo $LD | sed 's/-qlanglvl\=ansi//g'`" |
529 |
|
CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`" |
530 |
|
CPPFLAGS="`echo $CPPFLAGS | sed 's/-qlanglvl\=ansi//g'`" |
531 |
|
] |
603 |
|
[AIX 5.2 and 5.3 (and presumably newer) require this]) |
604 |
|
AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd]) |
605 |
|
AC_DEFINE([PLATFORM_SYS_DIR_UID], 2, [System dirs owned by bin (uid 2)]) |
606 |
+ |
AC_DEFINE([BROKEN_STRNDUP], 1, [strndup broken, see APAR IY61211]) |
607 |
+ |
AC_DEFINE([BROKEN_STRNLEN], 1, [strnlen broken, see APAR IY62551]) |
608 |
|
;; |
609 |
|
*-*-android*) |
610 |
|
AC_DEFINE([DISABLE_UTMP], [1], [Define if you don't want to use utmp]) |
753 |
|
PATH="$PATH:/usr/etc" |
754 |
|
AC_DEFINE([WITH_IRIX_ARRAY], [1], |
755 |
|
[Define if you have/want arrays |
756 |
< |
(cluster-wide session managment, not C arrays)]) |
756 |
> |
(cluster-wide session management, not C arrays)]) |
757 |
|
AC_DEFINE([WITH_IRIX_PROJECT], [1], |
758 |
|
[Define if you want IRIX project management]) |
759 |
|
AC_DEFINE([WITH_IRIX_AUDIT], [1], |
812 |
|
AC_DEFINE([SSH_TUN_PREPEND_AF], [1], |
813 |
|
[Prepend the address family to IP tunnel traffic]) |
814 |
|
fi |
815 |
+ |
AC_CHECK_HEADER([linux/if.h], |
816 |
+ |
AC_DEFINE([SYS_RDOMAIN_LINUX], [1], |
817 |
+ |
[Support routing domains using Linux VRF]), [], [ |
818 |
+ |
#ifdef HAVE_SYS_TYPES_H |
819 |
+ |
# include <sys/types.H> |
820 |
+ |
#endif |
821 |
+ |
]) |
822 |
|
AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], |
823 |
|
[], [#include <linux/types.h>]) |
824 |
+ |
# Obtain MIPS ABI |
825 |
+ |
case "$host" in |
826 |
+ |
mips*) |
827 |
+ |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
828 |
+ |
#if _MIPS_SIM != _ABIO32 |
829 |
+ |
#error |
830 |
+ |
#endif |
831 |
+ |
]])],[mips_abi="o32"],[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
832 |
+ |
#if _MIPS_SIM != _ABIN32 |
833 |
+ |
#error |
834 |
+ |
#endif |
835 |
+ |
]])],[mips_abi="n32"],[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
836 |
+ |
#if _MIPS_SIM != _ABI64 |
837 |
+ |
#error |
838 |
+ |
#endif |
839 |
+ |
]])],[mips_abi="n64"],[AC_MSG_ERROR([unknown MIPS ABI]) |
840 |
+ |
]) |
841 |
+ |
]) |
842 |
+ |
]) |
843 |
+ |
;; |
844 |
+ |
esac |
845 |
|
AC_MSG_CHECKING([for seccomp architecture]) |
846 |
|
seccomp_audit_arch= |
847 |
|
case "$host" in |
876 |
|
seccomp_audit_arch=AUDIT_ARCH_MIPSEL |
877 |
|
;; |
878 |
|
mips64-*) |
879 |
< |
seccomp_audit_arch=AUDIT_ARCH_MIPS64 |
879 |
> |
case "$mips_abi" in |
880 |
> |
"n32") |
881 |
> |
seccomp_audit_arch=AUDIT_ARCH_MIPS64N32 |
882 |
> |
;; |
883 |
> |
"n64") |
884 |
> |
seccomp_audit_arch=AUDIT_ARCH_MIPS64 |
885 |
> |
;; |
886 |
> |
esac |
887 |
|
;; |
888 |
|
mips64el-*) |
889 |
< |
seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 |
889 |
> |
case "$mips_abi" in |
890 |
> |
"n32") |
891 |
> |
seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32 |
892 |
> |
;; |
893 |
> |
"n64") |
894 |
> |
seccomp_audit_arch=AUDIT_ARCH_MIPSEL64 |
895 |
> |
;; |
896 |
> |
esac |
897 |
|
;; |
898 |
|
esac |
899 |
|
if test "x$seccomp_audit_arch" != "x" ; then |
1044 |
|
conf_wtmp_location=/var/adm/wtmp |
1045 |
|
conf_lastlog_location=/var/adm/lastlog |
1046 |
|
AC_DEFINE([USE_PIPES]) |
1047 |
+ |
AC_DEFINE([DISABLE_UTMPX], [1], [no utmpx]) |
1048 |
|
;; |
1049 |
|
*-ncr-sysv*) |
1050 |
|
LIBS="$LIBS -lc89" |
1091 |
|
AC_DEFINE([BROKEN_SETREUID]) |
1092 |
|
AC_DEFINE([BROKEN_SETREGID]) |
1093 |
|
AC_DEFINE([PASSWD_NEEDS_USERNAME]) |
1094 |
+ |
AC_DEFINE([BROKEN_TCGETATTR_ICANON]) |
1095 |
|
TEST_SHELL=$SHELL # let configure find us a capable shell |
1096 |
+ |
check_for_libcrypt_later=1 |
1097 |
|
case "$host" in |
1098 |
|
*-*-sysv5SCO_SV*) # SCO OpenServer 6.x |
1099 |
|
maildir=/var/spool/mail |
1014 |
– |
AC_DEFINE([BROKEN_LIBIAF], [1], |
1015 |
– |
[ia_uinfo routines not supported by OS yet]) |
1100 |
|
AC_DEFINE([BROKEN_UPDWTMPX]) |
1101 |
|
AC_CHECK_LIB([prot], [getluid], [ LIBS="$LIBS -lprot" |
1102 |
|
AC_CHECK_FUNCS([getluid setluid], , , [-lprot]) |
1019 |
– |
AC_DEFINE([HAVE_SECUREWARE]) |
1020 |
– |
AC_DEFINE([DISABLE_SHADOW]) |
1103 |
|
], , ) |
1104 |
|
;; |
1105 |
|
*) AC_DEFINE([LOCKED_PASSWD_STRING], ["*LK*"]) |
1024 |
– |
check_for_libcrypt_later=1 |
1106 |
|
;; |
1107 |
|
esac |
1108 |
|
;; |
1135 |
|
TEST_SHELL=$SHELL # let configure find us a capable shell |
1136 |
|
SKIP_DISABLE_LASTLOG_DEFINE=yes |
1137 |
|
;; |
1057 |
– |
*-*-unicosmk*) |
1058 |
– |
AC_DEFINE([NO_SSH_LASTLOG], [1], |
1059 |
– |
[Define if you don't want to use lastlog in session.c]) |
1060 |
– |
AC_DEFINE([SETEUID_BREAKS_SETUID]) |
1061 |
– |
AC_DEFINE([BROKEN_SETREUID]) |
1062 |
– |
AC_DEFINE([BROKEN_SETREGID]) |
1063 |
– |
AC_DEFINE([USE_PIPES]) |
1064 |
– |
AC_DEFINE([DISABLE_FD_PASSING]) |
1065 |
– |
LDFLAGS="$LDFLAGS" |
1066 |
– |
LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
1067 |
– |
MANTYPE=cat |
1068 |
– |
;; |
1069 |
– |
*-*-unicosmp*) |
1070 |
– |
AC_DEFINE([SETEUID_BREAKS_SETUID]) |
1071 |
– |
AC_DEFINE([BROKEN_SETREUID]) |
1072 |
– |
AC_DEFINE([BROKEN_SETREGID]) |
1073 |
– |
AC_DEFINE([WITH_ABBREV_NO_TTY]) |
1074 |
– |
AC_DEFINE([USE_PIPES]) |
1075 |
– |
AC_DEFINE([DISABLE_FD_PASSING]) |
1076 |
– |
LDFLAGS="$LDFLAGS" |
1077 |
– |
LIBS="$LIBS -lgen -lacid -ldb" |
1078 |
– |
MANTYPE=cat |
1079 |
– |
;; |
1080 |
– |
*-*-unicos*) |
1081 |
– |
AC_DEFINE([SETEUID_BREAKS_SETUID]) |
1082 |
– |
AC_DEFINE([BROKEN_SETREUID]) |
1083 |
– |
AC_DEFINE([BROKEN_SETREGID]) |
1084 |
– |
AC_DEFINE([USE_PIPES]) |
1085 |
– |
AC_DEFINE([DISABLE_FD_PASSING]) |
1086 |
– |
AC_DEFINE([NO_SSH_LASTLOG]) |
1087 |
– |
LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal" |
1088 |
– |
LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm" |
1089 |
– |
MANTYPE=cat |
1090 |
– |
;; |
1138 |
|
*-dec-osf*) |
1139 |
|
AC_MSG_CHECKING([for Digital Unix SIA]) |
1140 |
|
no_osfsia="" |
1379 |
|
AC_SEARCH_LIBS([inet_ntop], [resolv nsl]) |
1380 |
|
AC_SEARCH_LIBS([gethostbyname], [resolv nsl]) |
1381 |
|
|
1382 |
+ |
# "Particular Function Checks" |
1383 |
+ |
# see https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Functions.html |
1384 |
|
AC_FUNC_STRFTIME |
1385 |
+ |
AC_FUNC_MALLOC |
1386 |
+ |
AC_FUNC_REALLOC |
1387 |
+ |
# autoconf doesn't have AC_FUNC_CALLOC so fake it if malloc returns NULL; |
1388 |
+ |
AC_MSG_CHECKING([if calloc(0, N) returns non-null]) |
1389 |
+ |
AC_RUN_IFELSE( |
1390 |
+ |
[AC_LANG_PROGRAM( |
1391 |
+ |
[[ #include <stdlib.h> ]], |
1392 |
+ |
[[ void *p = calloc(0, 1); exit(p == NULL); ]] |
1393 |
+ |
)], |
1394 |
+ |
[ func_calloc_0_nonnull=yes ], |
1395 |
+ |
[ func_calloc_0_nonnull=no ], |
1396 |
+ |
[ AC_MSG_WARN([cross compiling: assuming same as malloc]) |
1397 |
+ |
func_calloc_0_nonnull="$ac_cv_func_malloc_0_nonnull"] |
1398 |
+ |
) |
1399 |
+ |
AC_MSG_RESULT([$func_calloc_0_nonnull]) |
1400 |
|
|
1401 |
+ |
if test "x$func_calloc_0_nonnull" = "xyes"; then |
1402 |
+ |
AC_DEFINE(HAVE_CALLOC, 1, [calloc(0, x) returns non-null]) |
1403 |
+ |
else |
1404 |
+ |
AC_DEFINE(HAVE_CALLOC, 0, [calloc(0, x) returns NULL]) |
1405 |
+ |
AC_DEFINE(calloc, rpl_calloc, |
1406 |
+ |
[Define to rpl_calloc if the replacement function should be used.]) |
1407 |
+ |
fi |
1408 |
+ |
|
1409 |
|
# Check for ALTDIRFUNC glob() extension |
1410 |
|
AC_MSG_CHECKING([for GLOB_ALTDIRFUNC support]) |
1411 |
|
AC_EGREP_CPP([FOUNDIT], |
1493 |
|
AC_MSG_RESULT([no]) |
1494 |
|
fi |
1495 |
|
|
1424 |
– |
# Check whether user wants S/Key support |
1425 |
– |
SKEY_MSG="no" |
1426 |
– |
AC_ARG_WITH([skey], |
1427 |
– |
[ --with-skey[[=PATH]] Enable S/Key support (optionally in PATH)], |
1428 |
– |
[ |
1429 |
– |
if test "x$withval" != "xno" ; then |
1430 |
– |
|
1431 |
– |
if test "x$withval" != "xyes" ; then |
1432 |
– |
CPPFLAGS="$CPPFLAGS -I${withval}/include" |
1433 |
– |
LDFLAGS="$LDFLAGS -L${withval}/lib" |
1434 |
– |
fi |
1435 |
– |
|
1436 |
– |
AC_DEFINE([SKEY], [1], [Define if you want S/Key support]) |
1437 |
– |
LIBS="-lskey $LIBS" |
1438 |
– |
SKEY_MSG="yes" |
1439 |
– |
|
1440 |
– |
AC_MSG_CHECKING([for s/key support]) |
1441 |
– |
AC_LINK_IFELSE( |
1442 |
– |
[AC_LANG_PROGRAM([[ |
1443 |
– |
#include <stdio.h> |
1444 |
– |
#include <skey.h> |
1445 |
– |
]], [[ |
1446 |
– |
char *ff = skey_keyinfo(""); ff=""; |
1447 |
– |
exit(0); |
1448 |
– |
]])], |
1449 |
– |
[AC_MSG_RESULT([yes])], |
1450 |
– |
[ |
1451 |
– |
AC_MSG_RESULT([no]) |
1452 |
– |
AC_MSG_ERROR([** Incomplete or missing s/key libraries.]) |
1453 |
– |
]) |
1454 |
– |
AC_MSG_CHECKING([if skeychallenge takes 4 arguments]) |
1455 |
– |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ |
1456 |
– |
#include <stdio.h> |
1457 |
– |
#include <skey.h> |
1458 |
– |
]], [[ |
1459 |
– |
(void)skeychallenge(NULL,"name","",0); |
1460 |
– |
]])], |
1461 |
– |
[ |
1462 |
– |
AC_MSG_RESULT([yes]) |
1463 |
– |
AC_DEFINE([SKEYCHALLENGE_4ARG], [1], |
1464 |
– |
[Define if your skeychallenge() |
1465 |
– |
function takes 4 arguments (NetBSD)])], |
1466 |
– |
[ |
1467 |
– |
AC_MSG_RESULT([no]) |
1468 |
– |
]) |
1469 |
– |
fi |
1470 |
– |
] |
1471 |
– |
) |
1472 |
– |
|
1496 |
|
# Check whether user wants to use ldns |
1497 |
|
LDNS_MSG="no" |
1498 |
|
AC_ARG_WITH(ldns, |
1501 |
|
ldns="" |
1502 |
|
if test "x$withval" = "xyes" ; then |
1503 |
|
AC_PATH_TOOL([LDNSCONFIG], [ldns-config], [no]) |
1504 |
< |
if test "x$PKGCONFIG" = "xno"; then |
1504 |
> |
if test "x$LDNSCONFIG" = "xno"; then |
1505 |
|
CPPFLAGS="$CPPFLAGS -I${withval}/include" |
1506 |
|
LDFLAGS="$LDFLAGS -L${withval}/lib" |
1507 |
|
LIBS="-lldns $LIBS" |
1509 |
|
else |
1510 |
|
LIBS="$LIBS `$LDNSCONFIG --libs`" |
1511 |
|
CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`" |
1512 |
+ |
ldns=yes |
1513 |
|
fi |
1514 |
|
elif test "x$withval" != "xno" ; then |
1515 |
|
CPPFLAGS="$CPPFLAGS -I${withval}/include" |
1709 |
|
bcrypt_pbkdf \ |
1710 |
|
bindresvport_sa \ |
1711 |
|
blf_enc \ |
1712 |
+ |
bzero \ |
1713 |
|
cap_rights_limit \ |
1714 |
|
clock \ |
1715 |
|
closefrom \ |
1720 |
|
explicit_bzero \ |
1721 |
|
fchmod \ |
1722 |
|
fchown \ |
1723 |
+ |
flock \ |
1724 |
|
freeaddrinfo \ |
1725 |
+ |
freezero \ |
1726 |
|
fstatfs \ |
1727 |
|
fstatvfs \ |
1728 |
|
futimes \ |
1729 |
|
getaddrinfo \ |
1730 |
|
getcwd \ |
1731 |
|
getgrouplist \ |
1732 |
+ |
getline \ |
1733 |
|
getnameinfo \ |
1734 |
|
getopt \ |
1735 |
+ |
getpagesize \ |
1736 |
|
getpeereid \ |
1737 |
|
getpeerucred \ |
1738 |
|
getpgid \ |
1710 |
– |
getpgrp \ |
1739 |
|
_getpty \ |
1740 |
|
getrlimit \ |
1741 |
+ |
getrandom \ |
1742 |
+ |
getsid \ |
1743 |
|
getttyent \ |
1744 |
|
glob \ |
1745 |
|
group_from_gid \ |
1761 |
|
poll \ |
1762 |
|
prctl \ |
1763 |
|
pstat \ |
1764 |
+ |
raise \ |
1765 |
|
readpassphrase \ |
1766 |
|
reallocarray \ |
1767 |
|
recvmsg \ |
1768 |
+ |
recallocarray \ |
1769 |
|
rresvport_af \ |
1770 |
|
sendmsg \ |
1771 |
|
setdtablesize \ |
1796 |
|
strlcat \ |
1797 |
|
strlcpy \ |
1798 |
|
strmode \ |
1799 |
+ |
strndup \ |
1800 |
|
strnlen \ |
1801 |
|
strnvis \ |
1802 |
|
strptime \ |
1803 |
+ |
strsignal \ |
1804 |
|
strtonum \ |
1805 |
|
strtoll \ |
1806 |
|
strtoul \ |
1820 |
|
warn \ |
1821 |
|
]) |
1822 |
|
|
1823 |
+ |
AC_CHECK_DECLS([bzero]) |
1824 |
+ |
|
1825 |
|
dnl Wide character support. |
1826 |
|
AC_CHECK_FUNCS([mblen mbtowc nl_langinfo wcwidth]) |
1827 |
|
|
1864 |
|
if test "x$openssl" = "xyes" && test "x$disable_pkcs11" = "x"; then |
1865 |
|
# PKCS#11 support requires dlopen() and co |
1866 |
|
AC_SEARCH_LIBS([dlopen], [dl], |
1867 |
< |
[AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support])] |
1867 |
> |
AC_CHECK_DECL([RTLD_NOW], |
1868 |
> |
AC_DEFINE([ENABLE_PKCS11], [], [Enable for PKCS#11 support]), |
1869 |
> |
[], [#include <dlfcn.h>] |
1870 |
> |
) |
1871 |
|
) |
1872 |
|
fi |
1873 |
|
|
1894 |
|
[AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime])]) |
1895 |
|
|
1896 |
|
dnl Make sure prototypes are defined for these before using them. |
1858 |
– |
AC_CHECK_DECL([getrusage], [AC_CHECK_FUNCS([getrusage])]) |
1897 |
|
AC_CHECK_DECL([strsep], |
1898 |
|
[AC_CHECK_FUNCS([strsep])], |
1899 |
|
[], |
1929 |
|
#endif |
1930 |
|
]) |
1931 |
|
|
1932 |
< |
AC_CHECK_DECLS([writev], , , [ |
1932 |
> |
AC_CHECK_DECLS([readv, writev], , , [ |
1933 |
|
#include <sys/types.h> |
1934 |
|
#include <sys/uio.h> |
1935 |
|
#include <unistd.h> |
2046 |
|
) |
2047 |
|
]) |
2048 |
|
|
2049 |
+ |
AC_MSG_CHECKING([for working fflush(NULL)]) |
2050 |
+ |
AC_RUN_IFELSE( |
2051 |
+ |
[AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(NULL); exit(0);]])], |
2052 |
+ |
AC_MSG_RESULT([yes]), |
2053 |
+ |
[AC_MSG_RESULT([no]) |
2054 |
+ |
AC_DEFINE([FFLUSH_NULL_BUG], [1], |
2055 |
+ |
[define if fflush(NULL) does not work])], |
2056 |
+ |
AC_MSG_WARN([cross compiling: assuming working]) |
2057 |
+ |
) |
2058 |
+ |
|
2059 |
|
dnl Checks for time functions |
2060 |
|
AC_CHECK_FUNCS([gettimeofday time]) |
2061 |
|
dnl Checks for utmp functions |
2101 |
|
) |
2102 |
|
fi |
2103 |
|
|
2104 |
+ |
if test "x$ac_cv_func_snprintf" = "xyes" ; then |
2105 |
+ |
AC_MSG_CHECKING([whether snprintf understands %zu]) |
2106 |
+ |
AC_RUN_IFELSE( |
2107 |
+ |
[AC_LANG_PROGRAM([[ |
2108 |
+ |
#include <sys/types.h> |
2109 |
+ |
#include <stdio.h> |
2110 |
+ |
]], |
2111 |
+ |
[[ |
2112 |
+ |
size_t a = 1, b = 2; |
2113 |
+ |
char z[128]; |
2114 |
+ |
snprintf(z, sizeof z, "%zu%zu", a, b); |
2115 |
+ |
exit(strcmp(z, "12")); |
2116 |
+ |
]])], |
2117 |
+ |
[AC_MSG_RESULT([yes])], |
2118 |
+ |
[ |
2119 |
+ |
AC_MSG_RESULT([no]) |
2120 |
+ |
AC_DEFINE([BROKEN_SNPRINTF], [1], |
2121 |
+ |
[snprintf does not understand %zu]) |
2122 |
+ |
], |
2123 |
+ |
[ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ] |
2124 |
+ |
) |
2125 |
+ |
fi |
2126 |
+ |
|
2127 |
|
# We depend on vsnprintf returning the right thing on overflow: the |
2128 |
|
# number of characters it tried to create (as per SUSv3) |
2129 |
|
if test "x$ac_cv_func_vsnprintf" = "xyes" ; then |
2450 |
|
) |
2451 |
|
fi |
2452 |
|
|
2453 |
< |
AC_FUNC_GETPGRP |
2453 |
> |
AC_CHECK_FUNCS([getpgrp],[ |
2454 |
> |
AC_MSG_CHECKING([if getpgrp accepts zero args]) |
2455 |
> |
AC_COMPILE_IFELSE( |
2456 |
> |
[AC_LANG_PROGRAM([[$ac_includes_default]], [[ getpgrp(); ]])], |
2457 |
> |
[ AC_MSG_RESULT([yes]) |
2458 |
> |
AC_DEFINE([GETPGRP_VOID], [1], [getpgrp takes zero args])], |
2459 |
> |
[ AC_MSG_RESULT([no]) |
2460 |
> |
AC_DEFINE([GETPGRP_VOID], [0], [getpgrp takes one arg])] |
2461 |
> |
) |
2462 |
> |
]) |
2463 |
|
|
2464 |
|
# Search for OpenSSL |
2465 |
|
saved_CPPFLAGS="$CPPFLAGS" |
2612 |
|
ssl_library_ver=`cat conftest.ssllibver` |
2613 |
|
# Check version is supported. |
2614 |
|
case "$ssl_library_ver" in |
2615 |
< |
10000*|0*) |
2616 |
< |
AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")]) |
2617 |
< |
;; |
2618 |
< |
*) ;; |
2615 |
> |
10000*|0*) |
2616 |
> |
AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")]) |
2617 |
> |
;; |
2618 |
> |
100*) ;; # 1.0.x |
2619 |
> |
101000[0123456]*) |
2620 |
> |
# https://github.com/openssl/openssl/pull/4613 |
2621 |
> |
AC_MSG_ERROR([OpenSSL 1.1.x versions prior to 1.1.0g have a bug that breaks their use with OpenSSH (have "$ssl_library_ver")]) |
2622 |
> |
;; |
2623 |
> |
101*) ;; # 1.1.x |
2624 |
> |
200*) ;; # LibreSSL |
2625 |
> |
*) |
2626 |
> |
AC_MSG_ERROR([OpenSSL > 1.1.x is not yet supported (have "$ssl_library_ver")]) |
2627 |
> |
;; |
2628 |
|
esac |
2629 |
|
AC_MSG_RESULT([$ssl_library_ver]) |
2630 |
|
], |
2796 |
|
[AC_DEFINE([HAVE_EVP_CIPHER_CTX_CTRL], [1], |
2797 |
|
[Define if libcrypto has EVP_CIPHER_CTX_ctrl])]) |
2798 |
|
|
2799 |
+ |
# LibreSSL/OpenSSL 1.1x API |
2800 |
+ |
AC_SEARCH_LIBS([DH_get0_key], [crypto], |
2801 |
+ |
[AC_DEFINE([HAVE_DH_GET0_KEY], [1], |
2802 |
+ |
[Define if libcrypto has DH_get0_key])]) |
2803 |
+ |
AC_SEARCH_LIBS([DH_get0_pqg], [crypto], |
2804 |
+ |
[AC_DEFINE([HAVE_DH_GET0_PQG], [1], |
2805 |
+ |
[Define if libcrypto has DH_get0_pqg])]) |
2806 |
+ |
AC_SEARCH_LIBS([DH_set0_key], [crypto], |
2807 |
+ |
[AC_DEFINE([HAVE_DH_SET0_KEY], [1], |
2808 |
+ |
[Define if libcrypto has DH_set0_key])]) |
2809 |
+ |
AC_SEARCH_LIBS([DH_set_length], [crypto], |
2810 |
+ |
[AC_DEFINE([HAVE_DH_SET_LENGTH], [1], |
2811 |
+ |
[Define if libcrypto has DH_set_length])]) |
2812 |
+ |
AC_SEARCH_LIBS([DH_set0_pqg], [crypto], |
2813 |
+ |
[AC_DEFINE([HAVE_DH_SET0_PQG], [1], |
2814 |
+ |
[Define if libcrypto has DH_set0_pqg])]) |
2815 |
+ |
|
2816 |
+ |
AC_SEARCH_LIBS([DSA_get0_key], [crypto], |
2817 |
+ |
[AC_DEFINE([HAVE_DSA_GET0_KEY], [1], |
2818 |
+ |
[Define if libcrypto has DSA_get0_key])]) |
2819 |
+ |
AC_SEARCH_LIBS([DSA_get0_pqg], [crypto], |
2820 |
+ |
[AC_DEFINE([HAVE_DSA_GET0_PQG], [1], |
2821 |
+ |
[Define if libcrypto has DSA_get0_pqg])]) |
2822 |
+ |
AC_SEARCH_LIBS([DSA_set0_key], [crypto], |
2823 |
+ |
[AC_DEFINE([HAVE_DSA_SET0_KEY], [1], |
2824 |
+ |
[Define if libcrypto has DSA_set0_key])]) |
2825 |
+ |
AC_SEARCH_LIBS([DSA_set0_pqg], [crypto], |
2826 |
+ |
[AC_DEFINE([HAVE_DSA_SET0_PQG], [1], |
2827 |
+ |
[Define if libcrypto has DSA_set0_pqg])]) |
2828 |
+ |
|
2829 |
+ |
AC_SEARCH_LIBS([DSA_SIG_get0], [crypto], |
2830 |
+ |
[AC_DEFINE([HAVE_DSA_SIG_GET0], [1], |
2831 |
+ |
[Define if libcrypto has DSA_SIG_get0])]) |
2832 |
+ |
AC_SEARCH_LIBS([DSA_SIG_set0], [crypto], |
2833 |
+ |
[AC_DEFINE([HAVE_DSA_SIG_SET0], [1], |
2834 |
+ |
[Define if libcrypto has DSA_SIG_set0])]) |
2835 |
+ |
|
2836 |
+ |
AC_SEARCH_LIBS([ECDSA_SIG_get0], [crypto], |
2837 |
+ |
[AC_DEFINE([HAVE_ECDSA_SIG_GET0], [1], |
2838 |
+ |
[Define if libcrypto has ECDSA_SIG_get0])]) |
2839 |
+ |
AC_SEARCH_LIBS([ECDSA_SIG_set0], [crypto], |
2840 |
+ |
[AC_DEFINE([HAVE_ECDSA_SIG_SET0], [1], |
2841 |
+ |
[Define if libcrypto has ECDSA_SIG_set0])]) |
2842 |
+ |
|
2843 |
+ |
AC_SEARCH_LIBS([EVP_CIPHER_CTX_iv], [crypto], |
2844 |
+ |
[AC_DEFINE([HAVE_EVP_CIPHER_CTX_IV], [1], |
2845 |
+ |
[Define if libcrypto has EVP_CIPHER_CTX_iv])]) |
2846 |
+ |
AC_SEARCH_LIBS([EVP_CIPHER_CTX_iv_noconst], [crypto], |
2847 |
+ |
[AC_DEFINE([HAVE_EVP_CIPHER_CTX_IV_NOCONST], [1], |
2848 |
+ |
[Define if libcrypto has EVP_CIPHER_CTX_iv_noconst])]) |
2849 |
+ |
AC_SEARCH_LIBS([EVP_CIPHER_CTX_get_iv], [crypto], |
2850 |
+ |
[AC_DEFINE([HAVE_EVP_CIPHER_CTX_GET_IV], [1], |
2851 |
+ |
[Define if libcrypto has EVP_CIPHER_CTX_get_iv])]) |
2852 |
+ |
AC_SEARCH_LIBS([EVP_CIPHER_CTX_set_iv], [crypto], |
2853 |
+ |
[AC_DEFINE([HAVE_EVP_CIPHER_CTX_GET_IV], [1], |
2854 |
+ |
[Define if libcrypto has EVP_CIPHER_CTX_set_iv])]) |
2855 |
+ |
|
2856 |
+ |
AC_SEARCH_LIBS([RSA_get0_crt_params], [crypto], |
2857 |
+ |
[AC_DEFINE([HAVE_RSA_GET0_CRT_PARAMS], [1], |
2858 |
+ |
[Define if libcrypto has RSA_get0_crt_params])]) |
2859 |
+ |
AC_SEARCH_LIBS([RSA_get0_factors], [crypto], |
2860 |
+ |
[AC_DEFINE([HAVE_RSA_GET0_FACTORS], [1], |
2861 |
+ |
[Define if libcrypto has RSA_get0_factors])]) |
2862 |
+ |
AC_SEARCH_LIBS([RSA_get0_key], [crypto], |
2863 |
+ |
[AC_DEFINE([HAVE_RSA_GET0_KEY], [1], |
2864 |
+ |
[Define if libcrypto has RSA_get0_key])]) |
2865 |
+ |
AC_SEARCH_LIBS([RSA_set0_crt_params], [crypto], |
2866 |
+ |
[AC_DEFINE([HAVE_RSA_SET0_CRT_PARAMS], [1], |
2867 |
+ |
[Define if libcrypto has RSA_get0_srt_params])]) |
2868 |
+ |
AC_SEARCH_LIBS([RSA_set0_factors], [crypto], |
2869 |
+ |
[AC_DEFINE([HAVE_RSA_SET0_FACTORS], [1], |
2870 |
+ |
[Define if libcrypto has RSA_set0_factors])]) |
2871 |
+ |
AC_SEARCH_LIBS([RSA_set0_key], [crypto], |
2872 |
+ |
[AC_DEFINE([HAVE_RSA_SET0_KEY], [1], |
2873 |
+ |
[Define if libcrypto has RSA_set0_key])]) |
2874 |
+ |
|
2875 |
+ |
AC_SEARCH_LIBS([RSA_meth_free], [crypto], |
2876 |
+ |
[AC_DEFINE([HAVE_RSA_METH_FREE], [1], |
2877 |
+ |
[Define if libcrypto has RSA_meth_free])]) |
2878 |
+ |
AC_SEARCH_LIBS([RSA_meth_dup], [crypto], |
2879 |
+ |
[AC_DEFINE([HAVE_RSA_METH_DUP], [1], |
2880 |
+ |
[Define if libcrypto has RSA_meth_dup])]) |
2881 |
+ |
AC_SEARCH_LIBS([RSA_meth_set1_name], [crypto], |
2882 |
+ |
[AC_DEFINE([HAVE_RSA_METH_SET1_NAME], [1], |
2883 |
+ |
[Define if libcrypto has RSA_meth_set1_name])]) |
2884 |
+ |
AC_SEARCH_LIBS([RSA_meth_get_finish], [crypto], |
2885 |
+ |
[AC_DEFINE([HAVE_RSA_METH_GET_FINISH], [1], |
2886 |
+ |
[Define if libcrypto has RSA_meth_get_finish])]) |
2887 |
+ |
AC_SEARCH_LIBS([RSA_meth_set_priv_enc], [crypto], |
2888 |
+ |
[AC_DEFINE([HAVE_RSA_METH_SET_PRIV_ENC], [1], |
2889 |
+ |
[Define if libcrypto has RSA_meth_set_priv_enc])]) |
2890 |
+ |
AC_SEARCH_LIBS([RSA_meth_set_priv_dec], [crypto], |
2891 |
+ |
[AC_DEFINE([HAVE_RSA_METH_SET_PRIV_DEC], [1], |
2892 |
+ |
[Define if libcrypto has RSA_meth_set_priv_dec])]) |
2893 |
+ |
AC_SEARCH_LIBS([RSA_meth_set_finish], [crypto], |
2894 |
+ |
[AC_DEFINE([HAVE_RSA_METH_SET_FINISH], [1], |
2895 |
+ |
[Define if libcrypto has RSA_meth_set_finish])]) |
2896 |
+ |
|
2897 |
+ |
AC_SEARCH_LIBS([EVP_PKEY_get0_RSA], [crypto], |
2898 |
+ |
[AC_DEFINE([HAVE_EVP_PKEY_GET0_RSA], [1], |
2899 |
+ |
[Define if libcrypto has EVP_PKEY_get0_RSA])]) |
2900 |
+ |
|
2901 |
+ |
AC_SEARCH_LIBS([EVP_MD_CTX_new], [crypto], |
2902 |
+ |
[AC_DEFINE([HAVE_EVP_MD_CTX_NEW], [1], |
2903 |
+ |
[Define if libcrypto has EVP_MD_CTX_new])]) |
2904 |
+ |
AC_SEARCH_LIBS([EVP_MD_CTX_free], [crypto], |
2905 |
+ |
[AC_DEFINE([HAVE_EVP_MD_CTX_FREE], [1], |
2906 |
+ |
[Define if libcrypto has EVP_MD_CTX_free])]) |
2907 |
+ |
|
2908 |
|
AC_MSG_CHECKING([if EVP_DigestUpdate returns an int]) |
2909 |
|
AC_LINK_IFELSE( |
2910 |
|
[AC_LANG_PROGRAM([[ |
2966 |
|
#include <openssl/evp.h> |
2967 |
|
#include <openssl/objects.h> |
2968 |
|
#include <openssl/opensslv.h> |
2771 |
– |
#if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ |
2772 |
– |
# error "OpenSSL < 0.9.8g has unreliable ECC code" |
2773 |
– |
#endif |
2969 |
|
]], [[ |
2970 |
|
EC_KEY *e = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); |
2971 |
|
const EVP_MD *m = EVP_sha256(); /* We need this too */ |
2984 |
|
#include <openssl/evp.h> |
2985 |
|
#include <openssl/objects.h> |
2986 |
|
#include <openssl/opensslv.h> |
2792 |
– |
#if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ |
2793 |
– |
# error "OpenSSL < 0.9.8g has unreliable ECC code" |
2794 |
– |
#endif |
2987 |
|
]], [[ |
2988 |
|
EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp384r1); |
2989 |
|
const EVP_MD *m = EVP_sha384(); /* We need this too */ |
3002 |
|
#include <openssl/evp.h> |
3003 |
|
#include <openssl/objects.h> |
3004 |
|
#include <openssl/opensslv.h> |
2813 |
– |
#if OPENSSL_VERSION_NUMBER < 0x0090807f /* 0.9.8g */ |
2814 |
– |
# error "OpenSSL < 0.9.8g has unreliable ECC code" |
2815 |
– |
#endif |
3005 |
|
]], [[ |
3006 |
|
EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1); |
3007 |
|
const EVP_MD *m = EVP_sha512(); /* We need this too */ |
3095 |
|
|
3096 |
|
### Configure cryptographic random number support |
3097 |
|
|
3098 |
< |
# Check wheter OpenSSL seeds itself |
3098 |
> |
# Check whether OpenSSL seeds itself |
3099 |
|
if test "x$openssl" = "xyes" ; then |
3100 |
|
AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded]) |
3101 |
|
AC_RUN_IFELSE( |
3386 |
|
select_works_with_rlimit=yes], |
3387 |
|
[AC_MSG_RESULT([no]) |
3388 |
|
select_works_with_rlimit=no], |
3389 |
< |
[AC_MSG_WARN([cross compiling: assuming yes])] |
3389 |
> |
[AC_MSG_WARN([cross compiling: assuming yes]) |
3390 |
> |
select_works_with_rlimit=yes] |
3391 |
|
) |
3392 |
|
|
3393 |
|
AC_MSG_CHECKING([if setrlimit(RLIMIT_NOFILE,{0,0}) works]) |
3413 |
|
rlimit_nofile_zero_works=yes], |
3414 |
|
[AC_MSG_RESULT([no]) |
3415 |
|
rlimit_nofile_zero_works=no], |
3416 |
< |
[AC_MSG_WARN([cross compiling: assuming yes])] |
3416 |
> |
[AC_MSG_WARN([cross compiling: assuming yes]) |
3417 |
> |
rlimit_nofile_zero_works=yes] |
3418 |
|
) |
3419 |
|
|
3420 |
|
AC_MSG_CHECKING([if setrlimit RLIMIT_FSIZE works]) |
3477 |
|
AC_DEFINE([SANDBOX_SECCOMP_FILTER], [1], [Sandbox using seccomp filter]) |
3478 |
|
elif test "x$sandbox_arg" = "xcapsicum" || \ |
3479 |
|
( test -z "$sandbox_arg" && \ |
3480 |
< |
test "x$ac_cv_header_sys_capability_h" = "xyes" && \ |
3480 |
> |
test "x$ac_cv_header_sys_capsicum_h" = "xyes" && \ |
3481 |
|
test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then |
3482 |
< |
test "x$ac_cv_header_sys_capability_h" != "xyes" && \ |
3483 |
< |
AC_MSG_ERROR([capsicum sandbox requires sys/capability.h header]) |
3482 |
> |
test "x$ac_cv_header_sys_capsicum_h" != "xyes" && \ |
3483 |
> |
AC_MSG_ERROR([capsicum sandbox requires sys/capsicum.h header]) |
3484 |
|
test "x$ac_cv_func_cap_rights_limit" != "xyes" && \ |
3485 |
|
AC_MSG_ERROR([capsicum sandbox requires cap_rights_limit function]) |
3486 |
|
SANDBOX_STYLE="capsicum" |
3821 |
|
#endif |
3822 |
|
]) |
3823 |
|
|
3824 |
+ |
AC_CHECK_MEMBERS([struct statfs.f_flags], [], [], [[ |
3825 |
+ |
#include <sys/types.h> |
3826 |
+ |
#ifdef HAVE_SYS_BITYPES_H |
3827 |
+ |
#include <sys/bitypes.h> |
3828 |
+ |
#endif |
3829 |
+ |
#ifdef HAVE_SYS_STATFS_H |
3830 |
+ |
#include <sys/statfs.h> |
3831 |
+ |
#endif |
3832 |
+ |
#ifdef HAVE_SYS_STATVFS_H |
3833 |
+ |
#include <sys/statvfs.h> |
3834 |
+ |
#endif |
3835 |
+ |
#ifdef HAVE_SYS_VFS_H |
3836 |
+ |
#include <sys/vfs.h> |
3837 |
+ |
#endif |
3838 |
+ |
]]) |
3839 |
+ |
|
3840 |
+ |
|
3841 |
|
AC_CHECK_TYPES([in_addr_t, in_port_t], , , |
3842 |
|
[#include <sys/types.h> |
3843 |
|
#include <netinet/in.h>]) |
3994 |
|
|
3995 |
|
AC_CHECK_TYPES([struct timespec]) |
3996 |
|
|
3997 |
< |
# We need int64_t or else certian parts of the compile will fail. |
3997 |
> |
# We need int64_t or else certain parts of the compile will fail. |
3998 |
|
if test "x$ac_cv_have_int64_t" = "xno" && \ |
3999 |
|
test "x$ac_cv_sizeof_long_int" != "x8" && \ |
4000 |
|
test "x$ac_cv_sizeof_long_long_int" = "x0" ; then |
4053 |
|
OSSH_CHECK_HEADER_FOR_FIELD([ut_tv], [utmpx.h], [HAVE_TV_IN_UTMPX]) |
4054 |
|
|
4055 |
|
AC_CHECK_MEMBERS([struct stat.st_blksize]) |
4056 |
+ |
AC_CHECK_MEMBERS([struct stat.st_mtim]) |
4057 |
+ |
AC_CHECK_MEMBERS([struct stat.st_mtime]) |
4058 |
|
AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_class, |
4059 |
|
struct passwd.pw_change, struct passwd.pw_expire], |
4060 |
|
[], [], [[ |
4952 |
|
fi |
4953 |
|
|
4954 |
|
AC_ARG_WITH([pid-dir], |
4955 |
< |
[ --with-pid-dir=PATH Specify location of ssh.pid file], |
4955 |
> |
[ --with-pid-dir=PATH Specify location of sshd.pid file], |
4956 |
|
[ |
4957 |
|
if test -n "$withval" && test "x$withval" != "xno" && \ |
4958 |
|
test "x${withval}" != "xyes"; then |
5253 |
|
AC_SUBST([TEST_SSH_UTF8], [$TEST_SSH_UTF8]) |
5254 |
|
AC_SUBST([TEST_MALLOC_OPTIONS], [$TEST_MALLOC_OPTIONS]) |
5255 |
|
AC_SUBST([UNSUPPORTED_ALGORITHMS], [$unsupported_algorithms]) |
5256 |
+ |
AC_SUBST([DEPEND], [$(cat $srcdir/.depend)]) |
5257 |
|
|
5258 |
+ |
CFLAGS="${CFLAGS} ${CFLAGS_AFTER}" |
5259 |
+ |
LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}" |
5260 |
+ |
|
5261 |
|
AC_EXEEXT |
5262 |
|
AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ |
5263 |
|
openbsd-compat/Makefile openbsd-compat/regress/Makefile \ |
5305 |
|
echo " OSF SIA support: $SIA_MSG" |
5306 |
|
echo " KerberosV support: $KRB5_MSG" |
5307 |
|
echo " SELinux support: $SELINUX_MSG" |
5094 |
– |
echo " Smartcard support: $SCARD_MSG" |
5095 |
– |
echo " S/KEY support: $SKEY_MSG" |
5308 |
|
echo " MD5 password support: $MD5_MSG" |
5309 |
|
echo " libedit support: $LIBEDIT_MSG" |
5310 |
|
echo " libldns support: $LDNS_MSG" |