--- configure.ac | 10 +++++++++- doc/Muttrc.head | 2 +- imap/auth.c | 20 ++++++++++++++++++++ init.h | 3 +++ mx.c | 3 +++ 5 files changed, 36 insertions(+), 2 deletions(-) --- configure.ac +++ configure.ac 2017-04-28 12:37:53.765552498 +0000 @@ -393,7 +393,7 @@ main () mutt_cv_slang=$withval if test -d $withval/include/slang; then CPPFLAGS="$CPPFLAGS -I${withval}/include/slang" - elif test -d $withval/include; then + elif test -d $withval/include && test $withval != /usr ; then CPPFLAGS="$CPPFLAGS -I${withval}/include" fi LDFLAGS="$LDFLAGS -L${withval}/lib" @@ -744,8 +744,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with- AC_MSG_WARN([SSL support is only useful with POP, IMAP or SMTP support]) else if test "$with_ssl" != "yes"; then + case $withval in /usr|/usr/local) ;; + *) LDFLAGS="$LDFLAGS -L$withval/lib" CPPFLAGS="$CPPFLAGS -I$withval/include" + ;; + esac fi saved_LIBS="$LIBS" @@ -825,8 +829,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with fi if test "$with_sasl" != "yes"; then + case $with_sasl in /usr|/usr/local) ;; + *) CPPFLAGS="$CPPFLAGS -I$with_sasl/include" LDFLAGS="$LDFLAGS -L$with_sasl/lib" + ;; + esac fi saved_LIBS="$LIBS" --- doc/Muttrc.head +++ doc/Muttrc.head 2017-04-28 12:25:19.528026960 +0000 @@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\ "call urlview to extract URLs out of a message" # Show documentation when pressing F1 -macro generic,pager " less @docdir@/manual.txt" "show Mutt documentation" +macro generic,index,pager " less -iM @docdir@/manual.txt.gz" "show Mutt documentation" # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y" macro index,pager y "?" "show incoming mailboxes list" --- imap/auth.c +++ imap/auth.c 2017-04-28 12:30:38.789900091 +0000 @@ -68,6 +68,23 @@ int imap_authenticate(IMAP_DATA *idata) mutt_debug(2, "imap_authenticate: Trying method %s\n", method); authenticator = imap_authenticators; +#ifdef USE_SASL + /* "login" not supported by SASL */ + if (!ascii_strcasecmp ("login", method)) + { + while (authenticator->authenticate) + { + const char *identify = authenticator->method; + if (identify && !ascii_strcasecmp(identify, method)) + if ((r = authenticator->authenticate(idata, method)) != IMAP_AUTH_UNAVAIL) + { + FREE(&methods); + return r; + } + authenticator++; + } + } else { +#endif while (authenticator->authenticate) { if (!authenticator->method || (ascii_strcasecmp(authenticator->method, method) == 0)) @@ -79,6 +96,9 @@ int imap_authenticate(IMAP_DATA *idata) authenticator++; } +#ifdef USE_SASL + } +#endif } FREE(&methods); --- init.h +++ init.h 2017-04-28 12:33:39.178438277 +0000 @@ -3735,6 +3735,9 @@ struct option_t MuttVars[] = { ** the default from the GNUTLS library. */ # endif /* USE_SSL_GNUTLS */ +#if defined(USE_IMAP) && defined(SUSE_IMAP_FORCE_SSL) + { "imap_force_ssl", DT_SYN, R_NONE, UL "ssl_force_tls", 0 }, +#endif { "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, MUTT_YES }, /* ** .pp --- mx.c +++ mx.c 2017-04-28 12:25:20.772003088 +0000 @@ -1444,6 +1444,9 @@ void mx_update_context(CONTEXT *ctx, int { h = ctx->hdrs[msgno]; + if (!h) + continue; + if (WithCrypto) { /* NOTE: this _must_ be done before the check for mailcap! */