From: ak1 Date: Sat, 22 Jan 2005 15:05:18 +0000 (+0000) Subject: Andreas Krennmair: X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=commitdiff_plain;h=faed98ab64dd3cbd29e674141cd074d6c9f8909c Andreas Krennmair: integrated gnutls patch, including integration into the configure script. git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@22 e385b8ad-14ed-0310-8656-cc95a2468c6d --- diff --git a/ChangeLog.mutt-ng b/ChangeLog.mutt-ng index c3c0e88..11d9267 100644 --- a/ChangeLog.mutt-ng +++ b/ChangeLog.mutt-ng @@ -4,6 +4,8 @@ Changes specific to mutt-ng: * Removed a few pscan(1) warnings * Integrated the following patches: * edit-threads patch + * gnutls patch including integration into configure script, i.e. the user + can select between OpenSSL and GNU TLS. 2004-01-14: * Integrated the following patches: diff --git a/PATCHES b/PATCHES index 9b4e46d..9919b30 100644 --- a/PATCHES +++ b/PATCHES @@ -1,4 +1,5 @@ rr.compressed +patch-1.4.admcd.gnutls.59d patch-1.5.5.1.cd.edit_threads.9.5 patch-1.5.6i.sidebar.20041122 patch-1.5.4.aw.listreply.1 diff --git a/config.h.in b/config.h.in index c31b9cd..e4bfa81 100644 --- a/config.h.in +++ b/config.h.in @@ -329,6 +329,9 @@ /* Define if you have the esmtp library (-lesmtp). */ #undef HAVE_LIBESMTP +/* Define if you have the gnutls library (-lgnutls). */ +#undef HAVE_LIBGNUTLS + /* Define if you have the idn library (-lidn). */ #undef HAVE_LIBIDN @@ -443,6 +446,9 @@ /* Define if you want support for SSL. */ #undef USE_SSL +/* Define if you want support for GNU TLS. */ +#undef USE_GNUTLS + /* Define if you want support for SSL via the NSS library. */ #undef USE_NSS diff --git a/configure b/configure index 4735bde..12b6fa8 100755 --- a/configure +++ b/configure @@ -43,6 +43,8 @@ ac_help="$ac_help --with-gss[=PFX] Compile in GSSAPI authentication for IMAP" ac_help="$ac_help --with-ssl[=PFX] Compile in SSL support for POP/IMAP" +ac_help="$ac_help + --with-gnutls[=PFX] Compile in GNU TLS support for POP/IMAP" ac_help="$ac_help --with-nss[=PFX] Compile in SSL support for POP/IMAP via NSS" ac_help="$ac_help @@ -633,7 +635,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:637: checking for a BSD compatible install" >&5 +echo "configure:639: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -686,7 +688,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:690: checking whether build environment is sane" >&5 +echo "configure:692: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -743,7 +745,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:747: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:749: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -789,7 +791,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:793: checking for working aclocal" >&5 +echo "configure:795: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -802,7 +804,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:806: checking for working autoconf" >&5 +echo "configure:808: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -815,7 +817,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:819: checking for working automake" >&5 +echo "configure:821: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -828,7 +830,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:832: checking for working autoheader" >&5 +echo "configure:834: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -841,7 +843,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:845: checking for working makeinfo" >&5 +echo "configure:847: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -866,7 +868,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:870: checking host system type" >&5 +echo "configure:872: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -888,7 +890,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking for prefix""... $ac_c" 1>&6 -echo "configure:892: checking for prefix" >&5 +echo "configure:894: checking for prefix" >&5 if test x$prefix = xNONE; then mutt_cv_prefix=$ac_default_prefix else @@ -899,7 +901,7 @@ echo "$ac_t""$mutt_cv_prefix" 1>&6 # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:903: checking for $ac_word" >&5 +echo "configure:905: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -929,7 +931,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:933: checking for $ac_word" >&5 +echo "configure:935: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -980,7 +982,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:984: checking for $ac_word" >&5 +echo "configure:986: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1012,7 +1014,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1016: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1018: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1023,12 +1025,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1027 "configure" +#line 1029 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1054,12 +1056,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1058: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1060: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1063: checking whether we are using GNU C" >&5 +echo "configure:1065: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1068,7 +1070,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1087,7 +1089,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1091: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1093: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1120,7 +1122,7 @@ fi echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:1124: checking for strerror in -lcposix" >&5 +echo "configure:1126: checking for strerror in -lcposix" >&5 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1128,7 +1130,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1165,7 +1167,7 @@ fi echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:1169: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "configure:1171: checking for ${CC-cc} option to accept ANSI C" >&5 if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1181,7 +1183,7 @@ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__ do CC="$ac_save_CC $ac_arg" cat > conftest.$ac_ext < #include @@ -1218,7 +1220,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } EOF -if { (eval echo configure:1222: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_prog_cc_stdc="$ac_arg"; break else @@ -1242,7 +1244,7 @@ case "x$am_cv_prog_cc_stdc" in esac echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1246: checking how to run the C preprocessor" >&5 +echo "configure:1248: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1257,13 +1259,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1274,13 +1276,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1286: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1291,13 +1293,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1303: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1324,7 +1326,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for function prototypes""... $ac_c" 1>&6 -echo "configure:1328: checking for function prototypes" >&5 +echo "configure:1330: checking for function prototypes" >&5 if test "$am_cv_prog_cc_stdc" != no; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -1337,12 +1339,12 @@ else U=_ ANSI2KNR=./ansi2knr # Ensure some checks needed by ansi2knr itself. echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1341: checking for ANSI C header files" >&5 +echo "configure:1343: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1350,7 +1352,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1354: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1356: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1367,7 +1369,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1385,7 +1387,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1406,7 +1408,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1417,7 +1419,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1444,17 +1446,17 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1448: checking for $ac_hdr" >&5 +echo "configure:1450: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1458: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1486,7 +1488,7 @@ if test "x$U" != "x"; then { echo "configure: error: Compiler not ANSI compliant" 1>&2; exit 1; } fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1490: checking how to run the C preprocessor" >&5 +echo "configure:1492: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1501,13 +1503,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1518,13 +1520,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1535,13 +1537,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1566,7 +1568,7 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1570: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1572: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1604,7 +1606,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1608: checking for a BSD compatible install" >&5 +echo "configure:1610: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1659,7 +1661,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1663: checking for $ac_word" >&5 +echo "configure:1665: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1687,7 +1689,7 @@ else fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1691: checking build system type" >&5 +echo "configure:1693: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -1713,7 +1715,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1717: checking for $ac_word" >&5 +echo "configure:1719: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1745,7 +1747,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1749: checking for $ac_word" >&5 +echo "configure:1751: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1779,21 +1781,21 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1783: checking for inline" >&5 +echo "configure:1785: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -1819,12 +1821,12 @@ EOF esac echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1823: checking for working const" >&5 +echo "configure:1825: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1879: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1897,7 +1899,7 @@ fi # Extract the first word of "dbx", so it can be a program name with args. set dummy dbx; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1901: checking for $ac_word" >&5 +echo "configure:1903: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_DBX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1933,7 +1935,7 @@ fi # Extract the first word of "gdb", so it can be a program name with args. set dummy gdb; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1937: checking for $ac_word" >&5 +echo "configure:1939: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GDB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1969,7 +1971,7 @@ fi # Extract the first word of "sdb", so it can be a program name with args. set dummy sdb; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1973: checking for $ac_word" >&5 +echo "configure:1975: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SDB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2047,7 +2049,7 @@ ac_aux_path_sendmail=/usr/sbin:/usr/lib # Extract the first word of "sendmail", so it can be a program name with args. set dummy sendmail; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2051: checking for $ac_word" >&5 +echo "configure:2053: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SENDMAIL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2165,7 +2167,7 @@ EOF # Extract the first word of "ispell", so it can be a program name with args. set dummy ispell; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2169: checking for $ac_word" >&5 +echo "configure:2171: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_ISPELL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2209,7 +2211,7 @@ fi if test "${with_slang+set}" = set; then withval="$with_slang" echo $ac_n "checking if this is a BSD system""... $ac_c" 1>&6 -echo "configure:2213: checking if this is a BSD system" >&5 +echo "configure:2215: checking if this is a BSD system" >&5 if eval "test \"`echo '$''{'mutt_cv_bsdish'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2217,7 +2219,7 @@ else mutt_cv_bsdish=no else cat > conftest.$ac_ext < @@ -2230,7 +2232,7 @@ main () #endif } EOF -if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_bsdish=yes else @@ -2247,7 +2249,7 @@ fi echo "$ac_t""$mutt_cv_bsdish" 1>&6 echo $ac_n "checking for S-Lang""... $ac_c" 1>&6 -echo "configure:2251: checking for S-Lang" >&5 +echo "configure:2253: checking for S-Lang" >&5 if test $withval = yes; then if test -d $srcdir/../slang; then mutt_cv_slang=$srcdir/../slang/src @@ -2279,7 +2281,7 @@ echo "configure:2251: checking for S-Lang" >&5 echo "$ac_t""$mutt_cv_slang" 1>&6 if test $mutt_cv_bsdish = yes; then echo $ac_n "checking for main in -ltermlib""... $ac_c" 1>&6 -echo "configure:2283: checking for main in -ltermlib" >&5 +echo "configure:2285: checking for main in -ltermlib" >&5 ac_lib_var=`echo termlib'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2287,14 +2289,14 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermlib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2334,7 +2336,7 @@ EOF echo $ac_n "checking for SLtt_get_terminfo in -lslang""... $ac_c" 1>&6 -echo "configure:2338: checking for SLtt_get_terminfo in -lslang" >&5 +echo "configure:2340: checking for SLtt_get_terminfo in -lslang" >&5 ac_lib_var=`echo slang'_'SLtt_get_terminfo | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2342,7 +2344,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lslang -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2392,12 +2394,12 @@ fi echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:2396: checking for initscr" >&5 +echo "configure:2398: checking for initscr" >&5 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_initscr=yes" else @@ -2442,7 +2444,7 @@ else for lib in ncurses ncursesw do echo $ac_n "checking for waddnwstr in -l$lib""... $ac_c" 1>&6 -echo "configure:2446: checking for waddnwstr in -l$lib" >&5 +echo "configure:2448: checking for waddnwstr in -l$lib" >&5 ac_lib_var=`echo $lib'_'waddnwstr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2450,7 +2452,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2467: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2483,7 +2485,7 @@ fi done echo $ac_n "checking for initscr in -l$cf_ncurses""... $ac_c" 1>&6 -echo "configure:2487: checking for initscr in -l$cf_ncurses" >&5 +echo "configure:2489: checking for initscr in -l$cf_ncurses" >&5 ac_lib_var=`echo $cf_ncurses'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2491,7 +2493,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$cf_ncurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2527,17 +2529,17 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2531: checking for $ac_hdr" >&5 +echo "configure:2533: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2541: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2568,17 +2570,17 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2572: checking for $ac_hdr" >&5 +echo "configure:2574: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2609,12 +2611,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for initscr""... $ac_c" 1>&6 -echo "configure:2613: checking for initscr" >&5 +echo "configure:2615: checking for initscr" >&5 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_initscr=yes" else @@ -2658,7 +2660,7 @@ else case $host_os in #(vi freebsd*) #(vi echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6 -echo "configure:2662: checking for tgoto in -lmytinfo" >&5 +echo "configure:2664: checking for tgoto in -lmytinfo" >&5 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2666,7 +2668,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmytinfo $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2700,7 +2702,7 @@ fi ;; hpux10.*|hpux11.*) echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6 -echo "configure:2704: checking for initscr in -lcur_colr" >&5 +echo "configure:2706: checking for initscr in -lcur_colr" >&5 ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2708,7 +2710,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcur_colr $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2743,7 +2745,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6 -echo "configure:2747: checking for initscr in -lHcurses" >&5 +echo "configure:2749: checking for initscr in -lHcurses" >&5 ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2751,7 +2753,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lHcurses $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2811,12 +2813,12 @@ if test ".$ac_cv_func_initscr" != .yes ; then # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. echo $ac_n "checking for tgoto""... $ac_c" 1>&6 -echo "configure:2815: checking for tgoto" >&5 +echo "configure:2817: checking for tgoto" >&5 if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_tgoto=yes" else @@ -2860,7 +2862,7 @@ else for cf_term_lib in termcap termlib unknown do echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6 -echo "configure:2864: checking for tgoto in -l$cf_term_lib" >&5 +echo "configure:2866: checking for tgoto in -l$cf_term_lib" >&5 ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2868,7 +2870,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$cf_term_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2909,7 +2911,7 @@ fi for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown do echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6 -echo "configure:2913: checking for initscr in -l$cf_curs_lib" >&5 +echo "configure:2915: checking for initscr in -l$cf_curs_lib" >&5 ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2917,7 +2919,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$cf_curs_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2954,16 +2956,16 @@ fi LIBS="-l$cf_curs_lib $cf_save_LIBS" if test "$cf_term_lib" = unknown ; then echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6 -echo "configure:2958: checking if we can link with $cf_curs_lib library" >&5 +echo "configure:2960: checking if we can link with $cf_curs_lib library" >&5 cat > conftest.$ac_ext < int main() { initscr() ; return 0; } EOF -if { (eval echo configure:2967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cf_result=yes else @@ -2977,16 +2979,16 @@ rm -f conftest* test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; } elif test "$cf_term_lib" != predefined ; then echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6 -echo "configure:2981: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 +echo "configure:2983: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5 cat > conftest.$ac_ext < int main() { initscr(); tgoto((char *)0, 0, 0); ; return 0; } EOF -if { (eval echo configure:2990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cf_result=no else @@ -2996,14 +2998,14 @@ else LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" cat > conftest.$ac_ext < int main() { initscr() ; return 0; } EOF -if { (eval echo configure:3007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cf_result=yes else @@ -3035,12 +3037,12 @@ fi do echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6 -echo "configure:3039: checking for $ac_func declaration" >&5 +echo "configure:3041: checking for $ac_func declaration" >&5 if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { @@ -3049,11 +3051,11 @@ extern int ${ac_func}(); #endif ; return 0; } EOF -if { (eval echo configure:3053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3055: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat > conftest.$ac_ext < int main() { @@ -3062,7 +3064,7 @@ int (*p)() = ${ac_func}; #endif ; return 0; } EOF -if { (eval echo configure:3066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_decl_$ac_func=yes" @@ -3114,12 +3116,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3118: checking for ANSI C header files" >&5 +echo "configure:3120: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3127,7 +3129,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3133: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3144,7 +3146,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3162,7 +3164,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3183,7 +3185,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3194,7 +3196,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:3198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3222,17 +3224,17 @@ for ac_hdr in stdarg.h sys/ioctl.h ioctl.h sysexits.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3226: checking for $ac_hdr" >&5 +echo "configure:3228: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3262,17 +3264,17 @@ for ac_hdr in sys/time.h sys/resource.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3266: checking for $ac_hdr" >&5 +echo "configure:3268: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3276: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3302,17 +3304,17 @@ for ac_hdr in unix.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3306: checking for $ac_hdr" >&5 +echo "configure:3308: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3342,12 +3344,12 @@ done for ac_func in setrlimit getsid isctype do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3346: checking for $ac_func" >&5 +echo "configure:3348: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3396,12 +3398,12 @@ done echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3400: checking return type of signal handlers" >&5 +echo "configure:3402: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3418,7 +3420,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:3422: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3438,9 +3440,9 @@ EOF echo $ac_n "checking for sig_atomic_t in signal.h""... $ac_c" 1>&6 -echo "configure:3442: checking for sig_atomic_t in signal.h" >&5 +echo "configure:3444: checking for sig_atomic_t in signal.h" >&5 cat > conftest.$ac_ext < EOF @@ -3450,7 +3452,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ac_cv_type_sig_atomic_t=yes; cat > conftest.$ac_ext < EOF @@ -3476,12 +3478,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for sig_atomic_t""... $ac_c" 1>&6 -echo "configure:3480: checking for sig_atomic_t" >&5 +echo "configure:3482: checking for sig_atomic_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_sig_atomic_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3527,12 +3529,12 @@ EOF fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3531: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:3533: checking for sys_siglist declaration in signal.h or unistd.h" >&5 if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3544,7 +3546,7 @@ int main() { char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3566,14 +3568,14 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3570: checking whether byte ordering is bigendian" >&5 +echo "configure:3572: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -3584,11 +3586,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:3588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -3599,7 +3601,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:3603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3619,7 +3621,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -3659,17 +3661,17 @@ for ac_hdr in inttypes.h stdint.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3663: checking for $ac_hdr" >&5 +echo "configure:3665: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3675: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3696,9 +3698,9 @@ fi done echo $ac_n "checking for uint32_t""... $ac_c" 1>&6 -echo "configure:3700: checking for uint32_t" >&5 +echo "configure:3702: checking for uint32_t" >&5 cat > conftest.$ac_ext < @@ -3717,7 +3719,7 @@ if (sizeof (uint32_t)) ; return 0; } EOF -if { (eval echo configure:3721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cat >> confdefs.h <<\EOF @@ -3735,7 +3737,7 @@ else fi rm -f conftest* echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3739: checking size of int" >&5 +echo "configure:3741: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3743,7 +3745,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -3755,7 +3757,7 @@ main() exit(0); } EOF -if { (eval echo configure:3759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else @@ -3775,7 +3777,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3779: checking size of long" >&5 +echo "configure:3781: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3783,7 +3785,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -3795,7 +3797,7 @@ main() exit(0); } EOF -if { (eval echo configure:3799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else @@ -3816,12 +3818,12 @@ EOF echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3820: checking for pid_t" >&5 +echo "configure:3822: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3852,12 +3854,12 @@ fi for ac_func in fgetpos memmove setegid srand48 strerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3856: checking for $ac_func" >&5 +echo "configure:3858: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3908,12 +3910,12 @@ done for ac_func in strcasecmp strdup do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3912: checking for $ac_func" >&5 +echo "configure:3914: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3964,12 +3966,12 @@ done echo $ac_n "checking for getopt""... $ac_c" 1>&6 -echo "configure:3968: checking for getopt" >&5 +echo "configure:3970: checking for getopt" >&5 if eval "test \"`echo '$''{'ac_cv_func_getopt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_getopt=yes" else @@ -4016,17 +4018,17 @@ if test $ac_cv_func_getopt = yes; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4020: checking for $ac_hdr" >&5 +echo "configure:4022: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4059,12 +4061,12 @@ SNPRINTFOBJS="" for ac_func in snprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4063: checking for $ac_func" >&5 +echo "configure:4065: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4115,12 +4117,12 @@ done for ac_func in vsnprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4119: checking for $ac_func" >&5 +echo "configure:4121: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4175,12 +4177,12 @@ fi for ac_func in ftruncate do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4179: checking for $ac_func" >&5 +echo "configure:4181: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4225,7 +4227,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for chsize in -lx""... $ac_c" 1>&6 -echo "configure:4229: checking for chsize in -lx" >&5 +echo "configure:4231: checking for chsize in -lx" >&5 ac_lib_var=`echo x'_'chsize | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4233,7 +4235,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4278,12 +4280,12 @@ done for ac_func in strftime do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4282: checking for $ac_func" >&5 +echo "configure:4284: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4328,7 +4330,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:4332: checking for strftime in -lintl" >&5 +echo "configure:4334: checking for strftime in -lintl" >&5 ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4336,7 +4338,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4381,12 +4383,12 @@ done for ac_func in fchdir do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4385: checking for $ac_func" >&5 +echo "configure:4387: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4443,12 +4445,12 @@ else for ac_func in regcomp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4447: checking for $ac_func" >&5 +echo "configure:4449: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4501,7 +4503,7 @@ fi if test $mutt_cv_regex = no ; then echo $ac_n "checking whether your system's regexp library is completely broken""... $ac_c" 1>&6 -echo "configure:4505: checking whether your system's regexp library is completely broken" >&5 +echo "configure:4507: checking whether your system's regexp library is completely broken" >&5 if eval "test \"`echo '$''{'mutt_cv_regex_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4509,14 +4511,14 @@ else mutt_cv_regex_broken=yes else cat > conftest.$ac_ext < #include main() { regex_t blah ; regmatch_t p; p.rm_eo = p.rm_eo; return regcomp(&blah, "foo.*bar", REG_NOSUB) || regexec (&blah, "foobar", 0, NULL, 0); } EOF -if { (eval echo configure:4520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_regex_broken=no else @@ -4576,7 +4578,7 @@ if test "${with_mailpath+set}" = set; then mutt_cv_mailpath=$withval else echo $ac_n "checking where new mail is stored""... $ac_c" 1>&6 -echo "configure:4580: checking where new mail is stored" >&5 +echo "configure:4582: checking where new mail is stored" >&5 if eval "test \"`echo '$''{'mutt_cv_mailpath'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4605,7 +4607,7 @@ EOF echo $ac_n "checking if $mutt_cv_mailpath is world writable""... $ac_c" 1>&6 -echo "configure:4609: checking if $mutt_cv_mailpath is world writable" >&5 +echo "configure:4611: checking if $mutt_cv_mailpath is world writable" >&5 if eval "test \"`echo '$''{'mutt_cv_worldwrite'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4613,7 +4615,7 @@ else mutt_cv_worldwrite=no else cat > conftest.$ac_ext < #include @@ -4627,7 +4629,7 @@ int main (int argc, char **argv) exit (1); } EOF -if { (eval echo configure:4631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_worldwrite=yes else @@ -4652,7 +4654,7 @@ EOF else echo $ac_n "checking if $mutt_cv_mailpath is group writable""... $ac_c" 1>&6 -echo "configure:4656: checking if $mutt_cv_mailpath is group writable" >&5 +echo "configure:4658: checking if $mutt_cv_mailpath is group writable" >&5 if eval "test \"`echo '$''{'mutt_cv_groupwrite'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4660,7 +4662,7 @@ else mutt_cv_groupwrite=no else cat > conftest.$ac_ext < #include @@ -4674,7 +4676,7 @@ int main (int argc, char **argv) exit (1); } EOF -if { (eval echo configure:4678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_groupwrite=yes else @@ -4727,7 +4729,7 @@ fi echo $ac_n "checking where to put the documentation""... $ac_c" 1>&6 -echo "configure:4731: checking where to put the documentation" >&5 +echo "configure:4733: checking where to put the documentation" >&5 # Check whether --with-docdir or --without-docdir was given. if test "${with_docdir+set}" = set; then withval="$with_docdir" @@ -4828,9 +4830,9 @@ fi if test "$need_socket" = "yes" then echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:4832: checking for socklen_t" >&5 +echo "configure:4834: checking for socklen_t" >&5 cat > conftest.$ac_ext < EOF @@ -4849,12 +4851,12 @@ fi rm -f conftest* echo $ac_n "checking for gethostent""... $ac_c" 1>&6 -echo "configure:4853: checking for gethostent" >&5 +echo "configure:4855: checking for gethostent" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostent'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostent=yes" else @@ -4895,7 +4897,7 @@ if eval "test \"`echo '$ac_cv_func_'gethostent`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for gethostent in -lnsl""... $ac_c" 1>&6 -echo "configure:4899: checking for gethostent in -lnsl" >&5 +echo "configure:4901: checking for gethostent in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostent | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4903,7 +4905,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4944,12 +4946,12 @@ fi fi echo $ac_n "checking for setsockopt""... $ac_c" 1>&6 -echo "configure:4948: checking for setsockopt" >&5 +echo "configure:4950: checking for setsockopt" >&5 if eval "test \"`echo '$''{'ac_cv_func_setsockopt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_setsockopt=yes" else @@ -4990,7 +4992,7 @@ if eval "test \"`echo '$ac_cv_func_'setsockopt`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for setsockopt in -lsocket""... $ac_c" 1>&6 -echo "configure:4994: checking for setsockopt in -lsocket" >&5 +echo "configure:4996: checking for setsockopt in -lsocket" >&5 ac_lib_var=`echo socket'_'setsockopt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4998,7 +5000,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5041,12 +5043,12 @@ fi for ac_func in getaddrinfo do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5045: checking for $ac_func" >&5 +echo "configure:5047: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5128,7 +5130,7 @@ then # Extract the first word of "krb5-config", so it can be a program name with args. set dummy krb5-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5132: checking for $ac_word" >&5 +echo "configure:5134: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_KRB5CFGPATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5180,7 +5182,7 @@ fi fi echo $ac_n "checking for gss_init_sec_context in -lgssapi_krb5""... $ac_c" 1>&6 -echo "configure:5184: checking for gss_init_sec_context in -lgssapi_krb5" >&5 +echo "configure:5186: checking for gss_init_sec_context in -lgssapi_krb5" >&5 ac_lib_var=`echo gssapi_krb5'_'gss_init_sec_context | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5188,7 +5190,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5226,7 +5228,7 @@ fi if test "$GSSAPI_IMPL" = "none" then echo $ac_n "checking for gss_init_sec_context in -lgssapi""... $ac_c" 1>&6 -echo "configure:5230: checking for gss_init_sec_context in -lgssapi" >&5 +echo "configure:5232: checking for gss_init_sec_context in -lgssapi" >&5 ac_lib_var=`echo gssapi'_'gss_init_sec_context | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5234,7 +5236,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgssapi -lkrb5 -ldes -lasn1 -lroken -lcrypt -lcom_err $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5274,7 +5276,7 @@ fi if test "$GSSAPI_IMPL" = "none" then echo $ac_n "checking for g_order_init in -lgssapi_krb5""... $ac_c" 1>&6 -echo "configure:5278: checking for g_order_init in -lgssapi_krb5" >&5 +echo "configure:5280: checking for g_order_init in -lgssapi_krb5" >&5 ac_lib_var=`echo gssapi_krb5'_'g_order_init | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5282,7 +5284,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgssapi_krb5 -lkrb5 -lcrypto -lcom_err $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5324,7 +5326,7 @@ fi LIBS="$saved_LIBS" echo $ac_n "checking GSSAPI implementation""... $ac_c" 1>&6 -echo "configure:5328: checking GSSAPI implementation" >&5 +echo "configure:5330: checking GSSAPI implementation" >&5 echo "$ac_t""$GSSAPI_IMPL" 1>&6 if test "$GSSAPI_IMPL" = "none" then @@ -5423,7 +5425,7 @@ if test "${with_ssl+set}" = set; then saved_LIBS="$LIBS" echo $ac_n "checking for X509_new in -lcrypto""... $ac_c" 1>&6 -echo "configure:5427: checking for X509_new in -lcrypto" >&5 +echo "configure:5429: checking for X509_new in -lcrypto" >&5 ac_lib_var=`echo crypto'_'X509_new | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5431,7 +5433,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypto $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5471,7 +5473,7 @@ else fi echo $ac_n "checking for SSL_new in -lssl""... $ac_c" 1>&6 -echo "configure:5475: checking for SSL_new in -lssl" >&5 +echo "configure:5477: checking for SSL_new in -lssl" >&5 ac_lib_var=`echo ssl'_'SSL_new | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5479,7 +5481,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lssl -lcrypto $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5522,12 +5524,12 @@ fi for ac_func in RAND_status RAND_egd do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5526: checking for $ac_func" >&5 +echo "configure:5528: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5598,6 +5600,96 @@ else USE_SSL_FALSE= fi +# Check whether --with-gnutls or --without-gnutls was given. +if test "${with_gnutls+set}" = set; then + withval="$with_gnutls" + if test "$need_ssl" = "yes" + then + { echo "configure: error: In order to compile in GNU TLS support, you must first disable SSL support" 1>&2; exit 1; } + fi + if test "$with_gnutls" != "no" + then + if test "$need_socket" != "yes"; then + { echo "configure: error: GNU TLS support is only useful with POP or IMAP support" 1>&2; exit 1; } + fi + if test "$with_gnutls" != "yes" + then + LDFLAGS="$LDFLAGS -L$withval/lib" + CPPFLAGS="$CPPFLAGS -I$withval/include" + fi +#saved_LIBS="$LIBS" + + echo $ac_n "checking for gnutls_init in -lgnutls""... $ac_c" 1>&6 +echo "configure:5624: checking for gnutls_init in -lgnutls" >&5 +ac_lib_var=`echo gnutls'_'gnutls_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lgnutls $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo gnutls | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <&6 +{ echo "configure: error: Unable to find GNU TLS library" 1>&2; exit 1; } +fi + + + cat >> confdefs.h <<\EOF +#define USE_GNUTLS 1 +EOF + +#LIBS="$saved_LIBS" +#MUTTLIBS="$MUTTLIBS -lgnutls" + MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl_gnutls.o" + need_gnutls=yes + fi + +fi + + + +if test x$need_gnutls = xyes; then + USE_GNUTLS_TRUE= + USE_GNUTLS_FALSE='#' +else + USE_GNUTLS_TRUE='#' + USE_GNUTLS_FALSE= +fi + # Check whether --with-nss or --without-nss was given. if test "${with_nss+set}" = set; then withval="$with_nss" @@ -5648,7 +5740,7 @@ if test "${with_sasl+set}" = set; then saved_LIBS="$LIBS" echo $ac_n "checking for sasl_client_init in -lsasl""... $ac_c" 1>&6 -echo "configure:5652: checking for sasl_client_init in -lsasl" >&5 +echo "configure:5744: checking for sasl_client_init in -lsasl" >&5 ac_lib_var=`echo sasl'_'sasl_client_init | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5656,7 +5748,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsasl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5738,7 +5830,7 @@ if test "${with_sasl2+set}" = set; then saved_LIBS="$LIBS" echo $ac_n "checking for sasl_client_init in -lsasl2""... $ac_c" 1>&6 -echo "configure:5742: checking for sasl_client_init in -lsasl2" >&5 +echo "configure:5834: checking for sasl_client_init in -lsasl2" >&5 ac_lib_var=`echo sasl2'_'sasl_client_init | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5746,7 +5838,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsasl2 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5829,7 +5921,7 @@ fi if test "x$with_idn" != "xno"; then echo $ac_n "checking for stringprep_check_version in -lidn""... $ac_c" 1>&6 -echo "configure:5833: checking for stringprep_check_version in -lidn" >&5 +echo "configure:5925: checking for stringprep_check_version in -lidn" >&5 ac_lib_var=`echo idn'_'stringprep_check_version | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5837,7 +5929,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lidn $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5878,12 +5970,12 @@ fi for ac_func in idna_to_unicode_utf8_from_utf8 idna_to_unicode_8z8z do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5882: checking for $ac_func" >&5 +echo "configure:5974: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5933,12 +6025,12 @@ done for ac_func in idna_to_ascii_from_utf8 idna_to_ascii_8z do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5937: checking for $ac_func" >&5 +echo "configure:6029: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5988,12 +6080,12 @@ done for ac_func in idna_to_ascii_lz idna_to_ascii_from_locale do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5992: checking for $ac_func" >&5 +echo "configure:6084: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6214,12 +6306,12 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:6218: checking for off_t" >&5 +echo "configure:6310: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -6247,12 +6339,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:6251: checking for size_t" >&5 +echo "configure:6343: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -6282,19 +6374,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:6286: checking for working alloca.h" >&5 +echo "configure:6378: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:6298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -6315,12 +6407,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:6319: checking for alloca" >&5 +echo "configure:6411: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -6380,12 +6472,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:6384: checking whether alloca needs Cray hooks" >&5 +echo "configure:6476: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6414: checking for $ac_func" >&5 +echo "configure:6506: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6465,7 +6557,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:6469: checking stack direction for C alloca" >&5 +echo "configure:6561: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6473,7 +6565,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -6517,17 +6609,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6521: checking for $ac_hdr" >&5 +echo "configure:6613: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6556,12 +6648,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6560: checking for $ac_func" >&5 +echo "configure:6652: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6609,7 +6701,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6613: checking for working mmap" >&5 +echo "configure:6705: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6617,7 +6709,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -6781,12 +6873,12 @@ fi echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 -echo "configure:6785: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo "configure:6877: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -6822,17 +6914,17 @@ stdlib.h string.h unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6826: checking for $ac_hdr" >&5 +echo "configure:6918: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6863,12 +6955,12 @@ getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6867: checking for $ac_func" >&5 +echo "configure:6959: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6931,7 +7023,7 @@ fi echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:6935: checking for iconv" >&5 +echo "configure:7027: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6939,7 +7031,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include @@ -6949,7 +7041,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:6953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -6961,7 +7053,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS -liconv" cat > conftest.$ac_ext < #include @@ -6971,7 +7063,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:6975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -6992,13 +7084,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6 EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:6996: checking for iconv declaration" >&5 +echo "configure:7088: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -7017,7 +7109,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:7021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else @@ -7046,19 +7138,19 @@ EOF echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 -echo "configure:7050: checking for nl_langinfo and CODESET" >&5 +echo "configure:7142: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF -if { (eval echo configure:7062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else @@ -7081,19 +7173,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:7085: checking for LC_MESSAGES" >&5 +echo "configure:7177: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:7097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -7114,7 +7206,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:7118: checking whether NLS is requested" >&5 +echo "configure:7210: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -7136,7 +7228,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:7140: checking whether included gettext is requested" >&5 +echo "configure:7232: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -7156,17 +7248,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:7160: checking for libintl.h" >&5 +echo "configure:7252: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7183,12 +7275,12 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 -echo "configure:7187: checking for GNU gettext in libc" >&5 +echo "configure:7279: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; @@ -7197,7 +7289,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:7201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else @@ -7213,14 +7305,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6 if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 -echo "configure:7217: checking for GNU gettext in libintl" >&5 +echo "configure:7309: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; @@ -7229,7 +7321,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:7233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else @@ -7262,12 +7354,12 @@ EOF for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7266: checking for $ac_func" >&5 +echo "configure:7358: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7319,7 +7411,7 @@ done # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7323: checking for $ac_word" >&5 +echo "configure:7415: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7353,7 +7445,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7357: checking for $ac_word" >&5 +echo "configure:7449: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7390,7 +7482,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7394: checking for $ac_word" >&5 +echo "configure:7486: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7440,7 +7532,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7444: checking for $ac_word" >&5 +echo "configure:7536: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7474,7 +7566,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7478: checking for $ac_word" >&5 +echo "configure:7570: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7510,7 +7602,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7514: checking for $ac_word" >&5 +echo "configure:7606: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7581,7 +7673,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:7585: checking for $ac_word" >&5 +echo "configure:7677: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7614,7 +7706,7 @@ done ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 -echo "configure:7618: checking version of bison" >&5 +echo "configure:7710: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -7661,7 +7753,7 @@ echo "configure:7618: checking version of bison" >&5 LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:7665: checking for catalogs to be installed" >&5 +echo "configure:7757: checking for catalogs to be installed" >&5 NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no @@ -7710,17 +7802,17 @@ for ac_hdr in iconv.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7714: checking for $ac_hdr" >&5 +echo "configure:7806: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7724: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7741,9 +7833,9 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then #define $ac_tr_hdr 1 EOF echo $ac_n "checking whether iconv.h defines iconv_t""... $ac_c" 1>&6 -echo "configure:7745: checking whether iconv.h defines iconv_t" >&5 +echo "configure:7837: checking whether iconv.h defines iconv_t" >&5 cat > conftest.$ac_ext < EOF @@ -7768,7 +7860,7 @@ done echo $ac_n "checking whether this iconv is good enough""... $ac_c" 1>&6 -echo "configure:7772: checking whether this iconv is good enough" >&5 +echo "configure:7864: checking whether this iconv is good enough" >&5 if eval "test \"`echo '$''{'mutt_cv_iconv_good'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7778,7 +7870,7 @@ else mutt_cv_iconv_good=yes else cat > conftest.$ac_ext < @@ -7796,7 +7888,7 @@ int main() } EOF -if { (eval echo configure:7800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_iconv_good=yes else @@ -7817,7 +7909,7 @@ if test "$mutt_cv_iconv_good" = no; then fi echo $ac_n "checking whether iconv is non-transcribing""... $ac_c" 1>&6 -echo "configure:7821: checking whether iconv is non-transcribing" >&5 +echo "configure:7913: checking whether iconv is non-transcribing" >&5 if eval "test \"`echo '$''{'mutt_cv_iconv_nontrans'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7827,7 +7919,7 @@ else mutt_cv_iconv_nontrans=no else cat > conftest.$ac_ext < @@ -7846,7 +7938,7 @@ int main() } EOF -if { (eval echo configure:7850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:7942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then mutt_cv_iconv_nontrans=no else @@ -7885,12 +7977,12 @@ else for ac_func in bind_textdomain_codeset do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7889: checking for $ac_func" >&5 +echo "configure:7981: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7946,17 +8038,17 @@ for ac_hdr in wchar.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7950: checking for $ac_hdr" >&5 +echo "configure:8042: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8052: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7984,12 +8076,12 @@ done echo $ac_n "checking for wchar_t""... $ac_c" 1>&6 -echo "configure:7988: checking for wchar_t" >&5 +echo "configure:8080: checking for wchar_t" >&5 if eval "test \"`echo '$''{'mutt_cv_wchar_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8002,7 +8094,7 @@ int main() { wchar_t wc; return 0; ; return 0; } EOF -if { (eval echo configure:8006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* mutt_cv_wchar_t=yes else @@ -8024,12 +8116,12 @@ EOF fi echo $ac_n "checking for wint_t""... $ac_c" 1>&6 -echo "configure:8028: checking for wint_t" >&5 +echo "configure:8120: checking for wint_t" >&5 if eval "test \"`echo '$''{'mutt_cv_wint_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8042,7 +8134,7 @@ int main() { wint_t wc; return 0; ; return 0; } EOF -if { (eval echo configure:8046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8138: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* mutt_cv_wint_t=yes else @@ -8067,17 +8159,17 @@ for ac_hdr in wctype.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:8071: checking for $ac_hdr" >&5 +echo "configure:8163: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8106,12 +8198,12 @@ done for ac_func in iswalnum iswalpha iswcntrl iswdigit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8110: checking for $ac_func" >&5 +echo "configure:8202: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8161,12 +8253,12 @@ done for ac_func in iswgraph iswlower iswprint iswpunct iswspace iswupper do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8165: checking for $ac_func" >&5 +echo "configure:8257: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8216,12 +8308,12 @@ done for ac_func in iswxdigit towupper towlower do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8220: checking for $ac_func" >&5 +echo "configure:8312: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8270,12 +8362,12 @@ done echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6 -echo "configure:8274: checking for mbstate_t" >&5 +echo "configure:8366: checking for mbstate_t" >&5 if eval "test \"`echo '$''{'mutt_cv_mbstate_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -8288,7 +8380,7 @@ int main() { mbstate_t s; return 0; ; return 0; } EOF -if { (eval echo configure:8292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8384: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* mutt_cv_mbstate_t=yes else @@ -8319,13 +8411,13 @@ fi if test "$wc_funcs" != yes -a "$wc_funcs" != no; then echo $ac_n "checking for wchar_t functions""... $ac_c" 1>&6 -echo "configure:8323: checking for wchar_t functions" >&5 +echo "configure:8415: checking for wchar_t functions" >&5 if eval "test \"`echo '$''{'mutt_cv_wc_funcs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else mutt_cv_wc_funcs=no cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* mutt_cv_wc_funcs=yes else @@ -8364,19 +8456,19 @@ EOF fi echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 -echo "configure:8368: checking for nl_langinfo and CODESET" >&5 +echo "configure:8460: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'mutt_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF -if { (eval echo configure:8380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* mutt_cv_langinfo_codeset=yes else @@ -8397,19 +8489,19 @@ EOF fi echo $ac_n "checking for nl_langinfo and YESEXPR""... $ac_c" 1>&6 -echo "configure:8401: checking for nl_langinfo and YESEXPR" >&5 +echo "configure:8493: checking for nl_langinfo and YESEXPR" >&5 if eval "test \"`echo '$''{'mutt_cv_langinfo_yesexpr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(YESEXPR); ; return 0; } EOF -if { (eval echo configure:8413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* mutt_cv_langinfo_yesexpr=yes else @@ -8445,7 +8537,7 @@ if test "${with_libesmtp+set}" = set; then # Extract the first word of "libesmtp-config", so it can be a program name with args. set dummy libesmtp-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:8449: checking for $ac_word" >&5 +echo "configure:8541: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_mutt_libesmtp_config_path'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -8491,17 +8583,17 @@ fi CFLAGS="$CFLAGS $mutt_libesmtp_cflags" ac_safe=`echo "libesmtp.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libesmtp.h""... $ac_c" 1>&6 -echo "configure:8495: checking for libesmtp.h" >&5 +echo "configure:8587: checking for libesmtp.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8530,7 +8622,7 @@ fi CFLAGS="$CFLAGS $mutt_libesmtp_cflags" LIBS="$LIBS $mutt_libesmtp_libs" echo $ac_n "checking for smtp_create_session in -lesmtp""... $ac_c" 1>&6 -echo "configure:8534: checking for smtp_create_session in -lesmtp" >&5 +echo "configure:8626: checking for smtp_create_session in -lesmtp" >&5 ac_lib_var=`echo esmtp'_'smtp_create_session | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -8538,7 +8630,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lesmtp $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8785,6 +8877,8 @@ s%@USE_GSS_TRUE@%$USE_GSS_TRUE%g s%@USE_GSS_FALSE@%$USE_GSS_FALSE%g s%@USE_SSL_TRUE@%$USE_SSL_TRUE%g s%@USE_SSL_FALSE@%$USE_SSL_FALSE%g +s%@USE_GNUTLS_TRUE@%$USE_GNUTLS_TRUE%g +s%@USE_GNUTLS_FALSE@%$USE_GNUTLS_FALSE%g s%@USE_SASL_TRUE@%$USE_SASL_TRUE%g s%@USE_SASL_FALSE@%$USE_SASL_FALSE%g s%@MUTTLIBS@%$MUTTLIBS%g diff --git a/configure.in b/configure.in index 45389fa..39bb7ea 100644 --- a/configure.in +++ b/configure.in @@ -596,6 +596,34 @@ AC_ARG_WITH(ssl, [ --with-ssl[=PFX] Compile in SSL support for POP/IM ]) AM_CONDITIONAL(USE_SSL, test x$need_ssl = xyes) +AC_ARG_WITH(gnutls, [ --with-gnutls[=PFX] Compile in GNU TLS support for POP/IMAP], +[ if test "$need_ssl" = "yes" + then + AC_MSG_ERROR([In order to compile in GNU TLS support, you must first disable SSL support]) + fi + if test "$with_gnutls" != "no" + then + if test "$need_socket" != "yes"; then + AC_MSG_ERROR([GNU TLS support is only useful with POP or IMAP support]) + fi + if test "$with_gnutls" != "yes" + then + LDFLAGS="$LDFLAGS -L$withval/lib" + CPPFLAGS="$CPPFLAGS -I$withval/include" + fi +#saved_LIBS="$LIBS" + + AC_CHECK_LIB([gnutls], [gnutls_init],, AC_MSG_ERROR(Unable to find GNU TLS library)) + + AC_DEFINE(USE_GNUTLS,1,[ Define if you want support for GNU TLS. ]) +#LIBS="$saved_LIBS" +#MUTTLIBS="$MUTTLIBS -lgnutls" + MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl_gnutls.o" + need_gnutls=yes + fi +]) +AM_CONDITIONAL(USE_GNUTLS, test x$need_gnutls = xyes) + dnl SSL support via NSS AC_ARG_WITH(nss, [ --with-nss[=PFX] Compile in SSL support for POP/IMAP via NSS], [ if test "$with_nss" != no diff --git a/globals.h b/globals.h index f7b2058..85680d9 100644 --- a/globals.h +++ b/globals.h @@ -121,10 +121,16 @@ WHERE char *SmtpHost; WHERE unsigned short SmtpPort; #endif WHERE char *Spoolfile; -#if defined(USE_SSL) || defined(USE_NSS) +#if defined(USE_SSL) || defined(USE_NSS) || defined(USE_GNUTLS) WHERE char *SslCertFile INITVAL (NULL); +#endif +#if defined(USE_SSL) || defined(USE_NSS) WHERE char *SslEntropyFile INITVAL (NULL); #endif +#ifdef USE_GNUTLS +WHERE short SslDHPrimeBits; +WHERE char *SslCACertFile INITVAL (NULL); +#endif WHERE char *StChars; WHERE char *Status; WHERE char *Tempdir; diff --git a/imap/imap.c b/imap/imap.c index 6432e83..d444b41 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -29,7 +29,7 @@ #include "browser.h" #include "message.h" #include "imap_private.h" -#ifdef USE_SSL +#if defined(USE_SSL) || defined(USE_GNUTLS) # include "mutt_ssl.h" #endif @@ -408,7 +408,7 @@ int imap_open_connection (IMAP_DATA* idata) /* TODO: Parse new tagged CAPABILITY data (* OK [CAPABILITY...]) */ if (imap_check_capabilities (idata)) goto bail; -#if defined(USE_SSL) && !defined(USE_NSS) +#if defined(USE_SSL) || defined(USE_GNUTLS) /* Attempt STARTTLS if available and desired. */ if (mutt_bit_isset (idata->capabilities, STARTTLS) && !idata->conn->ssf) { @@ -422,7 +422,11 @@ int imap_open_connection (IMAP_DATA* idata) goto bail; if (rc != -2) { +#ifdef USE_SSL if (mutt_ssl_starttls (idata->conn)) +#elif USE_GNUTLS + if (mutt_gnutls_starttls (idata->conn)) +#endif { mutt_error (_("Could not negotiate TLS connection")); mutt_sleep (1); diff --git a/imap/util.c b/imap/util.c index 18d055a..ec26d65 100644 --- a/imap/util.c +++ b/imap/util.c @@ -164,7 +164,7 @@ int imap_parse_path (const char* path, IMAP_MBOX* mx) } } -#ifdef USE_SSL +#if defined(USE_SSL) || defined(USE_GNUTLS) if (option (OPTIMAPFORCESSL)) mx->account.flags |= M_ACCT_SSL; #endif diff --git a/init.c b/init.c index cbc9645..76deea2 100644 --- a/init.c +++ b/init.c @@ -27,7 +27,7 @@ #include "mutt_crypt.h" #include "mutt_idna.h" -#if defined(USE_SSL) || defined(USE_NSS) +#if defined(USE_SSL) || defined(USE_NSS) || defined(USE_GNUTLS) #include "mutt_ssl.h" #endif diff --git a/init.h b/init.h index 111ad72..4d1e546 100644 --- a/init.h +++ b/init.h @@ -831,7 +831,7 @@ struct option_t MuttVars[] = { ** as folder separators for displaying IMAP paths. In particular it ** helps in using the '=' shortcut for your \fIfolder\fP variable. */ -# ifdef USE_SSL +# if defined(USE_SSL) || defined(USE_GNUTLS) { "imap_force_ssl", DT_BOOL, R_NONE, OPTIMAPFORCESSL, 0 }, /* ** .pp @@ -1939,8 +1939,8 @@ struct option_t MuttVars[] = { */ #endif -#if defined(USE_SSL)||defined(USE_NSS) -# ifndef USE_NSS +#if defined(USE_SSL)||defined(USE_NSS)||defined(USE_GNUTLS) +# if defined(USE_SSL)||defined(USE_GNUTLS) { "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, M_YES }, /* ** .pp @@ -1964,6 +1964,7 @@ struct option_t MuttVars[] = { ** .pp ** Example: set certificate_file=~/.mutt/certificates */ +# ifndef USE_GNUTLS { "ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, 1 }, /* ** .pp @@ -1983,6 +1984,7 @@ struct option_t MuttVars[] = { ** This variables specifies whether to attempt to use SSLv2 in the ** SSL authentication process. */ +# endif { "ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, 1 }, /* ** .pp @@ -1995,6 +1997,24 @@ struct option_t MuttVars[] = { ** This variables specifies whether to attempt to use TLSv1 in the ** SSL authentication process. */ +#ifdef USE_GNUTLS + { "ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, 0 }, + /* + ** .pp + ** This variable specifies the minimum acceptable prime size (in bits) + ** for use in any Diffie-Hellman key exchange. A value of 0 will use + ** the default from the GNUTLS library. + */ + { "ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, 0 }, + /* + ** .pp + ** This variable specifies a file containing trusted CA certificates. + ** Any server certificate that is signed with one of these CA + ** certificates are also automatically accepted. + ** .pp + ** Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt + */ +#endif #endif { "pipe_split", DT_BOOL, R_NONE, OPTPIPESPLIT, 0 }, diff --git a/main.c b/main.c index e612a98..ebc5958 100644 --- a/main.c +++ b/main.c @@ -259,6 +259,12 @@ static void show_version (void) "-USE_SSL " #endif +#ifdef USE_GNUTLS + "+USE_GNUTLS " +#else + "-USE_GNUTLS " +#endif + #ifdef USE_SASL "+USE_SASL " #else diff --git a/mutt.h b/mutt.h index 1b624e1..093e062 100644 --- a/mutt.h +++ b/mutt.h @@ -298,7 +298,7 @@ enum OPT_QUIT, OPT_REPLYTO, OPT_RECALL, -#ifdef USE_SSL +#if defined(USE_SSL) || defined(USE_GNUTLS) OPT_SSLSTARTTLS, #endif OPT_SUBJECT, @@ -381,15 +381,19 @@ enum OPTIMAPPASSIVE, OPTIMAPPEEK, OPTIMAPSERVERNOISE, -# ifdef USE_SSL +# if defined(USE_SSL) || defined(USE_GNUTLS) OPTIMAPFORCESSL, # endif #endif -#if defined(USE_SSL) || defined(USE_NSS) +#if defined(USE_SSL) || defined(USE_NSS) || defined(USE_GNUTLS) +# ifndef USE_GNUTLS OPTSSLV2, +# endif OPTSSLV3, OPTTLSV1, +# ifndef USE_GNUTLS OPTSSLSYSTEMCERTS, +# endif #endif OPTIMPLICITAUTOVIEW, OPTKEEPFLAGGED, diff --git a/mutt_sasl.c b/mutt_sasl.c index 6a20137..ca65e97 100644 --- a/mutt_sasl.c +++ b/mutt_sasl.c @@ -293,7 +293,7 @@ dprint(1,(debugfile, "local ip: %s, remote ip:%s\n", iplocalport, ipremoteport)) * If someone does it'd probably be trivial to write mutt_nss_get_ssf(). * I have a feeling more SSL code could be shared between those two files, * but I haven't looked into it yet, since I still don't know the APIs. */ -#if defined(USE_SSL) && !defined(USE_NSS) +#if (defined(USE_SSL) || defined(USE_GNUTLS) && !defined(USE_NSS) if (conn->account.flags & M_ACCT_SSL) { #ifdef USE_SASL2 /* I'm not sure this actually has an effect, at least with SASLv2 */ diff --git a/mutt_socket.c b/mutt_socket.c index 50ee94d..9c2f3e4 100644 --- a/mutt_socket.c +++ b/mutt_socket.c @@ -22,7 +22,7 @@ #include "globals.h" #include "mutt_socket.h" #include "mutt_tunnel.h" -#ifdef USE_SSL +#if defined(USE_SSL) || defined(USE_GNUTLS) || defined(USE_NSS) # include "mutt_ssl.h" #endif @@ -257,6 +257,12 @@ CONNECTION* mutt_conn_find (const CONNECTION* start, const ACCOUNT* account) ssl_socket_setup (conn); #elif USE_NSS mutt_nss_socket_setup (conn); +#elif USE_GNUTLS + if (mutt_gnutls_socket_setup (conn) < 0) + { + mutt_socket_free (conn); + return NULL; + } #else mutt_error _("SSL is unavailable."); mutt_sleep (2); diff --git a/mutt_ssl.h b/mutt_ssl.h index 37e0af2..985c61e 100644 --- a/mutt_ssl.h +++ b/mutt_ssl.h @@ -21,8 +21,17 @@ #include "mutt_socket.h" +#ifdef USE_SSL int mutt_ssl_starttls (CONNECTION* conn); extern int ssl_socket_setup (CONNECTION *conn); +#endif +#ifdef USE_GNUTLS +int mutt_gnutls_starttls (CONNECTION* conn); +extern int mutt_gnutls_socket_setup (CONNECTION *conn); +#endif +#ifdef USE_NSS +int mutt_nss_socket_setup (CONNECTION* conn); +#endif #endif /* _MUTT_SSL_H_ */ diff --git a/mutt_ssl_gnutls.c b/mutt_ssl_gnutls.c new file mode 100644 index 0000000..c5429cc --- /dev/null +++ b/mutt_ssl_gnutls.c @@ -0,0 +1,825 @@ +/* Copyright (C) 2001 Marco d'Itri + * Copyright (C) 2001-2004 Andrew McDonald + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + */ + +#include +#include + +#include "mutt.h" +#include "mutt_socket.h" +#include "mutt_curses.h" +#include "mutt_menu.h" +#include "mutt_ssl.h" +#include "mutt_regex.h" + +typedef struct _tlssockdata +{ + gnutls_session state; + gnutls_certificate_credentials xcred; +} +tlssockdata; + +/* local prototypes */ +static int tls_socket_read (CONNECTION* conn, char* buf, size_t len); +static int tls_socket_write (CONNECTION* conn, const char* buf, size_t len); +static int tls_socket_open (CONNECTION* conn); +static int tls_socket_close (CONNECTION* conn); +static int tls_starttls_close (CONNECTION* conn); + +static int tls_init (void); +static int tls_negotiate (CONNECTION* conn); +static int tls_check_certificate (CONNECTION* conn); + + +static int tls_init (void) +{ + static unsigned char init_complete = 0; + int err; + + if (init_complete) + return 0; + + err = gnutls_global_init(); + if (err < 0) + { + mutt_error ("gnutls_global_init: %s", gnutls_strerror(err)); + mutt_sleep (2); + return -1; + } + + init_complete = 1; + return 0; +} + +int mutt_gnutls_socket_setup (CONNECTION* conn) +{ + if (tls_init() < 0) + return -1; + + conn->open = tls_socket_open; + conn->read = tls_socket_read; + conn->write = tls_socket_write; + conn->close = tls_socket_close; + + return 0; +} + +static int tls_socket_read (CONNECTION* conn, char* buf, size_t len) +{ + tlssockdata *data = conn->sockdata; + int ret; + + if (!data) + { + mutt_error ("Error: no TLS socket open"); + mutt_sleep (2); + return -1; + } + + ret = gnutls_record_recv (data->state, buf, len); + if (gnutls_error_is_fatal(ret) == 1) + { + mutt_error ("tls_socket_read (%s)", gnutls_strerror (ret)); + mutt_sleep (4); + return -1; + } + return ret; +} + +static int tls_socket_write (CONNECTION* conn, const char* buf, size_t len) +{ + tlssockdata *data = conn->sockdata; + int ret; + + if (!data) + { + mutt_error ("Error: no TLS socket open"); + mutt_sleep (2); + return -1; + } + + ret = gnutls_record_send (data->state, buf, len); + if (gnutls_error_is_fatal(ret) == 1) + { + mutt_error ("tls_socket_write (%s)", gnutls_strerror (ret)); + mutt_sleep (4); + return -1; + } + return ret; +} + +static int tls_socket_open (CONNECTION* conn) +{ + if (raw_socket_open (conn) < 0) + return -1; + + if (tls_negotiate (conn) < 0) + { + tls_socket_close (conn); + return -1; + } + + return 0; +} + +int mutt_gnutls_starttls (CONNECTION* conn) +{ + if (tls_init() < 0) + return -1; + + if (tls_negotiate (conn) < 0) + return -1; + + conn->read = tls_socket_read; + conn->write = tls_socket_write; + conn->close = tls_starttls_close; + + return 0; +} + +static int protocol_priority[] = {GNUTLS_TLS1, GNUTLS_SSL3, 0}; + +/* tls_negotiate: After TLS state has been initialised, attempt to negotiate + * TLS over the wire, including certificate checks. */ +static int tls_negotiate (CONNECTION * conn) +{ + tlssockdata *data; + int err; + + data = (tlssockdata *) safe_calloc (1, sizeof (tlssockdata)); + conn->sockdata = data; + err = gnutls_certificate_allocate_credentials (&data->xcred); + if (err < 0) + { + FREE(&conn->sockdata); + mutt_error ("gnutls_certificate_allocate_credentials: %s", gnutls_strerror(err)); + mutt_sleep (2); + return -1; + } + + gnutls_certificate_set_x509_trust_file (data->xcred, SslCertFile, + GNUTLS_X509_FMT_PEM); + /* ignore errors, maybe file doesn't exist yet */ + + if (SslCACertFile) + { + gnutls_certificate_set_x509_trust_file (data->xcred, SslCACertFile, + GNUTLS_X509_FMT_PEM); + } + +/* + gnutls_set_x509_client_key (data->xcred, "", ""); + gnutls_set_x509_cert_callback (data->xcred, cert_callback); +*/ + + gnutls_init(&data->state, GNUTLS_CLIENT); + + /* set socket */ + gnutls_transport_set_ptr (data->state, (gnutls_transport_ptr)conn->fd); + + /* disable TLS/SSL protocols as needed */ + if (!option(OPTTLSV1) && !option(OPTSSLV3)) + { + mutt_error (_("All available protocols for TLS/SSL connection disabled")); + goto fail; + } + else if (!option(OPTTLSV1)) + { + protocol_priority[0] = GNUTLS_SSL3; + protocol_priority[1] = 0; + } + else if (!option(OPTSSLV3)) + { + protocol_priority[0] = GNUTLS_TLS1; + protocol_priority[1] = 0; + } + /* + else + use the list set above + */ + + /* We use default priorities (see gnutls documentation), + except for protocol version */ + gnutls_set_default_priority (data->state); + gnutls_protocol_set_priority (data->state, protocol_priority); + + if (SslDHPrimeBits > 0) + { + gnutls_dh_set_prime_bits (data->state, SslDHPrimeBits); + } + +/* + gnutls_set_cred (data->state, GNUTLS_ANON, NULL); +*/ + + gnutls_credentials_set (data->state, GNUTLS_CRD_CERTIFICATE, data->xcred); + + err = gnutls_handshake(data->state); + + while (err == GNUTLS_E_AGAIN || err == GNUTLS_E_INTERRUPTED) + { + err = gnutls_handshake(data->state); + } + if (err < 0) { + if (err == GNUTLS_E_FATAL_ALERT_RECEIVED) + { + mutt_error("gnutls_handshake: %s(%s)", gnutls_strerror(err), + gnutls_alert_get_name(gnutls_alert_get(data->state))); + } + else + { + mutt_error("gnutls_handshake: %s", gnutls_strerror(err)); + } + mutt_sleep (2); + goto fail; + } + + if (!tls_check_certificate(conn)) + goto fail; + + /* set Security Strength Factor (SSF) for SASL */ + /* NB: gnutls_cipher_get_key_size() returns key length in bytes */ + conn->ssf = gnutls_cipher_get_key_size (gnutls_cipher_get (data->state)) * 8; + + mutt_message (_("SSL/TLS connection using %s (%s/%s/%s)"), + gnutls_protocol_get_name (gnutls_protocol_get_version (data->state)), + gnutls_kx_get_name (gnutls_kx_get (data->state)), + gnutls_cipher_get_name (gnutls_cipher_get (data->state)), + gnutls_mac_get_name (gnutls_mac_get (data->state))); + mutt_sleep (0); + + return 0; + + fail: + gnutls_certificate_free_credentials (data->xcred); + gnutls_deinit (data->state); + FREE(&conn->sockdata); + return -1; +} + +static int tls_socket_close (CONNECTION* conn) +{ + tlssockdata *data = conn->sockdata; + if (data) + { + gnutls_bye (data->state, GNUTLS_SHUT_RDWR); + + gnutls_certificate_free_credentials (data->xcred); + gnutls_deinit (data->state); + safe_free ((void **) &conn->sockdata); + } + + return raw_socket_close (conn); +} + +static int tls_starttls_close (CONNECTION* conn) +{ + int rc; + + rc = tls_socket_close (conn); + conn->read = raw_socket_read; + conn->write = raw_socket_write; + conn->close = raw_socket_close; + + return rc; +} + +#define CERT_SEP "-----BEGIN" + +/* this bit is based on read_ca_file() in gnutls */ +static int tls_compare_certificates (const gnutls_datum *peercert) +{ + gnutls_datum cert; + unsigned char *ptr; + FILE *fd1; + int ret; + gnutls_datum b64_data; + unsigned char *b64_data_data; + struct stat filestat; + + if (stat(SslCertFile, &filestat) == -1) + return 0; + + b64_data.size = filestat.st_size+1; + b64_data_data = (unsigned char *) safe_calloc (1, b64_data.size); + b64_data_data[b64_data.size-1] = '\0'; + b64_data.data = b64_data_data; + + fd1 = fopen(SslCertFile, "r"); + if (fd1 == NULL) { + return 0; + } + + b64_data.size = fread(b64_data.data, 1, b64_data.size, fd1); + fclose(fd1); + + do { + ret = gnutls_pem_base64_decode_alloc(NULL, &b64_data, &cert); + if (ret != 0) + { + FREE (&b64_data_data); + return 0; + } + + ptr = (unsigned char *)strstr(b64_data.data, CERT_SEP) + 1; + ptr = (unsigned char *)strstr(ptr, CERT_SEP); + + b64_data.size = b64_data.size - (ptr - b64_data.data); + b64_data.data = ptr; + + if (cert.size == peercert->size) + { + if (memcmp (cert.data, peercert->data, cert.size) == 0) + { + /* match found */ + gnutls_free(cert.data); + FREE (&b64_data_data); + return 1; + } + } + + gnutls_free(cert.data); + } while (ptr != NULL); + + /* no match found */ + FREE (&b64_data_data); + return 0; +} + +static void tls_fingerprint (gnutls_digest_algorithm algo, + char* s, int l, const gnutls_datum* data) +{ + unsigned char md[36]; + size_t n; + int j; + + n = 36; + + if (gnutls_fingerprint (algo, data, (char *)md, &n) < 0) + { + snprintf (s, l, _("[unable to calculate]")); + } + else + { + for (j = 0; j < (int) n; j++) + { + char ch[8]; + snprintf (ch, 8, "%02X%s", md[j], (j % 2 ? " " : "")); + strncat (s, ch, l); + } + s[2*n+n/2-1] = '\0'; /* don't want trailing space */ + } +} + +static char *tls_make_date (time_t t, char *s, size_t len) +{ + struct tm *l = gmtime (&t); + + if (l) + snprintf (s, len, "%s, %d %s %d %02d:%02d:%02d UTC", + Weekdays[l->tm_wday], l->tm_mday, Months[l->tm_mon], + l->tm_year + 1900, l->tm_hour, l->tm_min, l->tm_sec); + else + strfcpy (s, _("[invalid date]"), len); + + return (s); +} + +static int tls_check_stored_hostname (const gnutls_datum *cert, + const char *hostname) +{ + char buf[80]; + FILE *fp; + char *linestr = NULL; + size_t linestrsize; + int linenum = 0; + regex_t preg; + regmatch_t pmatch[3]; + + /* try checking against names stored in stored certs file */ + if ((fp = fopen (SslCertFile, "r"))) + { + if (regcomp(&preg, "^#H ([a-zA-Z0-9_\\.-]+) ([0-9A-F]{4}( [0-9A-F]{4}){7})[ \t]*$", REG_ICASE|REG_EXTENDED) != 0) + { + regfree(&preg); + return 0; + } + + buf[0] = '\0'; + tls_fingerprint (GNUTLS_DIG_MD5, buf, sizeof (buf), cert); + while ((linestr = mutt_read_line(linestr, &linestrsize, fp, &linenum)) != NULL) + { + if(linestr[0] == '#' && linestr[1] == 'H') + { + if (regexec(&preg, linestr, 3, pmatch, 0) == 0) + { + linestr[pmatch[1].rm_eo] = '\0'; + linestr[pmatch[2].rm_eo] = '\0'; + if (strcmp(linestr + pmatch[1].rm_so, hostname) == 0 && + strcmp(linestr + pmatch[2].rm_so, buf) == 0) + { + regfree(&preg); + safe_free((void**)&linestr); + fclose(fp); + return 1; + } + } + } + } + + regfree(&preg); + fclose(fp); + } + + /* not found a matching name */ + return 0; +} + +static int tls_check_certificate (CONNECTION* conn) +{ + tlssockdata *data = conn->sockdata; + gnutls_session state = data->state; + char helpstr[SHORT_STRING]; + char buf[SHORT_STRING]; + char fpbuf[SHORT_STRING]; + int buflen; + char dn_common_name[SHORT_STRING]; + char dn_email[SHORT_STRING]; + char dn_organization[SHORT_STRING]; + char dn_organizational_unit[SHORT_STRING]; + char dn_locality[SHORT_STRING]; + char dn_province[SHORT_STRING]; + char dn_country[SHORT_STRING]; + MUTTMENU *menu; + int done, row, i, ret; + FILE *fp; + gnutls_x509_dn dn; + time_t t; + const gnutls_datum *cert_list; + int cert_list_size = 0; + gnutls_certificate_status certstat; + char datestr[30]; + gnutls_x509_crt cert; + gnutls_datum pemdata; + int certerr_expired = 0; + int certerr_notyetvalid = 0; + int certerr_hostname = 0; + int certerr_nottrusted = 0; + int certerr_revoked = 0; + int certerr_signernotca = 0; + + if (gnutls_auth_get_type(state) != GNUTLS_CRD_CERTIFICATE) + { + mutt_error (_("Unable to get certificate from peer")); + mutt_sleep (2); + return 0; + } + + certstat = gnutls_certificate_verify_peers(state); + + if (certstat == GNUTLS_E_NO_CERTIFICATE_FOUND) + { + mutt_error (_("Unable to get certificate from peer")); + mutt_sleep (2); + return 0; + } + if (certstat < 0) + { + mutt_error (_("Certificate verification error (%s)"), gnutls_strerror(certstat)); + mutt_sleep (2); + return 0; + } + + /* We only support X.509 certificates (not OpenPGP) at the moment */ + if (gnutls_certificate_type_get(state) != GNUTLS_CRT_X509) + { + mutt_error (_("Error certificate is not X.509")); + mutt_sleep (2); + return 0; + } + + if (gnutls_x509_crt_init(&cert) < 0) + { + mutt_error (_("Error initialising gnutls certificate data")); + mutt_sleep (2); + return 0; + } + + cert_list = gnutls_certificate_get_peers(state, &cert_list_size); + if (!cert_list) + { + mutt_error (_("Unable to get certificate from peer")); + mutt_sleep (2); + return 0; + } + + /* FIXME: Currently only check first certificate in chain. */ + if (gnutls_x509_crt_import(cert, &cert_list[0], GNUTLS_X509_FMT_DER) < 0) + { + mutt_error (_("Error processing certificate data")); + mutt_sleep (2); + return 0; + } + + if (gnutls_x509_crt_get_expiration_time(cert) < time(NULL)) + { + certerr_expired = 1; + } + + if (gnutls_x509_crt_get_activation_time(cert) > time(NULL)) + { + certerr_notyetvalid = 1; + } + + if (!gnutls_x509_crt_check_hostname(cert, conn->account.host) && + !tls_check_stored_hostname (&cert_list[0], conn->account.host)) + { + certerr_hostname = 1; + } + + /* see whether certificate is in our cache (certificates file) */ + if (tls_compare_certificates (&cert_list[0])) + { + if (certstat & GNUTLS_CERT_INVALID) + { + /* doesn't matter - have decided is valid because server + certificate is in our trusted cache */ + certstat ^= GNUTLS_CERT_INVALID; + } + + if (certstat & GNUTLS_CERT_SIGNER_NOT_FOUND) + { + /* doesn't matter that we haven't found the signer, since + certificate is in our trusted cache */ + certstat ^= GNUTLS_CERT_SIGNER_NOT_FOUND; + } + + if (certstat & GNUTLS_CERT_SIGNER_NOT_CA) + { + /* Hmm. Not really sure how to handle this, but let's say + that we don't care if the CA certificate hasn't got the + correct X.509 basic constraints if server certificate is + in our cache. */ + certstat ^= GNUTLS_CERT_SIGNER_NOT_CA; + } + + } + + if (certstat & GNUTLS_CERT_REVOKED) + { + certerr_revoked = 1; + certstat ^= GNUTLS_CERT_REVOKED; + } + + if (certstat & GNUTLS_CERT_INVALID) + { + certerr_nottrusted = 1; + certstat ^= GNUTLS_CERT_INVALID; + } + + if (certstat & GNUTLS_CERT_SIGNER_NOT_FOUND) + { + /* NB: already cleared if cert in cache */ + certerr_nottrusted = 1; + certstat ^= GNUTLS_CERT_SIGNER_NOT_FOUND; + } + + if (certstat & GNUTLS_CERT_SIGNER_NOT_CA) + { + /* NB: already cleared if cert in cache */ + certerr_signernotca = 1; + certstat ^= GNUTLS_CERT_SIGNER_NOT_CA; + } + + /* OK if signed by (or is) a trusted certificate */ + /* we've been zeroing the interesting bits in certstat - + don't return OK if there are any unhandled bits we don't + understand */ + if (!(certerr_expired || certerr_notyetvalid || + certerr_hostname || certerr_nottrusted) && certstat == 0) + { + gnutls_x509_crt_deinit(cert); + return 1; + } + + + /* interactive check from user */ + menu = mutt_new_menu (); + menu->max = 25; + menu->dialog = (char **) safe_calloc (1, menu->max * sizeof (char *)); + for (i = 0; i < menu->max; i++) + menu->dialog[i] = (char *) safe_calloc (1, SHORT_STRING * sizeof (char)); + + row = 0; + strfcpy (menu->dialog[row], _("This certificate belongs to:"), SHORT_STRING); + row++; + + buflen = sizeof(dn_common_name); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, + dn_common_name, &buflen) != 0) + dn_common_name[0] = '\0'; + buflen = sizeof(dn_email); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, + dn_email, &buflen) != 0) + dn_email[0] = '\0'; + buflen = sizeof(dn_organization); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATION_NAME, 0, 0, + dn_organization, &buflen) != 0) + dn_organization[0] = '\0'; + buflen = sizeof(dn_organizational_unit); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, 0, 0, + dn_organizational_unit, &buflen) != 0) + dn_organizational_unit[0] = '\0'; + buflen = sizeof(dn_locality); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, + dn_locality, &buflen) != 0) + dn_locality[0] = '\0'; + buflen = sizeof(dn_province); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0, 0, + dn_province, &buflen) != 0) + dn_province[0] = '\0'; + buflen = sizeof(dn_country); + if (gnutls_x509_crt_get_dn_by_oid(cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, + dn_country, &buflen) != 0) + dn_country[0] = '\0'; + + snprintf (menu->dialog[row++], SHORT_STRING, " %s %s", dn_common_name, dn_email); + snprintf (menu->dialog[row++], SHORT_STRING, " %s", dn_organization); + snprintf (menu->dialog[row++], SHORT_STRING, " %s", dn_organizational_unit); + snprintf (menu->dialog[row++], SHORT_STRING, " %s %s %s", + dn_locality, dn_province, dn_country); + row++; + + strfcpy (menu->dialog[row], _("This certificate was issued by:"), SHORT_STRING); + row++; + + buflen = sizeof(dn_common_name); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0, 0, + dn_common_name, &buflen) != 0) + dn_common_name[0] = '\0'; + buflen = sizeof(dn_email); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_PKCS9_EMAIL, 0, 0, + dn_email, &buflen) != 0) + dn_email[0] = '\0'; + buflen = sizeof(dn_organization); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATION_NAME, 0, 0, + dn_organization, &buflen) != 0) + dn_organization[0] = '\0'; + buflen = sizeof(dn_organizational_unit); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_ORGANIZATIONAL_UNIT_NAME, 0, 0, + dn_organizational_unit, &buflen) != 0) + dn_organizational_unit[0] = '\0'; + buflen = sizeof(dn_locality); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_LOCALITY_NAME, 0, 0, + dn_locality, &buflen) != 0) + dn_locality[0] = '\0'; + buflen = sizeof(dn_province); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_STATE_OR_PROVINCE_NAME, 0, 0, + dn_province, &buflen) != 0) + dn_province[0] = '\0'; + buflen = sizeof(dn_country); + if (gnutls_x509_crt_get_issuer_dn_by_oid(cert, GNUTLS_OID_X520_COUNTRY_NAME, 0, 0, + dn_country, &buflen) != 0) + dn_country[0] = '\0'; + + snprintf (menu->dialog[row++], SHORT_STRING, " %s %s", dn_common_name, dn_email); + snprintf (menu->dialog[row++], SHORT_STRING, " %s", dn_organization); + snprintf (menu->dialog[row++], SHORT_STRING, " %s", dn_organizational_unit); + snprintf (menu->dialog[row++], SHORT_STRING, " %s %s %s", + dn_locality, dn_province, dn_country); + row++; + + snprintf (menu->dialog[row++], SHORT_STRING, _("This certificate is valid")); + + t = gnutls_x509_crt_get_activation_time(cert); + snprintf (menu->dialog[row++], SHORT_STRING, _(" from %s"), + tls_make_date(t, datestr, 30)); + + t = gnutls_x509_crt_get_expiration_time(cert); + snprintf (menu->dialog[row++], SHORT_STRING, _(" to %s"), + tls_make_date(t, datestr, 30)); + + fpbuf[0] = '\0'; + tls_fingerprint (GNUTLS_DIG_SHA, fpbuf, sizeof (fpbuf), &cert_list[0]); + snprintf (menu->dialog[row++], SHORT_STRING, _("SHA1 Fingerprint: %s"), fpbuf); + fpbuf[0] = '\0'; + tls_fingerprint (GNUTLS_DIG_MD5, fpbuf, sizeof (fpbuf), &cert_list[0]); + snprintf (menu->dialog[row++], SHORT_STRING, _("MD5 Fingerprint: %s"), fpbuf); + + if (certerr_notyetvalid) + { + row++; + strfcpy (menu->dialog[row], _("WARNING: Server certificate is not yet valid"), SHORT_STRING); + } + if (certerr_expired) + { + row++; + strfcpy (menu->dialog[row], _("WARNING: Server certificate has expired"), SHORT_STRING); + } + if (certerr_revoked) + { + row++; + strfcpy (menu->dialog[row], _("WARNING: Server certificate has been revoked"), SHORT_STRING); + } + if (certerr_hostname) + { + row++; + strfcpy (menu->dialog[row], _("WARNING: Server hostname does not match certificate"), SHORT_STRING); + } + if (certerr_signernotca) + { + row++; + strfcpy (menu->dialog[row], _("WARNING: Signer of server certificate is not a CA"), SHORT_STRING); + } + + menu->title = _("TLS/SSL Certificate check"); + /* certificates with bad dates, or that are revoked, must be + accepted manually each and every time */ + if (SslCertFile && !certerr_expired && !certerr_notyetvalid && !certerr_revoked) + { + menu->prompt = _("(r)eject, accept (o)nce, (a)ccept always"); + menu->keys = _("roa"); + } + else + { + menu->prompt = _("(r)eject, accept (o)nce"); + menu->keys = _("ro"); + } + + helpstr[0] = '\0'; + mutt_make_help (buf, sizeof (buf), _("Exit "), MENU_GENERIC, OP_EXIT); + strncat (helpstr, buf, sizeof (helpstr)); + mutt_make_help (buf, sizeof (buf), _("Help"), MENU_GENERIC, OP_HELP); + strncat (helpstr, buf, sizeof (helpstr)); + menu->help = helpstr; + + done = 0; + while (!done) + { + switch (mutt_menuLoop (menu)) + { + case -1: /* abort */ + case OP_MAX + 1: /* reject */ + case OP_EXIT: + done = 1; + break; + case OP_MAX + 3: /* accept always */ + done = 0; + if ((fp = fopen (SslCertFile, "a"))) + { + /* save hostname if necessary */ + if (certerr_hostname) + { + fprintf(fp, "#H %s %s\n", conn->account.host, fpbuf); + done = 1; + } + if (certerr_nottrusted) + { + done = 0; + ret = gnutls_pem_base64_encode_alloc ("CERTIFICATE", &cert_list[0], + &pemdata); + if (ret == 0) + { + if (fwrite(pemdata.data, pemdata.size, 1, fp) == 1) + { + done = 1; + } + gnutls_free(pemdata.data); + } + } + fclose (fp); + } + if (!done) + { + mutt_error (_("Warning: Couldn't save certificate")); + mutt_sleep (2); + } + else + { + mutt_message (_("Certificate saved")); + mutt_sleep (0); + } + /* fall through */ + case OP_MAX + 2: /* accept once */ + done = 2; + break; + } + } + mutt_menuDestroy (&menu); + gnutls_x509_crt_deinit(cert); + return (done == 2); +} diff --git a/pop_lib.c b/pop_lib.c index 5408348..88b249d 100644 --- a/pop_lib.c +++ b/pop_lib.c @@ -270,7 +270,7 @@ int pop_open_connection (POP_DATA *pop_data) return -2; } -#if defined(USE_SSL) && !defined(USE_NSS) +#if (defined(USE_SSL) || defined(USE_GNUTLS)) && !defined(USE_NSS) /* Attempt STLS if available and desired. */ if (pop_data->cmd_stls && !pop_data->conn->ssf) { @@ -295,7 +295,11 @@ int pop_open_connection (POP_DATA *pop_data) mutt_error ("%s", pop_data->err_msg); mutt_sleep (2); } +#ifdef USE_SSL else if (mutt_ssl_starttls (pop_data->conn)) +#elif USE_GNUTLS + else if (mutt_gnutls_starttls (pop_data->conn)) +#endif { mutt_error (_("Could not negotiate TLS connection")); mutt_sleep (2);