changeset 1159:f567a4152c14

Test for crypt() rather than crypt.h Print a message from configure if getpass() or crypt() were missing
author Matt Johnston <matt@ucc.asn.au>
date Wed, 21 Oct 2015 23:08:22 +0800
parents ef67b57fe438
children 1b583b2994ba
files configure.ac options.h
diffstat 2 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/configure.ac	Wed Oct 21 22:48:15 2015 +0800
+++ b/configure.ac	Wed Oct 21 23:08:22 2015 +0800
@@ -632,7 +632,7 @@
 AC_PROG_GCC_TRADITIONAL
 AC_FUNC_MEMCMP
 AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS([dup2 getpass getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev])
+AC_CHECK_FUNCS([dup2 getpass getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev crypt])
 
 AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME))
 
@@ -719,10 +719,21 @@
 
 AC_MSG_NOTICE()
 if test $BUNDLED_LIBTOM = 1 ; then
-AC_MSG_NOTICE(Using bundled libtomcrypt and libtommath)
+AC_MSG_NOTICE([Using bundled libtomcrypt and libtommath])
 else
-AC_MSG_NOTICE(Using system libtomcrypt and libtommath)
+AC_MSG_NOTICE([Using system libtomcrypt and libtommath])
+fi
+
+
+if test "x$ac_cv_func_getpass" != xyes; then
+AC_MSG_NOTICE()
+AC_MSG_NOTICE([getpass() not available, dbclient will only have public-key authentication])
+fi
+
+if test "x$ac_cv_func_crypt" != xyes; then
+AC_MSG_NOTICE()
+AC_MSG_NOTICE([crypt() not available, dropbear server will not have password authentication])
 fi
 
 AC_MSG_NOTICE()
-AC_MSG_NOTICE(Now edit options.h to choose features.)
+AC_MSG_NOTICE([Now edit options.h to choose features.])
--- a/options.h	Wed Oct 21 22:48:15 2015 +0800
+++ b/options.h	Wed Oct 21 23:08:22 2015 +0800
@@ -206,8 +206,8 @@
  * PAM challenge/response.
  * You can't enable both PASSWORD and PAM. */
 
-/* This requires crypt.h & crypt. */
-#ifdef HAVE_CRYPT_H
+/* This requires crypt() */
+#ifdef HAVE_CRYPT
 #define ENABLE_SVR_PASSWORD_AUTH
 #endif
 /* PAM requires ./configure --enable-pam */