From 40a73dadd3b17957e4cf9b0b0f8898007367c17c Mon Sep 17 00:00:00 2001 From: Christoph Berg Date: Tue, 15 May 2007 09:59:24 +0200 Subject: [PATCH] mutt (1.5.13-1.1etch1) stable; urgency=low * Stable update. * Grab patch from upstream: Add imap_close_connection to fully reset IMAP state (Closes: #413715). * Add myself to Uploaders, thanks Dato. --- debian/changelog | 9 ++++ debian/control | 1 + debian/patches/series | 1 + debian/patches/upstream/413715-imap-hang | 69 ++++++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 debian/patches/upstream/413715-imap-hang diff --git a/debian/changelog b/debian/changelog index 09e3f0a..dfaae28 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +mutt (1.5.13-1.1etch1) stable; urgency=low + + * Stable update. + * Grab patch from upstream: + Add imap_close_connection to fully reset IMAP state (Closes: #413715). + * Add myself to Uploaders, thanks Dato. + + -- Christoph Berg Tue, 15 May 2007 09:59:24 +0200 + mutt (1.5.13-1.1) unstable; urgency=high * Non-maintainer upload. diff --git a/debian/control b/debian/control index 970dde1..8df6f62 100644 --- a/debian/control +++ b/debian/control @@ -2,6 +2,7 @@ Source: mutt Section: mail Priority: standard Maintainer: Adeodato Simó +Uploaders: Christoph Berg Build-Depends: debhelper, quilt, autotools-dev, gawk, gettext, xsltproc, docbook-xml, docbook-xsl, links, libncurses5-dev, libsasl2-dev, libgnutls-dev, libidn11-dev, zlib1g-dev, libncursesw5-dev, libdb4.4-dev Standards-Version: 3.6.2 diff --git a/debian/patches/series b/debian/patches/series index 71f9528..7504a83 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -21,5 +21,6 @@ misc/tempfile-race.diff misc/autotools-update.diff -p0 upstream/thread_pattern_in_UPDATING.diff -p0 +upstream/413715-imap-hang # not-applied/patch-1.5.8.hr.sensible_browser_position.3 diff --git a/debian/patches/upstream/413715-imap-hang b/debian/patches/upstream/413715-imap-hang new file mode 100644 index 0000000..4b554c5 --- /dev/null +++ b/debian/patches/upstream/413715-imap-hang @@ -0,0 +1,69 @@ + +# HG changeset patch +# User Brendan Cully +# Date 1172684833 0 +# Node ID 0bb4645e994b24bb8b3e5c450a5b040028b4354d +# Parent eda7244885d12b4f22fa3b38369c997560cc4a69 +Add imap_close_connection to fully reset IMAP state. (closes: #2717) +Thanks to Sergey Svishchev for the original patch. + +--- a/imap/command.c Wed Feb 28 16:27:47 2007 +0000 ++++ b/imap/command.c Wed Feb 28 17:47:13 2007 +0000 +@@ -375,11 +375,7 @@ static void cmd_handle_fatal (IMAP_DATA* + } + + if (idata->state < IMAP_SELECTED) +- { +- idata->state = IMAP_DISCONNECTED; +- mutt_socket_close (idata->conn); +- idata->status = 0; +- } ++ imap_close_connection (idata); + } + + /* cmd_handle_untagged: fallback parser for otherwise unhandled messages. */ +--- a/imap/imap.c Wed Feb 28 16:27:47 2007 +0000 ++++ b/imap/imap.c Wed Feb 28 17:47:13 2007 +0000 +@@ -399,8 +399,7 @@ int imap_open_connection (IMAP_DATA* ida + + if (imap_cmd_step (idata) != IMAP_CMD_CONTINUE) + { +- mutt_socket_close (idata->conn); +- idata->state = IMAP_DISCONNECTED; ++ imap_close_connection (idata); + return -1; + } + +@@ -467,12 +466,19 @@ int imap_open_connection (IMAP_DATA* ida + + #if defined(USE_SSL) + err_close_conn: +- mutt_socket_close (idata->conn); +- idata->state = IMAP_DISCONNECTED; ++ imap_close_connection (idata); + #endif + bail: + FREE (&idata->capstr); + return -1; ++} ++ ++void imap_close_connection(IMAP_DATA* idata) ++{ ++ mutt_socket_close (idata->conn); ++ idata->state = IMAP_DISCONNECTED; ++ idata->seqno = idata->nextcmd = idata->lastcmd = idata->status = 0; ++ memset (idata->cmds, 0, sizeof (IMAP_COMMAND) * IMAP_PIPELINE_DEPTH); + } + + /* imap_get_flags: Make a simple list out of a FLAGS response. +--- a/imap/imap_private.h Wed Feb 28 16:27:47 2007 +0000 ++++ b/imap/imap_private.h Wed Feb 28 17:47:13 2007 +0000 +@@ -235,6 +235,7 @@ int imap_make_msg_set (IMAP_DATA* idata, + int imap_make_msg_set (IMAP_DATA* idata, BUFFER* buf, int flag, int changed, + int invert); + int imap_open_connection (IMAP_DATA* idata); ++void imap_close_connection (IMAP_DATA* idata); + IMAP_DATA* imap_conn_find (const ACCOUNT* account, int flags); + int imap_read_literal (FILE* fp, IMAP_DATA* idata, long bytes, progress_t*); + void imap_expunge_mailbox (IMAP_DATA* idata); + -- 2.43.0