Commit 424589b9 424589b91c3f367e4c9926804df4bf73bf100e59 by Sergey Poznyakoff

Enable GSASL by default.

* am/gsasl.m4 (MU_CHECK_GSASL): Enable GSASL by default.  Other minor fixes.
* am/tls.m4 (MU_CHECK_TLS): Rename to MU_CHECK_GNUTLS.  Check option
arguments.  Check for gnutls library version.
* configure.ac: Update.
* README: Document the change.
* NEWS: Document the change.
1 parent 00906d3b
GNU mailutils NEWS -- history of user-visible changes. 2011-11-21
GNU mailutils NEWS -- history of user-visible changes. 2011-11-23
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
See the end of file for copying conditions.
......@@ -147,6 +147,15 @@ all available DBM libraries it can use.
** Imap and nntp clients are not yet implemented
** Link with GSASL by default
GSASL is used by several Mailutils components (notably pop3d
and imap4d as well as their client counterparts) for authentification.
Since this version, it is enabled by default if configure detects the
presense of GNU SASL version 0.2.3 or later.
This can be disabled using the --without-gsasl option.
** Experimental features
The C++ and Python bindings are considered experimental and unstable.
......
......@@ -156,11 +156,14 @@ mailutils-specific configuration options:
Disable the TLS/SSL encryption via GnuTLS (a Transport Layer
Security Library) in IMAP4/POP3 daemons and utilities.
--with-gsasl
--without-gsasl
Enable GNU SASL support (Simple Authentication and Security
Layer framework). IMAP4d supports this mechanism. This
requires GSASL version 0.2.3 or newer.
Disable GNU SASL support.
GSASL is used by several Mailutils components (notably pop3d
and imap4d as well as their client counterparts) for
authentification. It is enabled by default if configure
detects the presense of GNU SASL version 0.2.3 or later.
--with-gssapi
......
......@@ -14,20 +14,20 @@ dnl
dnl You should have received a copy of the GNU General Public License along
dnl with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
dnl
dnl MU_CHECK_GSASL([VERSION = `'],[ACTION-IF-TRUE=`'],[ACTION-IF-FALSE=`']
AC_DEFUN([MU_CHECK_GSASL],
[AC_CACHE_CHECK([whether to use GNU SASL library],
[mu_cv_lib_gsasl],
[if test "x$mu_cv_lib_gsasl" = x; then
[if test "x$mu_cv_lib_gsasl" = x; then
cached=""
mu_cv_lib_gsasl=no
AC_ARG_WITH(gsasl,
AC_HELP_STRING([--with-gsasl], [use libgsasl for SASL authentication]),
AC_HELP_STRING([--without-gsasl], [do not use libgsasl]),
[case $withval in
yes|no) wantgsasl=$withval;;
*) AC_MSG_ERROR([bad value for --with-gsasl: $withval]);;
esac],
[wantgsasl=no])
[wantgsasl=yes])
if test $wantgsasl = yes; then
AC_CHECK_HEADER(gsasl.h,
......@@ -56,9 +56,17 @@ main()
LIBS=$save_LIBS
fi
fi
fi])
else
cached=" (cached) "
fi
if test $mu_cv_lib_gsasl != no; then
GSASL_LIBS=$mu_cv_lib_gsasl
ifelse([$2],,,[$2])
m4_if([$2],,,[$2])
fi
m4_if([$3],,,[if test $mu_cv_lib_gsasl = no; then
$3
fi])
AC_MSG_CHECKING([whether to use GSASL])
AC_MSG_RESULT(${cached}${mu_cv_lib_gsasl})
])
......
......@@ -15,34 +15,62 @@ dnl
dnl You should have received a copy of the GNU General Public License along
dnl with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
dnl
AC_DEFUN([MU_CHECK_TLS],
dnl MU_CHECK_GNUTLS([VERSION = `'],[ACTION-IF-TRUE=`'],[ACTION-IF-FALSE=`']
AC_DEFUN([MU_CHECK_GNUTLS],
[
if test "x$WITH_GNUTLS" = x; then
if test "x$mu_cv_lib_gnutls" = x; then
cached=""
AC_ARG_WITH([gnutls],
AC_HELP_STRING([--without-gnutls],
[do not use GNU TLS library]),
[WITH_GNUTLS=$withval],
[WITH_GNUTLS=yes])
[case "$withval" in
yes|no) mu_cv_lib_gnutls=$withval;;
*) AC_MSG_ERROR([bad value for --with-gnutls: $withval]);;
esac],
[mu_cv_lib_gnutls=yes])
if test "$WITH_GNUTLS" != "no"; then
if test "$mu_cv_lib_gnutls" != "no"; then
AC_CHECK_HEADER(gnutls/gnutls.h,
[:],
[WITH_GNUTLS=no])
if test "$WITH_GNUTLS" != "no"; then
[mu_cv_lib_gnutls=no])
if test "$mu_cv_lib_gnutls" != "no"; then
saved_LIBS=$LIBS
AC_CHECK_LIB(gcrypt, main,
[TLS_LIBS="-lgcrypt"],
[WITH_GNUTLS=no])
[mu_cv_lib_gnutls=no])
LIBS="$LIBS $TLS_LIBS"
AC_CHECK_LIB(gnutls, gnutls_global_init,
[TLS_LIBS="-lgnutls $TLS_LIBS"],
[WITH_GNUTLS=no])
[mu_cv_lib_gnutls=no])
LIBS=$saved_LIBS
m4_if([$1],,,[if test $mu_cv_lib_gnutls != no; then
LIBS="$LIBS $TLS_LIBS"
AC_TRY_RUN([
#include <gnutls/gnutls.h>
int
main()
{
return gnutls_check_version ("$1") == (char*) 0;
}],
[:],
[mu_cv_lib_gnutls=no],
[mu_cv_lib_gnutls=no])
LIBS=$saved_LIBS
fi])
fi
fi
else
cached=" (cached) "
fi
AC_MSG_CHECKING([whether to use TLS libraries])
AC_MSG_RESULT(${cached}${WITH_GNUTLS})])
m4_if([$2],,,[if test $mu_cv_lib_gnutls != no; then
$2
fi])
m4_if([$3],,,[if test $mu_cv_lib_gnutls = no; then
$3
fi])
AC_MSG_CHECKING([whether to use GNU TLS])
AC_MSG_RESULT(${cached}${mu_cv_lib_gnutls})])
......
......@@ -251,13 +251,13 @@ AC_SUBST(SERV_AUTHLIBS)
AC_SUBST(SERV_AUTHINCS)
AC_ARG_WITH([gssapi],
AC_HELP_STRING([--with-gssapi],
AC_HELP_STRING([--with-gssapi@<:@=PATH@:>@],
[use GSSAPI authentication]),
[WITH_GSSAPI=$withval],
[WITH_GSSAPI=no])
[status_gssapi=$withval],
[status_gssapi=no])
if test "x$WITH_GSSAPI" != "xno"; then
MU_CHECK_GSSAPI($WITH_GSSAPI)
if test "x$status_gssapi" != "xno"; then
MU_CHECK_GSSAPI($status_gssapi)
if test "$GSSAPI_IMPL" = "none"; then
AC_CACHE_SAVE
AC_MSG_RESULT([GSSAPI libraries not found])
......@@ -299,19 +299,19 @@ AC_SUBST(SITE_CRAM_MD5_PWD,"\$(sysconfdir)/cram-md5.pwd")
AC_ARG_WITH(cram-passwd,
AC_HELP_STRING([--with-cram-passwd=FILE],
[use keep passwords for CRAM-MD5 authentication method in FILE (default $SITE_CRAM_MD5_PWD)]),
[keep passwords for CRAM-MD5 authentication method in FILE (default $SITE_CRAM_MD5_PWD)]),
[case "${withval}" in
/*) SITE_CRAM_MD5_PWD="${withval}";;
./*|../*) AC_MSG_ERROR(Bad value for --with-cram-passwd);;
*) SITE_CRAM_MD5_PWD="\$(sysconfdir)/${withval}";;
esac])
MU_CHECK_TLS
if test "$WITH_GNUTLS" != "no"; then
MU_CHECK_GNUTLS([1.2.1],[
MU_AUTHLIBS="$MU_AUTHLIBS $TLS_LIBS"
AC_DEFINE(WITH_GNUTLS,1,[Define if mailutils is using GNU TLS])
AC_DEFINE(WITH_TLS,1,[Define if mailutils is using TLS])
fi
status_gnutls=yes
])
AC_SUBST(SITE_MAIL_RC)
AC_ARG_WITH([mail-rc],
......@@ -1394,9 +1394,9 @@ status_pam=$status_pam
status_ltdl=$status_ltdl
status_dbm="$status_dbm"
status_ldap=$status_ldap
status_gnutls=$WITH_GNUTLS
status_gnutls=$status_gnutls
status_gsasl=$status_gsasl
status_gssapi=$WITH_GSSAPI
status_gssapi=$status_gssapi
status_guile=$useguile
status_python=$status_python
status_cxx=$mu_cv_enable_cxx
......