X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fimap.c;h=77830f95e6aa732d76f7ecd95cb9f67032663968;hp=4b557fe84a0b2cac1f5778cd3b58c660723d0c2a;hb=ddc565e15e8d7e2eaeea568dd6602dc0347474c5;hpb=cef32312aa7c285411e817304de98f3873cba6be diff --git a/imap/imap.c b/imap/imap.c index 4b557fe..77830f9 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -16,13 +16,11 @@ #include "mutt.h" #include "globals.h" +#include "pattern.h" #include "sort.h" #include "browser.h" #include "message.h" #include "imap_private.h" -#if defined(USE_SSL) || defined(USE_GNUTLS) -# include -#endif #include "buffy.h" /* imap forward declarations */ @@ -178,7 +176,6 @@ int imap_read_literal (FILE * fp, IMAP_DATA * idata, long bytes, progress_t* bar return -1; } -#if 1 if (r == 1 && c != '\n') fputc ('\r', fp); @@ -188,7 +185,7 @@ int imap_read_literal (FILE * fp, IMAP_DATA * idata, long bytes, progress_t* bar } else r = 0; -#endif + fputc (c, fp); if (bar && !(pos % 1024)) mutt_progress_bar (bar, pos); @@ -238,14 +235,14 @@ static int imap_get_delim (IMAP_DATA * idata) * than getting the delim wrong */ idata->delim = '/'; - imap_cmd_start (idata, "string_list_t \"\" \"\""); + imap_cmd_start (idata, "LIST \"\" \"\""); do { if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE) break; s = imap_next_word (idata->cmd.buf); - if (ascii_strncasecmp ("string_list_t", s, 4) == 0) { + if (ascii_strncasecmp ("LIST", s, 4) == 0) { s = imap_next_word (s); s = imap_next_word (s); if (s && s[0] == '\"' && s[1] && s[2] == '\"') @@ -383,24 +380,18 @@ 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_GNUTLS) /* Attempt STARTTLS if available and desired. */ - if (!idata->conn->ssf && (option(OPTSSLFORCETLS) || + if (!idata->conn->ssf && (mod_ssl.force_tls || mutt_bit_isset (idata->capabilities, STARTTLS))) { int rc; - if (option (OPTSSLFORCETLS)) + if (mod_ssl.force_tls) rc = M_YES; - else if ((rc = query_quadoption (OPT_SSLSTARTTLS, - _("Secure connection with TLS?"))) == -1) - goto err_close_conn; - if (rc == M_YES) { + else if (mod_ssl.starttls) { if ((rc = imap_exec (idata, "STARTTLS", IMAP_CMD_FAIL_OK)) == -1) goto bail; if (rc != -2) { -#if defined (USE_SSL) || defined (USE_GNUTLS) if (mutt_ssl_starttls (idata->conn)) -#endif { mutt_error (_("Could not negotiate TLS connection")); mutt_sleep (1); @@ -415,12 +406,11 @@ int imap_open_connection (IMAP_DATA * idata) } } - if (option(OPTSSLFORCETLS) && ! idata->conn->ssf) { + if (mod_ssl.force_tls && ! idata->conn->ssf) { mutt_error _("Encrypted connection unavailable"); mutt_sleep (1); goto err_close_conn; } -#endif } else if (ascii_strncasecmp ("* PREAUTH", idata->cmd.buf, 9) == 0) { idata->state = IMAP_AUTHENTICATED; @@ -1307,7 +1297,7 @@ int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect, return -1; s = imap_next_word (idata->cmd.buf); - if ((ascii_strncasecmp ("string_list_t", s, 4) == 0) || + if ((ascii_strncasecmp ("LIST", s, 4) == 0) || (ascii_strncasecmp ("LSUB", s, 4) == 0)) { *noselect = 0; *noinferiors = 0; @@ -1509,7 +1499,7 @@ int imap_complete (char *dest, size_t dlen, char *path) { /* fire off command */ snprintf (buf, sizeof (buf), "%s \"\" \"%s%%\"", - option (OPTIMAPLSUB) ? "LSUB" : "string_list_t", list); + option (OPTIMAPLSUB) ? "LSUB" : "LIST", list); imap_cmd_start (idata, buf); @@ -1598,15 +1588,16 @@ static int imap_open_new_message (MESSAGE * msg, CONTEXT * dest __attribute__ ((unused)), HEADER * hdr __attribute__ ((unused))) { - char tmp[_POSIX_PATH_MAX]; + char tmp[_POSIX_PATH_MAX]; - mutt_mktemp (tmp); - if ((msg->fp = safe_fopen (tmp, "w")) == NULL) { - mutt_perror (tmp); - return (-1); - } - msg->path = m_strdup(tmp); - return 0; + msg->fp = m_tempfile(tmp, sizeof(tmp), NONULL(MCore.tmpdir), NULL); + if (!msg->fp) { + mutt_perror(tmp); + return -1; + } + + msg->path = m_strdup(tmp); + return 0; } /* this ugly kludge is required since the last int to @@ -1620,7 +1611,7 @@ static int _imap_check_mailbox (CONTEXT* ctx, static int imap_commit_message (MESSAGE* msg, CONTEXT* ctx) { int r = 0; - if ((r = safe_fclose (&msg->fp)) == 0) + if ((r = m_fclose(&msg->fp)) == 0) r = imap_append_message (ctx, msg); return (r); }