From f07b807db70d3ac5d0a8086819cfbb4f7ff25f07 Mon Sep 17 00:00:00 2001 From: ak1 Date: Sat, 29 Jan 2005 19:23:09 +0000 Subject: [PATCH] Andreas Krennmair: experimenting w/ IMAP reconnect. git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@39 e385b8ad-14ed-0310-8656-cc95a2468c6d --- config.h.in | 697 +++++++++++++++++++++++++------------------------ imap/command.c | 4 +- imap/imap.c | 18 ++ init.h | 6 + mutt.h | 3 + 5 files changed, 388 insertions(+), 340 deletions(-) diff --git a/config.h.in b/config.h.in index 4d51f94..13a595e 100644 --- a/config.h.in +++ b/config.h.in @@ -1,551 +1,570 @@ -/* config.h.in. Generated automatically from configure.in by autoheader 2.13. */ +/* config.h.in. Generated from configure.in by autoheader. */ -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END +/* Compiling with newsreading support with NNTP */ +#undef USE_NNTP -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA +/* program to use for shell commands */ +#define EXECSHELL "/bin/sh" -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H +/* Define to `int' if doesn't define. */ +#undef sig_atomic_t -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline +/* Define to enable the "buffy_size" feature. */ +#undef BUFFY_SIZE -/* Define to `long' if doesn't define. */ -#undef off_t +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +#undef CRAY_STACKSEG_END -/* Define to `int' if doesn't define. */ -#undef pid_t +/* Define if you want classic PGP support. */ +#undef CRYPT_BACKEND_CLASSIC_PGP -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE +/* Define if you want clasic S/MIME support. */ +#undef CRYPT_BACKEND_CLASSIC_SMIME -/* Define to `unsigned' if doesn't define. */ -#undef size_t +/* Define to 1 if using `alloca.c'. */ +#undef C_ALLOCA -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION +/* Define to enable debugging info. */ +#undef DEBUG -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS +/* Define if you want to use an external dotlocking program. */ +#undef DL_STANDALONE -/* Define if `sys_siglist' is declared by . */ -#undef SYS_SIGLIST_DECLARED +/* Define your domain name. */ +#undef DOMAIN -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#undef ENABLE_NLS -/* Compiling with newsreading support with NNTP */ -#undef USE_NNTP +/* Enable exact regeneration of email addresses as parsed? NOTE: this requires + significant more memory when defined. */ +#undef EXACT_ADDRESS /* program to use for shell commands */ -#define EXECSHELL "/bin/sh" - -/* Define to `int' if doesn't define. */ -#undef sig_atomic_t - -/* The number of bytes in a int. */ -#undef SIZEOF_INT - -/* The number of bytes in a long. */ -#undef SIZEOF_LONG +#undef EXECSHELL -/* Define if you have the RAND_egd function. */ -#undef HAVE_RAND_EGD +/* Define to 1 if you have `alloca', as a function or macro. */ +#undef HAVE_ALLOCA -/* Define if you have the RAND_status function. */ -#undef HAVE_RAND_STATUS +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#undef HAVE_ALLOCA_H -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT +/* Define to 1 if you have the header file. */ +#undef HAVE_ARGZ_H -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY +/* Define if your curses library supports color. */ +#undef HAVE_COLOR -/* Define if you have the bind_textdomain_codeset function. */ -#undef HAVE_BIND_TEXTDOMAIN_CODESET +/* Sleepycat DB4 Support */ +#undef HAVE_DB4 -/* Define if you have the dcgettext function. */ +/* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT -/* Define if you have the fchdir function. */ +/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you + don't. */ +#undef HAVE_DECL_SYS_SIGLIST + +/* Define to 1 if you have the `fchdir' function. */ #undef HAVE_FCHDIR -/* Define if you have the feof_unlocked function. */ +/* Define to 1 if you have the `feof_unlocked' function. */ #undef HAVE_FEOF_UNLOCKED -/* Define if you have the fgetpos function. */ +/* Define to 1 if you have the `fgetpos' function. */ #undef HAVE_FGETPOS -/* Define if you have the fgets_unlocked function. */ +/* Define to 1 if you have the `fgets_unlocked' function. */ #undef HAVE_FGETS_UNLOCKED -/* Define if you have the ftruncate function. */ +/* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE -/* Define if you have the getaddrinfo function. */ +/* GDBM Support */ +#undef HAVE_GDBM + +/* Define to 1 if you have the `getaddrinfo' function. */ #undef HAVE_GETADDRINFO -/* Define if you have the getcwd function. */ +/* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD -/* Define if you have the getegid function. */ +/* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID -/* Define if you have the geteuid function. */ +/* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID -/* Define if you have the getgid function. */ +/* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID -/* Define if you have the getpagesize function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_GETOPT_H + +/* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE -/* Define if you have the getsid function. */ +/* Define to 1 if you have the `getsid' function. */ #undef HAVE_GETSID -/* Define if you have the getuid function. */ +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID -/* Define if you have the idna_to_ascii_8z function. */ +/* Define if your GSSAPI implementation is Heimdal */ +#undef HAVE_HEIMDAL + +/* Define if you have the iconv() function. */ +#undef HAVE_ICONV + +/* Define to 1 if you have the header file. */ +#undef HAVE_ICONV_H + +/* Define if defines iconv_t. */ +#undef HAVE_ICONV_T_DEF + +/* Define to 1 if you have the `idna_to_ascii_8z' function. */ #undef HAVE_IDNA_TO_ASCII_8Z -/* Define if you have the idna_to_ascii_from_locale function. */ +/* Define to 1 if you have the `idna_to_ascii_from_locale' function. */ #undef HAVE_IDNA_TO_ASCII_FROM_LOCALE -/* Define if you have the idna_to_ascii_from_utf8 function. */ +/* Define to 1 if you have the `idna_to_ascii_from_utf8' function. */ #undef HAVE_IDNA_TO_ASCII_FROM_UTF8 -/* Define if you have the idna_to_ascii_lz function. */ +/* Define to 1 if you have the `idna_to_ascii_lz' function. */ #undef HAVE_IDNA_TO_ASCII_LZ -/* Define if you have the idna_to_unicode_8z8z function. */ +/* Define to 1 if you have the `idna_to_unicode_8z8z' function. */ #undef HAVE_IDNA_TO_UNICODE_8Z8Z -/* Define if you have the idna_to_unicode_utf8_from_utf8 function. */ +/* Define to 1 if you have the `idna_to_unicode_utf8_from_utf8' function. */ #undef HAVE_IDNA_TO_UNICODE_UTF8_FROM_UTF8 -/* Define if you have the isctype function. */ +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_IOCTL_H + +/* Define to 1 if you have the `isctype' function. */ #undef HAVE_ISCTYPE -/* Define if you have the iswalnum function. */ +/* Define to 1 if you have the `iswalnum' function. */ #undef HAVE_ISWALNUM -/* Define if you have the iswalpha function. */ +/* Define to 1 if you have the `iswalpha' function. */ #undef HAVE_ISWALPHA -/* Define if you have the iswcntrl function. */ +/* Define to 1 if you have the `iswcntrl' function. */ #undef HAVE_ISWCNTRL -/* Define if you have the iswdigit function. */ +/* Define to 1 if you have the `iswdigit' function. */ #undef HAVE_ISWDIGIT -/* Define if you have the iswgraph function. */ +/* Define to 1 if you have the `iswgraph' function. */ #undef HAVE_ISWGRAPH -/* Define if you have the iswlower function. */ +/* Define to 1 if you have the `iswlower' function. */ #undef HAVE_ISWLOWER -/* Define if you have the iswprint function. */ +/* Define to 1 if you have the `iswprint' function. */ #undef HAVE_ISWPRINT -/* Define if you have the iswpunct function. */ +/* Define to 1 if you have the `iswpunct' function. */ #undef HAVE_ISWPUNCT -/* Define if you have the iswspace function. */ +/* Define to 1 if you have the `iswspace' function. */ #undef HAVE_ISWSPACE -/* Define if you have the iswupper function. */ +/* Define to 1 if you have the `iswupper' function. */ #undef HAVE_ISWUPPER -/* Define if you have the iswxdigit function. */ +/* Define to 1 if you have the `iswxdigit' function. */ #undef HAVE_ISWXDIGIT -/* Define if you have the memmove function. */ -#undef HAVE_MEMMOVE +/* Define if you have and nl_langinfo(CODESET). */ +#undef HAVE_LANGINFO_CODESET -/* Define if you have the mempcpy function. */ -#undef HAVE_MEMPCPY +/* Define if you have and nl_langinfo(YESEXPR). */ +#undef HAVE_LANGINFO_YESEXPR -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV +/* Define to 1 if you have the `crypto' library (-lcrypto). */ +#undef HAVE_LIBCRYPTO -/* Define if you have the regcomp function. */ -#undef HAVE_REGCOMP +/* Define to 1 if you have the `esmtp' library (-lesmtp). */ +#undef HAVE_LIBESMTP -/* Define if you have the setegid function. */ -#undef HAVE_SETEGID +/* Define to 1 if you have the `gnutls' library (-lgnutls). */ +#undef HAVE_LIBGNUTLS -/* Define if you have the setenv function. */ -#undef HAVE_SETENV +/* Define to 1 if you have the `idn' library (-lidn). */ +#undef HAVE_LIBIDN -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE +/* Define to 1 if you have the `intl' library (-lintl). */ +#undef HAVE_LIBINTL -/* Define if you have the setrlimit function. */ -#undef HAVE_SETRLIMIT +/* Define to 1 if you have the `nsl' library (-lnsl). */ +#undef HAVE_LIBNSL -/* Define if you have the snprintf function. */ -#undef HAVE_SNPRINTF +/* Define to 1 if you have the `sasl' library (-lsasl). */ +#undef HAVE_LIBSASL -/* Define if you have the srand48 function. */ -#undef HAVE_SRAND48 +/* Define to 1 if you have the `sasl2' library (-lsasl2). */ +#undef HAVE_LIBSASL2 -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY +/* Define to 1 if you have the `socket' library (-lsocket). */ +#undef HAVE_LIBSOCKET -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP +/* Define to 1 if you have the `ssl' library (-lssl). */ +#undef HAVE_LIBSSL -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR +/* Define to 1 if you have the `termlib' library (-ltermlib). */ +#undef HAVE_LIBTERMLIB -/* Define if you have the strdup function. */ -#undef HAVE_STRDUP +/* Define to 1 if you have the `x' library (-lx). */ +#undef HAVE_LIBX -/* Define if you have the strerror function. */ -#undef HAVE_STRERROR +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H -/* Define if you have the strftime function. */ -#undef HAVE_STRFTIME +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H -/* Define if you have the strtoul function. */ -#undef HAVE_STRTOUL +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H -/* Define if you have the towlower function. */ -#undef HAVE_TOWLOWER +/* Define to 1 if you have the `memmove' function. */ +#undef HAVE_MEMMOVE -/* Define if you have the towupper function. */ -#undef HAVE_TOWUPPER +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H -/* Define if you have the tsearch function. */ -#undef HAVE_TSEARCH +/* Define to 1 if you have the `mempcpy' function. */ +#undef HAVE_MEMPCPY -/* Define if you have the vsnprintf function. */ -#undef HAVE_VSNPRINTF +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H +/* Define to 1 if you have the `munmap' function. */ +#undef HAVE_MUNMAP -/* Define if you have the header file. */ -#undef HAVE_GETOPT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_NCURSESW_NCURSES_H -/* Define if you have the header file. */ -#undef HAVE_ICONV_H +/* Define to 1 if you have the header file. */ +#undef HAVE_NCURSES_H -/* Define if you have the header file. */ -#undef HAVE_INTTYPES_H +/* Define to 1 if you have the header file. */ +#undef HAVE_NL_TYPES_H -/* Define if you have the header file. */ -#undef HAVE_IOCTL_H +/* Define to 1 if you have the `putenv' function. */ +#undef HAVE_PUTENV -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H +/* Define to 1 if you have the `RAND_egd' function. */ +#undef HAVE_RAND_EGD -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H +/* Define to 1 if you have the `RAND_status' function. */ +#undef HAVE_RAND_STATUS -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H +/* Define to 1 if you have the `regcomp' function. */ +#undef HAVE_REGCOMP -/* Define if you have the header file. */ -#undef HAVE_NCURSES_H +/* Define to 1 if you have the `setegid' function. */ +#undef HAVE_SETEGID -/* Define if you have the header file. */ -#undef HAVE_NCURSESW_NCURSES_H +/* Define to 1 if you have the `setenv' function. */ +#undef HAVE_SETENV -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H +/* Define to 1 if you have the `setlocale' function. */ +#undef HAVE_SETLOCALE + +/* Define to 1 if you have the `setrlimit' function. */ +#undef HAVE_SETRLIMIT + +/* Define to 1 if you have the `snprintf' function. */ +#undef HAVE_SNPRINTF + +/* Define to 1 if you have the `srand48' function. */ +#undef HAVE_SRAND48 -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_IOCTL_H +/* Define to 1 if you have the `stpcpy' function. */ +#undef HAVE_STPCPY -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP -/* Define if you have the header file. */ -#undef HAVE_SYSEXITS_H +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H +/* Define to 1 if you have the `strftime' function. */ +#undef HAVE_STRFTIME -/* Define if you have the header file. */ -#undef HAVE_UNIX_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H -/* Define if you have the header file. */ -#undef HAVE_WCHAR_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H -/* Define if you have the header file. */ -#undef HAVE_WCTYPE_H +/* Define to 1 if you have the `strtoul' function. */ +#undef HAVE_STRTOUL -/* Define if you have the crypto library (-lcrypto). */ -#undef HAVE_LIBCRYPTO +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSEXITS_H -/* Define if you have the esmtp library (-lesmtp). */ -#undef HAVE_LIBESMTP +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IOCTL_H -/* Define if you have the gnutls library (-lgnutls). */ -#undef HAVE_LIBGNUTLS +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H -/* Define if you have the idn library (-lidn). */ -#undef HAVE_LIBIDN +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_RESOURCE_H -/* Define if you have the nsl library (-lnsl). */ -#undef HAVE_LIBNSL +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H -/* Define if you have the sasl library (-lsasl). */ -#undef HAVE_LIBSASL +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIME_H -/* Define if you have the sasl2 library (-lsasl2). */ -#undef HAVE_LIBSASL2 +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H -/* Define if you have the socket library (-lsocket). */ -#undef HAVE_LIBSOCKET +/* Define to 1 if you have the `towlower' function. */ +#undef HAVE_TOWLOWER -/* Define if you have the ssl library (-lssl). */ -#undef HAVE_LIBSSL +/* Define to 1 if you have the `towupper' function. */ +#undef HAVE_TOWUPPER -/* Define if you have the termlib library (-ltermlib). */ -#undef HAVE_LIBTERMLIB +/* Define to 1 if you have the `tsearch' function. */ +#undef HAVE_TSEARCH -/* Name of package */ -#undef PACKAGE +/* Define if you have the uint32_t type. */ +#undef HAVE_UINT32_T -/* Version number of package */ -#undef VERSION +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H -/* Define if compiler has function prototypes */ -#undef PROTOTYPES +/* Define to 1 if you have the header file. */ +#undef HAVE_UNIX_H -/* Where to find sendmail on your system. */ -#undef SENDMAIL +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF -/* Define if you want classic PGP support. */ -#undef CRYPT_BACKEND_CLASSIC_PGP +/* Define to 1 if you have the header file. */ +#undef HAVE_WCHAR_H -/* Define if you want clasic S/MIME support. */ -#undef CRYPT_BACKEND_CLASSIC_SMIME +/* Define to 1 if you have the header file. */ +#undef HAVE_WCTYPE_H -/* Where to find mixmaster on your system. */ -#undef MIXMASTER +/* Define if you are using the system's wchar_t functions. */ +#undef HAVE_WC_FUNCS -/* Is this the international version? */ -#undef SUBVERSION +/* Define to 1 if you have the `__argz_count' function. */ +#undef HAVE___ARGZ_COUNT -/* Where to find ispell on your system. */ -#undef ISPELL +/* Define to 1 if you have the `__argz_next' function. */ +#undef HAVE___ARGZ_NEXT -/* Define if you compile with SLang instead of curses/ncurses. */ -#undef USE_SLANG_CURSES +/* Define to 1 if you have the `__argz_stringify' function. */ +#undef HAVE___ARGZ_STRINGIFY -/* Define if your curses library supports color. */ -#undef HAVE_COLOR +/* Is mail spooled to the user's home directory? If defined, MAILPATH should + be set to the filename of the spool mailbox relative the the home + directory. use: configure --with-homespool=FILE */ +#undef HOMESPOOL -/* Define if your curses library supports color. */ -#undef HAVE_COLOR +/* Define as const if the declaration of iconv() needs const. */ +#undef ICONV_CONST -/* Define if you have the uint32_t type. */ -#undef HAVE_UINT32_T +/* Where to find ispell on your system. */ +#undef ISPELL -/* Define if you want to use the included regex.c. */ -#undef USE_GNU_REGEX +/* Define if the result of isprint() is unreliable. */ +#undef LOCALES_HACK -/* Where new mail is spooled. */ +/* Where new mail is spooled. */ #undef MAILPATH -/* Is mail spooled to the user's home directory? If defined, - MAILPATH should be set to the filename of the spool mailbox - relative the the home directory. - use: configure --with-homespool=FILE */ -#undef HOMESPOOL - -/* Define to use dotlocking for mailboxes. */ -#undef USE_DOTLOCK - -/* Where new mail is spooled. */ -#undef MAILPATH +/* Where to find mixmaster on your system. */ +#undef MIXMASTER -/* Define to use dotlocking for mailboxes. */ -#undef USE_DOTLOCK +/* Define if you have problems with mutt not detecting new/old mailboxes over + NFS. Some NFS implementations incorrectly cache the attributes of small + files. */ +#undef NFS_ATTRIBUTE_HACK -/* Define to use dotlocking for mailboxes. */ -#undef USE_DOTLOCK +/* Name of package */ +#undef PACKAGE -/* Define if mutt should run setgid mail. */ -#undef USE_SETGID +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT -/* Define if you want to use an external dotlocking program. */ -#undef DL_STANDALONE +/* Define to the full name of this package. */ +#undef PACKAGE_NAME -/* Define your domain name. */ -#undef DOMAIN +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING -/* Define if you want support for the POP3 protocol. */ -#undef USE_POP +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME -/* Define if you want support for the IMAP protocol. */ -#undef USE_IMAP +/* Define to the version of this package. */ +#undef PACKAGE_VERSION -/* Define to 'int' if doesn't have it. */ -#undef socklen_t +/* Define if compiler has function prototypes */ +#undef PROTOTYPES -/* Include code for socket support. Set automatically if you enable POP3 or IMAP */ -#undef USE_SOCKET +/* Define as the return type of signal handlers (`int' or `void'). */ +#undef RETSIGTYPE -/* Define if your GSSAPI implementation is Heimdal */ -#undef HAVE_HEIMDAL +/* Where to find sendmail on your system. */ +#undef SENDMAIL -/* Define if you have GSSAPI libraries available */ -#undef USE_GSS +/* The size of a `int', as computed by sizeof. */ +#undef SIZEOF_INT -/* Define if you want support for SSL. */ -#undef USE_SSL +/* The size of a `long', as computed by sizeof. */ +#undef SIZEOF_LONG -/* Define if you want support for GNU TLS. */ -#undef USE_GNUTLS +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#undef STACK_DIRECTION -/* Define if you want support for SSL via the NSS library. */ -#undef USE_NSS +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS -/* Define if want to use the Cyrus SASL library for POP/IMAP authentication. */ -#undef USE_SASL +/* Is this the international version? */ +#undef SUBVERSION -/* Define if want to use the Cyrus SASL library for POP/IMAP authentication. */ -#undef USE_SASL +/* Define to enable Sun mailtool attachments support. */ +#undef SUN_ATTACHMENT -/* Define if want to use version 2 of the Cyrus SASL library. */ -#undef USE_SASL2 +/* Define to use dotlocking for mailboxes. */ +#undef USE_DOTLOCK -/* Define to enable debugging info. */ -#undef DEBUG +/* Define to use fcntl() to lock folders. */ +#undef USE_FCNTL -/* Define to use flock() to lock mailboxes. */ +/* Define to use flock() to lock mailboxes. */ #undef USE_FLOCK -/* Define to use fcntl() to lock folders. */ -#undef USE_FCNTL +/* Define if you want support for GNU TLS. */ +#undef USE_GNUTLS -/* Define if you have problems with mutt not detecting - new/old mailboxes over NFS. Some NFS implementations - incorrectly cache the attributes of small files. */ -#undef NFS_ATTRIBUTE_HACK +/* Define if you want to use the included regex.c. */ +#undef USE_GNU_REGEX -/* Define to enable the buffy_size feature. */ -#undef BUFFY_SIZE +/* Define if you have GSSAPI libraries available */ +#undef USE_GSS -/* Define to enable Sun mailtool attachments support. */ -#undef SUN_ATTACHMENT +/* Enable header caching */ +#undef USE_HCACHE -/* Define if the result of isprint() is unreliable. */ -#undef LOCALES_HACK +/* Define if you want support for the IMAP protocol. */ +#undef USE_IMAP -/* program to use for shell commands */ -#undef EXECSHELL +/* Define to enable the use of libesmtp */ +#undef USE_LIBESMTP -/* Enable exact regeneration of email addresses as parsed? - NOTE: this requires significant more memory when defined. */ -#undef EXACT_ADDRESS +/* Define if you want support for SSL via the NSS library. */ +#undef USE_NSS -/* Enable header caching */ -#undef USE_HCACHE +/* Define if you want support for the POP3 protocol. */ +#undef USE_POP -/* GDBM Support */ -#undef HAVE_GDBM +/* Define if want to use the Cyrus SASL library for POP/IMAP authentication. + */ +#undef USE_SASL -/* Sleepycat DB4 Support */ -#undef HAVE_DB4 +/* Define if want to use version 2 of the Cyrus SASL library. */ +#undef USE_SASL2 -/* Define if you have the iconv() function. */ -#undef HAVE_ICONV +/* Define if mutt should run setgid "mail". */ +#undef USE_SETGID -/* Define as const if the declaration of iconv() needs const. */ -#undef ICONV_CONST +/* Define if you compile with SLang instead of curses/ncurses. */ +#undef USE_SLANG_CURSES -/* Define if you have and nl_langinfo(CODESET). */ -#undef HAVE_LANGINFO_CODESET +/* Include code for socket support. Set automatically if you enable POP3 or + IMAP */ +#undef USE_SOCKET -/* Define if your file defines LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES +/* Define if you want support for SSL. */ +#undef USE_SSL -/* Define to 1 if translation of program messages to the user's native language - is requested. */ -#undef ENABLE_NLS +/* Version number of package */ +#undef VERSION -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN -/* Define if defines iconv_t. */ -#undef HAVE_ICONV_T_DEF +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const -/* Define if your gettext has bind_textdomain_codeset. */ -#undef HAVE_BIND_TEXTDOMAIN_CODESET +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +#undef inline -/* Define to 'int' if system headers don't define. */ -#undef wchar_t +/* Define to 'int' if system headers don't define. */ +#undef mbstate_t -/* Define to 'int' if system headers don't define. */ -#undef wint_t +/* Define to `long' if does not define. */ +#undef off_t -/* Define to 'int' if system headers don't define. */ -#undef mbstate_t +/* Define to `int' if does not define. */ +#undef pid_t -/* Define if you are using the system's wchar_t functions. */ -#undef HAVE_WC_FUNCS +/* Define to `int' if does not define. */ +#undef sig_atomic_t -/* Define if you have and nl_langinfo(CODESET). */ -#undef HAVE_LANGINFO_CODESET +/* Define to `unsigned' if does not define. */ +#undef size_t -/* Define if you have and nl_langinfo(YESEXPR). */ -#undef HAVE_LANGINFO_YESEXPR +/* Define to 'int' if doesn't have it. */ +#undef socklen_t -/* Define to enable the use of libesmtp */ -#undef USE_LIBESMTP +/* Define to 'int' if system headers don't define. */ +#undef wchar_t +/* Define to 'int' if system headers don't define. */ +#undef wint_t /* Define if you have start_color, as a function or macro. */ #undef HAVE_START_COLOR diff --git a/imap/command.c b/imap/command.c index 47cd3ed..c2d29fa 100644 --- a/imap/command.c +++ b/imap/command.c @@ -287,9 +287,11 @@ static void cmd_handle_fatal (IMAP_DATA* idata) !idata->ctx->closing) { mx_fastclose_mailbox (idata->ctx); - mutt_error (_("Mailbox closed")); + /*mutt_error (_("Mailbox closed")); mutt_sleep (1); + */ idata->state = IMAP_DISCONNECTED; + imap_reconnect(idata->ctx); } if (idata->state != IMAP_SELECTED) diff --git a/imap/imap.c b/imap/imap.c index eefdd31..0ad54d1 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -1484,3 +1484,21 @@ int imap_complete(char* dest, size_t dlen, char* path) { FREE (&mx.mbox); return -1; } + +/* reconnect and verify indexes if connection was lost */ +int imap_reconnect(CONTEXT* ctx) { + IMAP_DATA* imap_data = (IMAP_DATA *)ctx->data; + + if (imap_data->status == IMAP_CONNECTED) + return -1; + if (imap_data->status == IMAP_BYE) + return 0; + + mutt_socket_close(imap_data->conn); + + if (query_quadoption(OPT_IMAPRECONNECT,_("Connection lost. Reconnect to IMAP server?")) != M_YES) + return -1; + + return imap_open_mailbox(ctx); +} + diff --git a/init.h b/init.h index e2777f7..0b8d4bc 100644 --- a/init.h +++ b/init.h @@ -890,6 +890,12 @@ struct option_t MuttVars[] = { ** but can make closing an IMAP folder somewhat slower. This option ** exists to appease speed freaks. */ + { "imap_reconnect", DT_QUAD, R_NONE, OPT_IMAPRECONNECT, M_ASKYES }, + /* + ** .pp + ** Controls whether or not Mutt will try to reconnect to IMAP server when + ** connection lost. + */ { "imap_servernoise", DT_BOOL, R_NONE, OPTIMAPSERVERNOISE, 1 }, /* ** .pp diff --git a/mutt.h b/mutt.h index 8c928fe..467ea42 100644 --- a/mutt.h +++ b/mutt.h @@ -284,6 +284,9 @@ enum OPT_DELETE, OPT_FORWEDIT, OPT_INCLUDE, +#ifdef USE_IMAP + OPT_IMAPRECONNECT, +#endif OPT_MFUPTO, OPT_MIMEFWD, OPT_MIMEFWDREST, -- 2.20.1