Test for crypt() rather than crypt.h

Print a message from configure if getpass() or crypt() were missing
This commit is contained in:
Matt Johnston 2015-10-21 23:08:22 +08:00
parent e84cb3c3c2
commit 00798ca8cc
2 changed files with 17 additions and 6 deletions

View File

@ -632,7 +632,7 @@ fi
AC_PROG_GCC_TRADITIONAL AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP AC_FUNC_MEMCMP
AC_FUNC_SELECT_ARGTYPES 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)) AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME))
@ -719,10 +719,21 @@ AC_OUTPUT
AC_MSG_NOTICE() AC_MSG_NOTICE()
if test $BUNDLED_LIBTOM = 1 ; then if test $BUNDLED_LIBTOM = 1 ; then
AC_MSG_NOTICE(Using bundled libtomcrypt and libtommath) AC_MSG_NOTICE([Using bundled libtomcrypt and libtommath])
else 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 fi
AC_MSG_NOTICE() AC_MSG_NOTICE()
AC_MSG_NOTICE(Now edit options.h to choose features.) AC_MSG_NOTICE([Now edit options.h to choose features.])

View File

@ -206,8 +206,8 @@ If you test it please contact the Dropbear author */
* PAM challenge/response. * PAM challenge/response.
* You can't enable both PASSWORD and PAM. */ * You can't enable both PASSWORD and PAM. */
/* This requires crypt.h & crypt. */ /* This requires crypt() */
#ifdef HAVE_CRYPT_H #ifdef HAVE_CRYPT
#define ENABLE_SVR_PASSWORD_AUTH #define ENABLE_SVR_PASSWORD_AUTH
#endif #endif
/* PAM requires ./configure --enable-pam */ /* PAM requires ./configure --enable-pam */