summaryrefslogtreecommitdiffstats
path: root/configure.ac
AgeCommit message (Collapse)Author
2022-04-01Use bash or ksh if available for SH in Makefile.Darren Tucker
2022-03-09Provide killpg implementation.Darren Tucker
Based on github PR#301 for Tandem NonStop.
2022-03-09Check for missing ftruncate prototype.Darren Tucker
From github PR#301 in conjunction with rsbeckerca.
2022-03-08Default to not using sandbox when cross compiling.Darren Tucker
On most systems poll(2) does not work when the number of FDs is reduced with setrlimit, so assume it doesn't when cross compiling and we can't run the test. bz#3398.
2022-02-22Extend select+rlimit sanbox test to include poll.Darren Tucker
POSIX specifies that poll() shall fail if "nfds argument is greater than {OPEN_MAX}". The setrlimit sandbox sets this to effectively zero so this causes poll() to fail in the preauth privsep process. This is likely the underlying cause for the previously observed similar behaviour of select() on plaforms where it is implement in userspace on top of poll().
2022-02-22Include sys/param.h if present.Darren Tucker
Needed for howmany() on MUSL systems such as Alpine.
2022-02-17minix needs BROKEN_POLL too; chokes on /dev/nullDamien Miller
2022-02-11Simplify handling of --with-ssl-dir.Darren Tucker
ok djm@
2022-02-07compat code for fido_assert_set_clientdata()Damien Miller
2022-02-07upstream: use libfido2 1.8.0+ fido_assert_set_clientdata() insteaddjm@openbsd.org
of manually hashing data outselves. Saves a fair bit of code and makes life easier for some -portable platforms. OpenBSD-Commit-ID: 351dfaaa5ab1ee928c0e623041fca28078cff0e0
2022-01-12OS X poll(2) is broken; use compat replacementDamien Miller
Darwin's poll(2) implementation is broken. For character-special devices like /dev/null, it returns POLLNVAL when polled with POLLIN. Apparently this is Apple bug 3710161, which is AFAIK not public, but a websearch will find other OSS projects rediscovering it periodically since it was first identified in 2005 (!!)
2021-12-10Add minix host tuple.Darren Tucker
Define SETEUID_BREAKS_SETUID for it which should make privsep work.
2021-11-19Don't auto-enable Capsicum sandbox on FreeBSD 9/10.Darren Tucker
Since we changed from select() to ppoll() tests have been failing. This seems to be because FreeBSD 10 (and presumably 9) do not allow ppoll() in the privsep process and sshd will fail with "Not permitted in capability mode". Setting CAP_EVENT on the FDs doesn't help, but weirdly, poll() works without that. Those versions are EOL so this situation is unlikely to change.
2021-11-18Add compat implementation of ppoll using pselect.Darren Tucker
2021-11-10Don't trust closefrom() on Linux.Darren Tucker
glibc's closefrom implementation does not work in a chroot when the kernel does not have close_range. It tries to read from /proc/self/fd and when that fails dies with an assertion of sorts. Instead, call close_range ourselves from our compat code and fall back if that fails. bz#3349, with william.wilson at canonical.com and fweimer at redhat.com.
2021-11-06Skip getline() on HP-UX 10.x.Darren Tucker
HP-UX 10.x has a getline() implementation in libc that does not behave as we expect so don't use it. With correction from Thorsten Glaser and typo fix from Larkin Nickle.
2021-10-29Use -Wbitwise-instead-of-logical if supported.Darren Tucker
2021-10-28use -Wmisleading-indentation cflag if availableDamien Miller
ok dtucker@
2021-10-28remove built-in support for md5crypt()Damien Miller
Users of MD5-hashed password should arrange for ./configure to link against libxcrypt or similar. Though it would be better to avoid use of MD5 password hashing entirely, it's arguably worse than DEScrypt. feedback and ok dtucker@
2021-10-01enable security key support for --without-opensslDamien Miller
2021-09-29Look for clang after cc and gcc.Darren Tucker
2021-09-29Remove TEST_SSH_ECC.Darren Tucker
Convert the only remaining user of it to runtime detection using ssh -Q.
2021-09-29Add new compiler hardening flags.Darren Tucker
Add -fzero-call-used-regs and -ftrivial-auto-var-init to the list of compiler hardening flags that configure checks for. These are supported by clang and gcc, and make ROP gadgets less useful and mitigate stack-based infoleaks respectively. ok djm@
2021-09-09Disable tracing on FreeBSD using procctl.David Carlier
Placed at the start of platform_disable_tracing() to prevent declaration after code errors from strict C89 compilers (in the unlikely event that more than one method is enabled).
2021-09-05Correct version_num for OpenSSL dev branch.Darren Tucker
2021-09-05OpenSSL development is now 3.1.*Darren Tucker
2021-08-20Replace shell function with ssh-keygen -A.Darren Tucker
Prevents the init script in the SysV package from trying (and failing) to generate unsupported key types. Remove now-unused COMMENT_OUT_ECC. ok tim@
2021-08-18Check compiler for c99 declarations after code.Darren Tucker
The sntrup761 reference code contains c99-style declarations after code so don't try to build that if the compiler doesn't support it.
2021-07-12Add configure-time detection for SSH_TIME_T_MAX.Darren Tucker
Should fix printing cert times exceeding INT_MAX (bz#3329) on platforms were time_t is a long long. The limit used is for the signed type, so if some system has a 32bit unsigned time_t then the lower limit will still be imposed and we would need to add some way to detect this. Anyone using an unsigned 64bit can let us know when it starts being a problem.
2021-07-09Re-indent krb5 section after pkg-config addition.John Ericson
2021-07-09Support finding Kerberos via pkg-configJohn Ericson
This makes cross compilation easier.
2021-06-04Add pselect implementation for platforms without.Darren Tucker
This is basically the existing notify_pipe kludge from serverloop.c moved behind a pselect interface. It works by installing a signal handler that writes to a pipe that the select is watching, then calls the original handler. The select call in serverloop will become pselect soon, at which point the kludge will be removed from thereand will only exist in the compat layer. Original code by markus, help from djm.
2021-02-26detech BSD libc hash functions in libbsd / libmdDamien Miller
Some Linux distributions are shipping the BSD-style hashing functions (e.g. SHA256Update) in libbsd and/or libmd. Detect this situation to avoid header/replacement clashes later. ok dtucker@
2021-02-18support OpenSSL 3.x cipher IV API changeDamien Miller
OpenSSL renamed the "get current CIPHER_CTX" IV operation in 3.x. This uses the new name if available. https://github.com/openssl/openssl/issues/13411 bz#3238 ok dtucker@
2021-02-18prefer login_getpwclass() to login_getclass()Damien Miller
FreeBSD has login_getpwclass() that does some special magic for UID=0. Prefer this to login_getclass() as its easier to emulate the former with the latter. Based on FreeBSD PR 37416 via Ed Maste; ok dtucker@
2021-02-05Using explicit_memset for the explicit_bzero compatibility layer.David Carlier
Favoriting the native implementation in this case.
2021-01-26Disable sntrup761 if compiler doesn't support VLAs.Darren Tucker
The sntrup761 code sourced from supercop uses variable length arrays. Although widely supported, they are not part of the ANSI C89 spec so if the compiler does not support VLAs, disable the sntrup761x25519-sha512@openssh.com KEX method by replacing the kex functions with no-op ones similar to what we do in kexecdh.c. This should allow OpenSSH to build with a plain C89 compiler again. Spotted by tim@, ok djm@.
2020-11-20Restore correct flags during localtime_r check.Darren Tucker
We were restoring the wrong thing CPPFLAGS (we used CFLAGS) for any platform that doesn't have localtime_r.
2020-11-13Remove use of TIME_WITH_SYS_TIME.Darren Tucker
It was only set by the recently removed AC_HEADER_TIME macro, replace with simple inclusions of both sys/time.h and time.h. Should prevent mis-detection of struct timespec.
2020-11-13Revert "detect Linux/X32 systems"Damien Miller
This reverts commit 5b56bd0affea7b02b540bdbc4d1d271b0e4fc885. The approach used was incorrect; discussion in bz#3085
2020-11-13Remove obsolete AC_HEADER_TIME macro.Darren Tucker
AC_HEADER_TIME is marked as obsolete in autoconf-2.70 and as far as I can tell everything we have that might be old enough to need it doesn't.
2020-11-06Fix function body for variadic macro test.Darren Tucker
AC_LANG_PROGRAM puts its second argument inside main() so we don't need to do it ourselves.
2020-11-06Remove AC_PROC_CC_C99 obsoleted in autoconf 2.70.Darren Tucker
Since we only use it to make sure we can handle variadic macros, explicitly check only for that. with & ok djm@
2020-11-06Move AC_PROG_CC_C99 to immediately afer AC_PROG_CC.Darren Tucker
This puts the related C version selection output in the same place.
2020-11-06AC_CHECK_HEADER() is obsoleted in autoconf 2.70.Darren Tucker
Replace with the non-obsoleted AC_CHECK_HEADERS().
2020-10-27Remove checks for strict POSIX mkdtemp()Damien Miller
We needed a mkdtemp() that accepted template paths that did not end in XXXXXX a long time ago for KRB4, but that code is long deprecated. We no longer need to replace mkdtemp() for strictly following POSIX. ok dtucker@
2020-10-17check for and require a C99 capable compilerDamien Miller
recent logging changes use __VA_ARGS__.
2020-09-18configure.ac: add missing includespedro martelletto
when testing, make sure to include the relevant header files that declare the types of the functions used by the test: - stdio.h for printf(); - stdlib.h for exit(); - string.h for strcmp(); - unistd.h for unlink(), _exit(), fork(), getppid(), sleep().
2020-09-11Move the local m4 macrosSebastian Andrzej Siewior
The `aclocal' step is skipped during `autoreconf' because aclocal.m4 is present. Move the current aclocal.m4 which contains local macros into the m4/ folder. With this change the aclocal.m4 will be re-created during changes to the m4/ macro. This is needed so the `aclocal' can fetch m4 macros from the system if they are references in the configure script. This is a prerequisite to use PKG_CHECK_MODULES. Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
2020-09-02configure.ac: fix libfido2 back-compatpedro martelletto
- HAVE_FIDO_CRED_PROD -> HAVE_FIDO_CRED_PROT; - check for fido_dev_get_touch_begin(), so that HAVE_FIDO_DEV_GET_TOUCH_BEGIN gets defined.