diff options
Diffstat (limited to 'mail-client/mutt/files')
7 files changed, 360 insertions, 0 deletions
diff --git a/mail-client/mutt/files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch b/mail-client/mutt/files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch new file mode 100644 index 000000000000..64c1e3a639b4 --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch @@ -0,0 +1,19 @@ +http://dev.mutt.org/trac/changeset/c837ab790d2e +http://dev.mutt.org/trac/ticket/1860 + +Abort prompt on ^C, as was the case prior to 12a6de725483 + + +Index: curs_lib.c +=================================================================== +--- curs_lib.c (revision 5981:cff8e8ce4327) ++++ curs_lib.c (revision 6010:c837ab790d2e) +@@ -99,5 +99,8 @@ + + if (SigInt) ++ { + mutt_query_exit (); ++ return err; ++ } + + if(ch == ERR) diff --git a/mail-client/mutt/files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch b/mail-client/mutt/files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch new file mode 100644 index 000000000000..d809fcd303b7 --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch @@ -0,0 +1,100 @@ +http://dev.mutt.org/trac/changeset/2c78b28027cc +http://dev.mutt.org/trac/ticket/2180 + +GPGME: Sender verification should be canse-insensitive for domain names. +Closes #2180 + +Index: crypt-gpgme.c +=================================================================== +--- crypt-gpgme.c (revision 5935:f5849c72a274) ++++ crypt-gpgme.c (revision 6047:2c78b28027cc) +@@ -4483,35 +4483,64 @@ + + if (sender) +- { +- if (signature_key) ++ { ++ if (signature_key) ++ { ++ gpgme_key_t key = signature_key; ++ gpgme_user_id_t uid = NULL; ++ int sender_length = 0; ++ int uid_length = 0; ++ ++ sender_length = strlen (sender->mailbox); ++ for (uid = key->uids; uid && ret; uid = uid->next) ++ { ++ uid_length = strlen (uid->email); ++ if (1 ++ && (uid->email[0] == '<') ++ && (uid->email[uid_length - 1] == '>') ++ && (uid_length == sender_length + 2)) + { +- gpgme_key_t key = signature_key; +- gpgme_user_id_t uid = NULL; +- int sender_length = 0; +- int uid_length = 0; +- +- sender_length = strlen (sender->mailbox); +- for (uid = key->uids; uid && ret; uid = uid->next) +- { +- uid_length = strlen (uid->email); +- if (1 +- && (uid->email[0] == '<') +- && (uid->email[uid_length - 1] == '>') +- && (uid_length == sender_length + 2) +- && (! strncmp (uid->email + 1, sender->mailbox, sender_length))) +- ret = 0; +- } ++ const char* at_sign = strchr(uid->email + 1, '@'); ++ if (at_sign == NULL) ++ { ++ if (! strncmp (uid->email + 1, sender->mailbox, sender_length)) ++ ret = 0; ++ } ++ else ++ { ++ /* ++ * Assume address is 'mailbox@domainname'. ++ * The mailbox part is case-sensitive, ++ * the domainname is not. (RFC 2821) ++ */ ++ const char* tmp_email = uid->email + 1; ++ const char* tmp_sender = sender->mailbox; ++ /* length of mailbox part including '@' */ ++ int mailbox_length = at_sign - tmp_email + 1; ++ int domainname_length = sender_length - mailbox_length; ++ int mailbox_match, domainname_match; ++ ++ mailbox_match = (! strncmp (tmp_email, tmp_sender, ++ mailbox_length)); ++ tmp_email += mailbox_length; ++ tmp_sender += mailbox_length; ++ domainname_match = (! strncasecmp (tmp_email, tmp_sender, ++ domainname_length)); ++ if (mailbox_match && domainname_match) ++ ret = 0; ++ } + } +- else +- mutt_any_key_to_continue (_("Failed to verify sender")); +- } ++ } ++ } ++ else ++ mutt_any_key_to_continue (_("Failed to verify sender")); ++ } + else + mutt_any_key_to_continue (_("Failed to figure out sender")); + + if (signature_key) +- { +- gpgme_key_release (signature_key); +- signature_key = NULL; +- } ++ { ++ gpgme_key_release (signature_key); ++ signature_key = NULL; ++ } + + return ret; diff --git a/mail-client/mutt/files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch b/mail-client/mutt/files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch new file mode 100644 index 000000000000..6f0f2e7d8f8d --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch @@ -0,0 +1,22 @@ + +# HG changeset patch +# User Brendan Cully <brendan@kublai.com> +# Date 1266957745 28800 +# Node ID 57124ea5592ee350af277b543bfedf04d3cd0ace +# Parent f17302c1022979c654170a0ca0f5a4cc8ffd9eb5 +Don't use freed ctx.path when updating utime of target mailbox in save-message. +Thanks to Sean Boudreau for the bug report. + +diff -r f17302c10229 -r 57124ea5592e commands.c +--- a/commands.c Mon Feb 22 23:01:39 2010 -0800 ++++ b/commands.c Tue Feb 23 12:42:25 2010 -0800 +@@ -863,7 +863,7 @@ + mx_close_mailbox (&ctx, NULL); + + if (need_buffy_cleanup) +- mutt_buffy_cleanup (ctx.path, &st); ++ mutt_buffy_cleanup (buf, &st); + + mutt_clear_error (); + return (0); + diff --git a/mail-client/mutt/files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch b/mail-client/mutt/files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch new file mode 100644 index 000000000000..ac721a28004f --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch @@ -0,0 +1,23 @@ +http://dev.mutt.org/hg/mutt/rev/817c60d5da7d + +# HG changeset patch +# User Brendan Cully <brendan@kublai.com> +# Date 1268089116 28800 +# Node ID 817c60d5da7dae3376a6ad683091ae24d7cf2ed2 +# Parent 8ec606f6cafb55299bec617d7d743deceb8d9e2d +mutt_buffer_printf: NULL dptr means use data + +diff -r 8ec606f6cafb -r 817c60d5da7d muttlib.c +--- a/muttlib.c Mon Mar 08 14:52:17 2010 -0800 ++++ b/muttlib.c Mon Mar 08 14:58:36 2010 -0800 +@@ -1675,6 +1675,9 @@ + va_start (ap, fmt); + va_copy (ap_retry, ap); + ++ if (!buf->dptr) ++ buf->dptr = buf->data; ++ + doff = buf->dptr - buf->data; + blen = buf->dsize - doff; + /* solaris 9 vsnprintf barfs when blen is 0 */ + diff --git a/mail-client/mutt/files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch b/mail-client/mutt/files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch new file mode 100644 index 000000000000..2a93cb385e01 --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch @@ -0,0 +1,40 @@ +http://dev.mutt.org/trac/changeset/6b057dc52222 +http://dev.mutt.org/trac/ticket/3322 + +# HG changeset patch +# User Antonio Radici <antonio@dyne.org> +# Date 1267406350 28800 +# Node ID 6b057dc522224530f8d3146ce5efef747c60d1dc +# Parent 2c78b28027cc59762d8c10097196b3aa855e185a +pop: allow user-specified port to override default in URL. +Closes #3322. + +diff -r 2c78b28027cc -r 6b057dc52222 pop_lib.c +--- a/pop_lib.c Sun Feb 28 17:00:33 2010 -0800 ++++ b/pop_lib.c Sun Feb 28 17:19:10 2010 -0800 +@@ -43,6 +43,7 @@ + /* Defaults */ + acct->flags = 0; + acct->type = M_ACCT_TYPE_POP; ++ acct->port = 0; + + c = safe_strdup (path); + url_parse_ciss (&url, c); +@@ -60,10 +61,12 @@ + acct->flags |= M_ACCT_SSL; + + service = getservbyname (url.scheme == U_POP ? "pop3" : "pop3s", "tcp"); +- if (service) +- acct->port = ntohs (service->s_port); +- else +- acct->port = url.scheme == U_POP ? POP_PORT : POP_SSL_PORT;; ++ if (!acct->port) { ++ if (service) ++ acct->port = ntohs (service->s_port); ++ else ++ acct->port = url.scheme == U_POP ? POP_PORT : POP_SSL_PORT;; ++ } + + FREE (&c); + return 0; + diff --git a/mail-client/mutt/files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch b/mail-client/mutt/files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch new file mode 100644 index 000000000000..30cf74c039ce --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch @@ -0,0 +1,40 @@ +http://dev.mutt.org/hg/mutt/rev/05cec973f0d9 +http://dev.mutt.org/hg/mutt/rev/8ec606f6cafb + +# HG changeset patch +# User Brendan Cully <brendan@kublai.com> +# Date 1268089247 28800 +# Node ID 05cec973f0d97065709f2ec55a42b39797995eff +# Parent 817c60d5da7dae3376a6ad683091ae24d7cf2ed2 +When regexp compilation fails, report actual pattern along with error. + +diff -r 817c60d5da7d -r 05cec973f0d9 pattern.c +--- a/pattern.c Mon Mar 08 14:58:36 2010 -0800 ++++ b/pattern.c Mon Mar 08 15:00:47 2010 -0800 +@@ -254,6 +254,7 @@ + static int eat_regexp (pattern_t *pat, BUFFER *s, BUFFER *err) + { + BUFFER buf; ++ char errmsg[STRING]; + int r; + + memset (&buf, 0, sizeof (buf)); +@@ -290,14 +291,15 @@ + { + pat->p.rx = safe_malloc (sizeof (regex_t)); + r = REGCOMP (pat->p.rx, buf.data, REG_NEWLINE | REG_NOSUB | mutt_which_case (buf.data)); +- FREE (&buf.data); + if (r) + { +- regerror (r, pat->p.rx, err->data, err->dsize); +- regfree (pat->p.rx); ++ regerror (r, pat->p.rx, errmsg, sizeof (errmsg)); ++ mutt_buffer_printf (err, "'%s': %s", buf.data, errmsg); ++ FREE (&buf.data); + FREE (&pat->p.rx); + return (-1); + } ++ FREE (&buf.data); + } + + return 0; diff --git a/mail-client/mutt/files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch b/mail-client/mutt/files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch new file mode 100644 index 000000000000..0da93d5a74f4 --- /dev/null +++ b/mail-client/mutt/files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch @@ -0,0 +1,116 @@ +http://dev.mutt.org/trac/ticket/2014 +http://dev.mutt.org/hg/mutt/rev/165b998920e4 +http://dev.mutt.org/hg/mutt/rev/cc02f079b1b9 +http://dev.mutt.org/hg/mutt/rev/41cf44ddbb4c +http://dev.mutt.org/hg/mutt/rev/fec2720ff6ef + +# HG changeset patch +# User Brendan Cully <brendan@kublai.com> +# Date 1267511730 28800 +# Node ID 165b998920e45655aef33c74b76fe39b9ec9dc0b +# Parent 86d93280e5b32af477502f124f5b12f65f879e53 +Another attempt to dequote RFC2047-encoded address comments (see #2014) + +diff -r 86d93280e5b3 -r 165b998920e4 copy.c +--- a/copy.c Mon Mar 01 16:14:57 2010 -0800 ++++ b/copy.c Mon Mar 01 22:35:30 2010 -0800 +@@ -868,6 +868,7 @@ + int l, rp = 0; + + ADDRESS *a = NULL; ++ ADDRESS *cur = NULL; + + switch (tolower ((unsigned char) *s)) + { +@@ -937,6 +938,9 @@ + + mutt_addrlist_to_local (a); + rfc2047_decode_adrlist (a); ++ for (cur = a; cur; cur = cur->next) ++ if (cur->personal) ++ rfc822_dequote_comment (cur->personal); + + /* angle brackets for return path are mandated by RfC5322, + * so leave Return-Path as-is */ +diff -r 86d93280e5b3 -r 165b998920e4 rfc822.c +--- a/rfc822.c Mon Mar 01 16:14:57 2010 -0800 ++++ b/rfc822.c Mon Mar 01 22:35:30 2010 -0800 +@@ -60,7 +60,7 @@ + "bad address spec" + }; + +-static void rfc822_dequote_comment (char *s) ++void rfc822_dequote_comment (char *s) + { + char *w = s; + +@@ -177,17 +177,10 @@ + static const char * + parse_quote (const char *s, char *token, size_t *tokenlen, size_t tokenmax) + { +- if (*tokenlen < tokenmax) +- token[(*tokenlen)++] = '"'; + while (*s) + { + if (*tokenlen < tokenmax) + token[*tokenlen] = *s; +- if (*s == '"') +- { +- (*tokenlen)++; +- return (s + 1); +- } + if (*s == '\\') + { + if (!*++s) +@@ -196,6 +189,8 @@ + if (*tokenlen < tokenmax) + token[*tokenlen] = *s; + } ++ else if (*s == '"') ++ return (s + 1); + (*tokenlen)++; + s++; + } +@@ -431,6 +426,17 @@ + } + s = ps; + } ++ else if (*s == '"') ++ { ++ if (phraselen && phraselen < sizeof (phrase) - 1) ++ phrase[phraselen++] = ' '; ++ if ((ps = parse_quote (s + 1, phrase, &phraselen, sizeof (phrase) - 1)) == NULL) ++ { ++ rfc822_free_address (&top); ++ return NULL; ++ } ++ s = ps; ++ } + else if (*s == ':') + { + cur = rfc822_new_address (); +@@ -490,13 +496,7 @@ + terminate_buffer (phrase, phraselen); + cur = rfc822_new_address (); + if (phraselen) +- { +- if (cur->personal) +- FREE (&cur->personal); +- /* if we get something like "Michael R. Elkins" remove the quotes */ +- rfc822_dequote_comment (phrase); + cur->personal = safe_strdup (phrase); +- } + if ((ps = parse_route_addr (s + 1, comment, &commentlen, sizeof (comment) - 1, cur)) == NULL) + { + rfc822_free_address (&top); +diff -r 86d93280e5b3 -r 165b998920e4 rfc822.h +--- a/rfc822.h Mon Mar 01 16:14:57 2010 -0800 ++++ b/rfc822.h Mon Mar 01 22:35:30 2010 -0800 +@@ -46,6 +46,7 @@ + } + ADDRESS; + ++void rfc822_dequote_comment (char *s); + void rfc822_free_address (ADDRESS **); + void rfc822_qualify (ADDRESS *, const char *); + ADDRESS *rfc822_parse_adrlist (ADDRESS *, const char *s); |