Bump du jour, add another bunch of patches from upstream, they really should make...
authorFabian Groffen <grobian@gentoo.org>
Thu, 11 Mar 2010 20:18:28 +0000 (20:18 +0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 11 Mar 2010 20:18:28 +0000 (20:18 +0000)
Package-Manager: portage-2.2.00.15817-prefix/cvs/Darwin powerpc

mail-client/mutt/ChangeLog
mail-client/mutt/Manifest
mail-client/mutt/files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch [new file with mode: 0644]
mail-client/mutt/files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch [new file with mode: 0644]
mail-client/mutt/mutt-1.5.20-r13.ebuild [new file with mode: 0644]

index ec49f58bd405f0b70802acacf8ed894eaf8f2b62..9f5fa5fb782e1608b32885ab08e2e20e3bb0b003 100644 (file)
@@ -1,6 +1,20 @@
 # ChangeLog for mail-client/mutt
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/ChangeLog,v 1.180 2010/02/22 08:07:40 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/ChangeLog,v 1.181 2010/03/11 20:18:28 grobian Exp $
+
+*mutt-1.5.20-r13 (11 Mar 2010)
+
+  11 Mar 2010; Fabian Groffen <grobian@gentoo.org> +mutt-1.5.20-r13.ebuild,
+  +files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch,
+  +files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch,
+  +files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch,
+  +files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch,
+  +files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch,
+  +files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch,
+  +files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch:
+  Bump du jour, add another bunch of patches from upstream, they really
+  should make a new release.  Convert to EAPI=3, remove WANT_AUTOCONF
+  unsetting.
 
 *mutt-1.5.20-r12 (22 Feb 2010)
 
index 4fda5890df9a4442f6f6a030b9744d4b48014f4e..d8afe812556d6b3b5331fd5a575f15a64da1c7cb 100644 (file)
@@ -8,11 +8,13 @@ AUX mutt-1.5.18-solaris-ncurses-chars.patch 1926 RMD160 dc8c17c88f66d4ed94d885ba
 AUX mutt-1.5.19-libgnutls-test-15c662a95b91.patch 9187 RMD160 b5d981c5aeb66f9fc1212c74884bfd91914a97c7 SHA1 76cdfe28610aa68eec2506aeab53324de9dbf57e SHA256 7fe0edbfb2ee862bfef0fd3c53e19cf589a908c52299206db72c1c701e7fb6c8
 AUX mutt-1.5.19-mutt-gnutls-7d0583e0315d-0b13183e40e0.patch 12414 RMD160 6759b26ee028fc9d5a0f5d6b7d56fd4c1c879a04 SHA1 819146a1650035ee2a9016f01f0e2d11b8c11896 SHA256 92033adfb057818a7dcae8b02b91df8a62e7d52c339268caa4a38149ac28bc45
 AUX mutt-1.5.19-mutt_ssl-3af7e8af1983-dc9ec900c657.patch 6968 RMD160 ea63c5149d78d2790bfbfbb9a5d2499e179c8ae1 SHA1 d23cab55003763d79475ef4eb95c10504dad323f SHA256 54da63a9ce41c3704a3b96288de7b8d24ef1305a9b27306c8178e900a81f196b
+AUX mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch 426 RMD160 77717c265d7a4219df7e3c17c1b3bfcf71d5b18d SHA1 5f29ceb508bcb5363403ff619202fcf7535fbd82 SHA256 2a15715554fe0148aae7599ad561934cf868156934b9e5841f2193572a6dadf5
 AUX mutt-1.5.20-copy-From-to-imap-b2b97c7a2ae6.patch 2536 RMD160 e53c4b69ae8564b2e7b6a67df900307e7f3af560 SHA1 5ed1bfc7a9deba17977792b84dbf2fd44c8f0b18 SHA256 5ea8a9d6bd47b6e996e0f3b690554fac0541a0feaede4711b5a169d4a2e7f620
 AUX mutt-1.5.20-display-unsigned-pgp-7f37d0a57d83.patch 1197 RMD160 59f3df7d7f299e90e4c0080d1cc98dcc3a82abfb SHA1 8deb3b88ff64f31ed1ce027de74e76be5a485147 SHA256 4790449de5476f570e95ebdec9db59afd50dd7507485d22d3848ad7bd1327b20
 AUX mutt-1.5.20-dont-reveal-bbc.patch 4027 RMD160 0295eb2ed6ae7d3b39c5b101d519d13f45d64c80 SHA1 c7ac97ec879c070eb3a24184ce41b199eec89840 SHA256 88b313f8baea81eec814d03acbe9aa5cf4a249de120426608893c1c53a8a3596
 AUX mutt-1.5.20-fix-mh-parsing-14bb498c6a1c.patch 484 RMD160 444125b0ec6c56a90bd23586ffd28b96108c0b28 SHA1 0f1fb90b5cfa0d29e04bdd00273de7c90d425241 SHA256 9cf9b6d5410e82d83b650c9568cf9c2428ae580001b512e12c5a3482468c86fb
 AUX mutt-1.5.20-gpgme-1.2.0.patch 623 RMD160 0387025c571723f9ebde284789c65464cf0c2da4 SHA1 230af7e00e06a41f0024b8c6e19bd9d5b208511c SHA256 9e69e53cb3013a379f85e6dcea0550c4ec8582ea1f36a83c6a0ad95828164551
+AUX mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch 2790 RMD160 c9f728ddec1496acad916e4d0a91ffdc08beb997 SHA1 176afdf1a6f1320a0e00685ccbf8b6ab1735caf8 SHA256 77e263f68458ac5c4881527df9c98c69d38f183eec661191648389ba5b2e7dd7
 AUX mutt-1.5.20-gpgme-keys-d41e043fa775.patch 589 RMD160 99b4b44459952afa55db43c5e30f204b3cae797e SHA1 432938b1876fdb95c1bfbd0ab79f6ae8430fe5e9 SHA256 9ea0850343eb54be14f58532bf4bf2a6e5ad970c43ece56e185d693eb50966e8
 AUX mutt-1.5.20-hcache-restore-address-848f08512bf3.patch 1150 RMD160 2df8927ac9b470fa6be814a66ef1dcfcb8cbdf9c SHA1 1423af5422eda09c7c7d5590f19318f7721d9e1d SHA256 86d983f4b61a4449ae148a24dc7ba1749a4b0b5848556dee5de87589a6e39cc3
 AUX mutt-1.5.20-hcache-uidvalidity-size-fix-a2a4286491b4.patch 2498 RMD160 54e0d35609ab7282a689820da70aa9075ecb5cdc SHA1 df926f3a59775c14e054f6b61aa23255ace10fff SHA256 b2757e9db1b92562999fcfd5a7c5e84b5447958d8eaeb5e704b0d51155e71eea
@@ -20,13 +22,18 @@ AUX mutt-1.5.20-header-weeding-f40de578e8ed.patch 619 RMD160 3f6e4b734f6857d0cce
 AUX mutt-1.5.20-imap-port-invalid-d6f88fbf8387.patch 567 RMD160 1c32139a95717e1675dca18f1f5a7baeb2c9dbaa SHA1 422621d233b5414987b2153ea81037622ed3158c SHA256 d2042d4b7ba37bfcf3173af243368a2b05f5db51a09cdbe11c3f225491d84fd0
 AUX mutt-1.5.20-imap-start-fatal-fe30f394cbe6.patch 451 RMD160 ce68b1841fa9b05cf2e30a7cb53d3475c674081a SHA1 92e8f2bbcfeb9812f727364759f58a0e3656b4fc SHA256 ed7e9295959fad0c0702550e36d83e786bec5a041a74680c3289d1698d0c8435
 AUX mutt-1.5.20-leave-mailbox-no-new-mail-118b8fef8aae.patch 2209 RMD160 e5cd50a5b7c981851f1e742af4f5cdd7db39b43b SHA1 4c95287f7be617fd8a33759869cc01a5aded266c SHA256 e3893f10940789c9d85646f35af989509ce6f35e49bed21e1cdee92ae7fc827d
+AUX mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch 673 RMD160 f6e7aa7d0d3b3e615e4ace8301776e2de8e43a4a SHA1 635c3a4884bce31996d6861aaae5193daa9e63f6 SHA256 b774ea094e8c5a22101634800e22837f7346b9286254c754daafeb593d05e245
 AUX mutt-1.5.20-mbox-new-mail-bd59be56c6b0.patch 2324 RMD160 a71d7fdebcb409947f664b96f1e7d808974f5101 SHA1 035cfaa9290121b3c6c7e57fbda94495239162d3 SHA256 adc78114cc72efb181f20050b24358d2b3959bd78b8795c8245d6049e00ab5fa
 AUX mutt-1.5.20-mbox-unchanged-new-mail-9ae13dedb5ed.patch 1502 RMD160 bf7503b9c10fc903b31f85ee3f38efe57fa5489a SHA1 de44ba3e404bb44ea57a663938b91a0c9c51fb5b SHA256 701fd49be77c97ca53b1cfcf9e6a2c0afb37793a3827d453d45c4587cdd4ba41
 AUX mutt-1.5.20-mhs-flags-leak-9f3053f75f27.patch 436 RMD160 26a2be74db7ec3ac72ab579fe42709ecae9b28e1 SHA1 1a87cb97e744911bb862a7e12f0c00295a0a1666 SHA256 d27054521019fb938fadd0d292bc6c4be094823683ea4735bf4c43c238e919f4
 AUX mutt-1.5.20-next-invalid-pattern-crash-6a08a5244d60.patch 791 RMD160 b4e91bb9b82be8768f738fbb0d7a8a49ef1d23b1 SHA1 4bb8b95dc810e6de81c2b80a1bf137015f29ab02 SHA256 a2ab67cf1ce9086e8ba1cc7c6fc674fee3992fb468f78712a066b98530a2dc4f
 AUX mutt-1.5.20-no-hcolor-in-hcache-b7d2cb7c7ce1.patch 650 RMD160 881de8faf57ff714e0f8190f80a381d198aff698 SHA1 ce2fdb98108c9eb2e5722a2ee9bc6795603160e8 SHA256 7bd951ca19197ddea5b07ec39bfade83ade4bea67c5c47d9c07b1ce6e71dc028
+AUX mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch 658 RMD160 1c1cfde5477c6d9375a25175f395cbfe2aeb0eee SHA1 9a1ec899ac004668bd69c7ba6971185bcdf39925 SHA256 71af7c303d577baaa13840236f7c6c9539bc8f7faf538ccb0d62a4965131d13b
 AUX mutt-1.5.20-off-by-one-mailcap-736b6af3c5f1.patch 807 RMD160 d86732756ed0c7ae3bb49625bec9f482e016c5e2 SHA1 268ae8d44099248dbe78225113333424b4e5ffa3 SHA256 cb44ce263b3bcf1f4687bfd7728958ec961f16f047e59bda7486e6228801588a
+AUX mutt-1.5.20-pop-port-in-url-6b057dc52222.patch 1116 RMD160 20c2a67af483a433330832426d23b904c8034259 SHA1 926cee7890a473f11865127623e979e7760f807b SHA256 d9e0164f77a98df708d4fac83f4dca8d62327cfdeb7542ee126627890dd1a027
 AUX mutt-1.5.20-propagate-mh_read_sequences-2fc9348684fe.patch 725 RMD160 9125bf147ba4be50821d38301af361844e176b2e SHA1 6f11d93ac397b15d01fe6ede010a29998743356f SHA256 633cbff8666d49e1a02c348e27f7cec1046460581d3af1f5c73905ba6ff4a564
+AUX mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch 1202 RMD160 ef925836618c1816a4832812247bbb1a19abf790 SHA1 5554aead681cb5a5fabd4545fddd674f1eed0543 SHA256 0c2eec3aa40f708f8b5662d17b0a16626e992b5387ab95541228fa8c0a6e9e59
+AUX mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch 3156 RMD160 214df9ac13915485de9cd26582a923f0ced4741b SHA1 710ff1e91d9a549d8fb5cd2c39872376e634c784 SHA256 edc2df5a6ecbdb0e4eb3e5292ffa7d52ae552eee09313063ba2066c5dfad5ea0
 AUX mutt-1.5.20-search-pattern-crash-053ef7bbaa72.patch 634 RMD160 c7eb6d6977b8b43b5ef84cb5dede58bb5018a02c SHA1 381bca1965f0fe2a13429f68872901dfcfe5f07f SHA256 b25f814ec615e5240fc2d449b0b41e3d20d6c862d0131bcc1d0e3d876244470b
 AUX mutt-1.5.20-smtp-batch-mode-0a3de4d9a009-f6c6066a5925.patch 2211 RMD160 730cd88c1cfaf83d9eeeb1f2ed7d58b2eb43b85f SHA1 e6ce5e3b0ea1a9885a53ba93fc43ce8a17654287 SHA256 838f9734ba360936f99e06b25eb14425870ea788d97769ee2a0c57bd98e42468
 AUX mutt-1.5.20-ssl-CVE-2009-3765-dc09812e63a3.patch 860 RMD160 c7a4a69194fd735a992c470bae0b1e21f5346fc0 SHA1 a151b6424f261a1988f72f9f9df00d17f44b7726 SHA256 c16df7b212806867ae134837dafdc7aff9e36084a493238adfd8f80b3935d370
@@ -42,7 +49,8 @@ DIST mutt-1.5.20.tar.gz 3635047 RMD160 df582f79364b9fd70a0001e76a119d8f78275ebb
 DIST patch-1.5.20.sidebar.20090619.txt 53335 RMD160 4c693b100a320d11ea94aedb75cff63d9f6cfb3f SHA1 d72355e39674bb4f892e4af3b84fe49c94415487 SHA256 6e925319adbfa0ba7f120f0ef4ddc62f99b1dc8f6a8b5bdc31dd8a0040aded1b
 EBUILD mutt-1.5.20-r10.ebuild 9558 RMD160 220455449b02f3720b8ec55b5c4d47174a671ebc SHA1 9694c5896b303bcf7f3edbe97c2080f4b1120bb9 SHA256 f7fa796181988b95a816ad0be00ee3852555eeb52e8ec220f98d53c37591248a
 EBUILD mutt-1.5.20-r12.ebuild 9708 RMD160 b2e6d2f742d0f4754ad29fb285432634149d233a SHA1 bf8469965b36915817a16bc004fa7e559712c547 SHA256 5ac3a707c7579300aa9415eee084604917b472076eed7763cc5ce431af5f488b
+EBUILD mutt-1.5.20-r13.ebuild 9989 RMD160 e01e43416e78342e3328e64b6cf94f7db0a1b822 SHA1 907b41fd8201a25b40187f98d8095a175c453b83 SHA256 87b54e1ca9ecbf2be754f67ed31f185ce39f59c2ad5eaf465b550b337435507a
 EBUILD mutt-1.5.20-r4.ebuild 8442 RMD160 b8e5a90fa48cb236f31e69dddb63ba7078f2dd5d SHA1 88f66d53c60f431173ac86c7c1ca5888879e9e7c SHA256 ddfda6ec2a6649f05b36e492b5237feaf64546c758e1c8bfd0a600af8b25ee80
 EBUILD mutt-1.5.20-r6.ebuild 8728 RMD160 eaa1fe9cca6954c0d4dbfb92596b42741c2c6198 SHA1 5563d95b4f885f47bd3f9d1c29493f754bbfadc3 SHA256 795bff0f6a9ed1a9725702d2a281600804188d4b02c2d3e2a82702e4a4946df5
-MISC ChangeLog 39311 RMD160 6063f2ec3ae1e084f0259ce36dda2d6ddcc09de3 SHA1 272a7efcf9f27587952a88ab6baf405003ec6ac6 SHA256 5021c47927e760982f83dff1872cf8ffb4911b29b002afb2124cb625f3469eed
+MISC ChangeLog 40028 RMD160 3b9c1a189e99a05111d501305a0582b4c926bf21 SHA1 5197a0bb622b0bf44ed4e455f5de7704ed870590 SHA256 392a3452a6d89d30394673ce900e40c35c6ece983ff6138f74fb83b2cbf28c80
 MISC metadata.xml 650 RMD160 499b30bbf757e578b8546c72c9d22e033bad1fd0 SHA1 0ad0c9dc1d2a2a1b9da1e32d2f3e056e5b0e6d98 SHA256 b7ca8aa383b947a5e90eafab3839a9ed2a8c4f36f4890fec19636d774ccf5320
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 (file)
index 0000000..64c1e3a
--- /dev/null
@@ -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 (file)
index 0000000..d809fcd
--- /dev/null
@@ -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 (file)
index 0000000..6f0f2e7
--- /dev/null
@@ -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 (file)
index 0000000..ac721a2
--- /dev/null
@@ -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 (file)
index 0000000..2a93cb3
--- /dev/null
@@ -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 (file)
index 0000000..30cf74c
--- /dev/null
@@ -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 (file)
index 0000000..0da93d5
--- /dev/null
@@ -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);
diff --git a/mail-client/mutt/mutt-1.5.20-r13.ebuild b/mail-client/mutt/mutt-1.5.20-r13.ebuild
new file mode 100644 (file)
index 0000000..807d8eb
--- /dev/null
@@ -0,0 +1,281 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/mutt-1.5.20-r13.ebuild,v 1.1 2010/03/11 20:18:28 grobian Exp $
+
+EAPI="3"
+
+inherit eutils flag-o-matic autotools
+
+PATCHSET_REV="-r4"
+
+# note: latest sidebar patches can be found here:
+# http://www.lunar-linux.org/index.php?option=com_content&task=view&id=44
+SIDEBAR_PATCH_N="patch-1.5.20.sidebar.20090619.txt"
+
+DESCRIPTION="a small but very powerful text-based mail client"
+HOMEPAGE="http://www.mutt.org"
+SRC_URI="ftp://ftp.mutt.org/mutt/devel/${P}.tar.gz
+       !vanilla? (
+               !sidebar? (
+                       mirror://gentoo/${P}-gentoo-patches${PATCHSET_REV}.tar.bz2
+                       http://dev.gentoo.org/~grobian/distfiles/${P}-gentoo-patches${PATCHSET_REV}.tar.bz2
+               )
+       )
+       sidebar? (
+               http://www.lunar-linux.org/~tchan/mutt/${SIDEBAR_PATCH_N}
+       )"
+IUSE="berkdb crypt debug doc gdbm gnutls gpg idn imap mbox nls nntp pop qdbm sasl sidebar smime smtp ssl tokyocabinet vanilla"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+RDEPEND=">=sys-libs/ncurses-5.2
+       tokyocabinet?  ( dev-db/tokyocabinet )
+       !tokyocabinet? (
+               qdbm?  ( dev-db/qdbm )
+               !qdbm? (
+                       gdbm?  ( sys-libs/gdbm )
+                       !gdbm? ( berkdb? ( >=sys-libs/db-4 ) )
+               )
+       )
+       imap?    (
+               gnutls?  ( >=net-libs/gnutls-1.0.17 )
+               !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) )
+               sasl?    ( >=dev-libs/cyrus-sasl-2 )
+       )
+       pop?     (
+               gnutls?  ( >=net-libs/gnutls-1.0.17 )
+               !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) )
+               sasl?    ( >=dev-libs/cyrus-sasl-2 )
+       )
+       smtp?     (
+               gnutls?  ( >=net-libs/gnutls-1.0.17 )
+               !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) )
+               sasl?    ( >=dev-libs/cyrus-sasl-2 )
+       )
+       idn?     ( net-dns/libidn )
+       gpg?   ( >=app-crypt/gpgme-0.9.0 )
+       smime?   ( >=dev-libs/openssl-0.9.6 )
+       app-misc/mime-types"
+DEPEND="${RDEPEND}
+       net-mail/mailbase
+       doc? (
+               dev-libs/libxml2
+               dev-libs/libxslt
+               app-text/docbook-xsl-stylesheets
+               || ( www-client/lynx www-client/w3m www-client/elinks )
+       )"
+
+PATCHDIR="${WORKDIR}"/${P}-gentoo-patches${PATCHSET_REV}
+
+src_unpack() {
+       unpack ${A//${SIDEBAR_PATCH_N}}
+}
+
+src_prepare() {
+       # this patch is non-generic and only works because we use a sysconfdir
+       # different from the one used by the mailbase ebuild
+       use prefix && epatch "${FILESDIR}"/mutt-1.5.13-prefix-mailcap.patch
+
+       epatch "${FILESDIR}"/mutt-1.5.18-bdb-prefix.patch # fix bdb detection
+       epatch "${FILESDIR}"/mutt-1.5.18-interix.patch
+       built_with_use sys-libs/ncurses unicode && \
+               epatch "${FILESDIR}"/mutt-1.5.18-solaris-ncurses-chars.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-gpgme-1.2.0.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-dont-reveal-bbc.patch
+
+       # post-release hot-fixes
+       epatch "${FILESDIR}"/mutt-1.5.20-imap-port-invalid-d6f88fbf8387.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-header-weeding-f40de578e8ed.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-display-unsigned-pgp-7f37d0a57d83.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-unmailbox-segfault-25e46aad362b.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-mbox-new-mail-bd59be56c6b0.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-mbox-unchanged-new-mail-9ae13dedb5ed.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-imap-start-fatal-fe30f394cbe6.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-tab-subject-questionmark-298194c414f0-cff8e8ce4327.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-smtp-batch-mode-0a3de4d9a009-f6c6066a5925.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-leave-mailbox-no-new-mail-118b8fef8aae.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-gpgme-keys-d41e043fa775.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-mhs-flags-leak-9f3053f75f27.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-hcache-restore-address-848f08512bf3.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-ungroup-command-77ac8b5c2be6.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-propagate-mh_read_sequences-2fc9348684fe.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-hcache-uidvalidity-size-fix-a2a4286491b4.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-fix-mh-parsing-14bb498c6a1c.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-search-pattern-crash-053ef7bbaa72.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-next-invalid-pattern-crash-6a08a5244d60.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-ssl-CVE-2009-3765-dc09812e63a3.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-ssl-stack-compile-fix-1cf34ea1f128.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-no-hcolor-in-hcache-b7d2cb7c7ce1.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-off-by-one-mailcap-736b6af3c5f1.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-subject-mistruncation-31881f38ca1e.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-copy-From-to-imap-b2b97c7a2ae6.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-yes-no-non-ascii-a6fddecdc5f5.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch
+       epatch "${FILESDIR}"/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch
+
+       # patch version string for bug reports
+       sed -i -e 's/"Mutt %s (%s)"/"Mutt %s (%s, Gentoo '"${PVR}"')"/' \
+               muttlib.c || die "failed patching in Gentoo version"
+
+       if use !vanilla && use !sidebar ; then
+               use nntp || rm "${PATCHDIR}"/06-nntp.patch
+               for p in "${PATCHDIR}"/*.patch ; do
+                       epatch "${p}"
+               done
+       fi
+
+       if use sidebar ; then
+               use vanilla || \
+                       ewarn "the sidebar patch is only applied to a vanilla mutt tree"
+               epatch "${DISTDIR}"/${SIDEBAR_PATCH_N}
+       fi
+
+       AT_M4DIR="m4" eautoreconf
+
+       # the configure script contains some "cleverness" whether or not to setgid
+       # the dotlock program, resulting in bugs like #278332
+       sed -i -e 's/@DOTLOCK_GROUP@//' \
+               Makefile.in || die "sed failed"
+
+       # don't just build documentation (lengthy process, with big dependencies)
+       if use !doc ; then
+               sed -i -e '/SUBDIRS =/s/doc//' Makefile.in || die
+       fi
+}
+
+src_configure() {
+       declare myconf="
+               $(use_enable nls) \
+               $(use_enable gpg gpgme) \
+               $(use_enable imap) \
+               $(use_enable pop) \
+               $(use_enable smtp) \
+               $(use_enable crypt pgp) \
+               $(use_enable smime) \
+               $(use_enable debug) \
+               $(use_with idn) \
+               --with-curses \
+               --sysconfdir="${EPREFIX}"/etc/${PN} \
+               --with-docdir="${EPREFIX}"/usr/share/doc/${PN}-${PVR} \
+               --with-regex \
+               --enable-nfs-fix --enable-external-dotlock \
+               $(use_with !nntp mixmaster) \
+               --with-exec-shell=${EPREFIX}/bin/sh"
+
+       case $CHOST in
+               *-solaris*)
+                       # Solaris has no flock in the standard headers
+                       myconf="${myconf} --enable-fcntl --disable-flock"
+               ;;
+               *)
+                       myconf="${myconf} --disable-fcntl --enable-flock"
+               ;;
+       esac
+
+       # mutt prioritizes gdbm over bdb, so we will too.
+       # hcache feature requires at least one database is in USE.
+       if use tokyocabinet; then
+               myconf="${myconf} --enable-hcache \
+                       --with-tokyocabinet --without-qdbm --without-gdbm --without-bdb"
+       elif use qdbm; then
+               myconf="${myconf} --enable-hcache \
+                       --without-tokyocabinet --with-qdbm --without-gdbm --without-bdb"
+       elif use gdbm ; then
+               myconf="${myconf} --enable-hcache \
+                       --without-tokyocabinet --without-qdbm --with-gdbm --without-bdb"
+       elif use berkdb; then
+               myconf="${myconf} --enable-hcache \
+                       --without-tokyocabinet --without-qdbm --without-gdbm --with-bdb"
+       else
+               myconf="${myconf} --disable-hcache \
+                       --without-tokyocabinet --without-qdbm --without-gdbm --without-bdb"
+       fi
+
+       # there's no need for gnutls, ssl or sasl without socket support
+       if use pop || use imap || use smtp ; then
+               if use gnutls; then
+                       myconf="${myconf} --with-gnutls"
+               elif use ssl; then
+                       myconf="${myconf} --with-ssl"
+               fi
+               # not sure if this should be mutually exclusive with the other two
+               myconf="${myconf} $(use_with sasl)"
+       else
+               myconf="${myconf} --without-gnutls --without-ssl --without-sasl"
+       fi
+
+       if use mbox; then
+               myconf="${myconf} --with-mailpath=${EPREFIX}/var/spool/mail"
+       else
+               myconf="${myconf} --with-homespool=Maildir"
+       fi
+
+       if use !vanilla && use !sidebar ; then
+               # rr.compressed patch
+               myconf="${myconf} --enable-compressed"
+
+               # nntp patch applied conditionally, so avoid QA warning when doing
+               # --disable-nntp while patch not being applied, bug #262069
+               use nntp && myconf="${myconf} --enable-nntp"
+       fi
+
+       econf ${myconf} || die "configure failed"
+}
+
+src_install() {
+       make DESTDIR="${D}" install || die "install failed"
+       find "${ED}"/usr/share/doc -type f | grep -v "html\|manual" | xargs gzip
+       if use mbox; then
+               insinto /etc/mutt
+               newins "${FILESDIR}"/Muttrc.mbox Muttrc
+       else
+               insinto /etc/mutt
+               doins "${FILESDIR}"/Muttrc
+       fi
+
+       # A newer file is provided by app-misc/mime-types. So we link it.
+       rm "${ED}"/etc/${PN}/mime.types
+       dosym /etc/mime.types /etc/${PN}/mime.types
+
+       # A man-page is always handy
+       if use !doc; then
+               cp doc/mutt.man mutt.1
+               cp doc/muttbug.man flea.1
+               doman mutt.1 flea.1
+       else
+               # nuke manpages that should be provided by an MTA, bug #177605
+               rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \
+                       || ewarn "failed to remove files, please file a bug"
+       fi
+
+       if use !prefix ; then
+               fowners root:mail /usr/bin/mutt_dotlock
+               fperms g+s /usr/bin/mutt_dotlock
+       fi
+
+       dodoc BEWARE COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION
+}
+
+pkg_setup() {
+       if ! use gpg &&
+               has_version "<${CATEGORY}/${PN}-1.5.20-r2" &&
+               built_with_use ${CATEGORY}/${PN} gpgme ;
+       then
+               ewarn 'The "gpgme" USE-flag has been changed into "gpg".  You'
+               ewarn 'previously had "gpgme" set, and you most likely want to'
+               ewarn 'enable "gpg" instead, right now, to obtain equivalent behaviour.'
+       fi
+}
+
+pkg_postinst() {
+       echo
+       elog "If you are new to mutt you may want to take a look at"
+       elog "the Gentoo QuickStart Guide to Mutt E-Mail:"
+       elog "   http://www.gentoo.org/doc/en/guide-to-mutt.xml"
+       echo
+}