summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando J. Pereda <ferdy@gentoo.org>2006-09-11 08:08:54 +0000
committerFernando J. Pereda <ferdy@gentoo.org>2006-09-11 08:08:54 +0000
commit5a81f808ac8e8edc95e2cd2eebb3afd76dc6148e (patch)
tree6e4ffd51efab6b6740b130725389af3823c53dbf /mail-client/mutt/files
parentVersion bump. (diff)
downloadgentoo-2-5a81f808ac8e8edc95e2cd2eebb3afd76dc6148e.tar.gz
gentoo-2-5a81f808ac8e8edc95e2cd2eebb3afd76dc6148e.tar.bz2
gentoo-2-5a81f808ac8e8edc95e2cd2eebb3afd76dc6148e.zip
Add a patch to fix mutt with dev-libs/cyrus-sasl-2.1.22. Fixes bug #146696. Thanks to Sebastian <sebastian_ml@gmx.net>
(Portage version: 2.1.1)
Diffstat (limited to 'mail-client/mutt/files')
-rw-r--r--mail-client/mutt/files/digest-mutt-1.5.13-r16
-rw-r--r--mail-client/mutt/files/mutt-1.5.13-sasl.patch74
2 files changed, 80 insertions, 0 deletions
diff --git a/mail-client/mutt/files/digest-mutt-1.5.13-r1 b/mail-client/mutt/files/digest-mutt-1.5.13-r1
new file mode 100644
index 000000000000..d0fb93f3637b
--- /dev/null
+++ b/mail-client/mutt/files/digest-mutt-1.5.13-r1
@@ -0,0 +1,6 @@
+MD5 b4fccb735c0277bc6c659eb287d65b13 mutt-1.5.13-gentoo-patches.tar.bz2 53418
+RMD160 67274bef651c1c78d1e6878d8bb17316abf9d30e mutt-1.5.13-gentoo-patches.tar.bz2 53418
+SHA256 b0a8737ab8ec42b5f071eb08356a2572c49f98c73c3bf42396fd481c4650ef1d mutt-1.5.13-gentoo-patches.tar.bz2 53418
+MD5 456a138680a6726f14983cb3e9ff4e22 mutt-1.5.13.tar.gz 3442681
+RMD160 9327b7f928aad78a20c2395629113ac2519bb945 mutt-1.5.13.tar.gz 3442681
+SHA256 e0481690c0caf23b5c88359b2dbac70308f8f138663e8fee482b163562fe8da9 mutt-1.5.13.tar.gz 3442681
diff --git a/mail-client/mutt/files/mutt-1.5.13-sasl.patch b/mail-client/mutt/files/mutt-1.5.13-sasl.patch
new file mode 100644
index 000000000000..7cefa2ee1a85
--- /dev/null
+++ b/mail-client/mutt/files/mutt-1.5.13-sasl.patch
@@ -0,0 +1,74 @@
+
+# HG changeset patch
+# User Brendan Cully <brendan@kublai.com>
+# Date 1157736633 0
+# Node ID 4b8ef24b823e8295d58f599cb1d7014270dec064
+# Parent 6fd5fb51a9dc102a1b39dcda26201c60215ee954
+Don't send protocol garbage to sasl_decode64 during POP authentication.
+Also enable SASL plaintext: $foo_authenticators is a more general solution.
+
+--- a/mutt_sasl.c Fri Sep 08 15:45:57 2006 +0000
++++ b/mutt_sasl.c Fri Sep 08 17:30:33 2006 +0000
+@@ -221,15 +221,10 @@ int mutt_sasl_client_new (CONNECTION* co
+ return -1;
+ }
+
+- /* set security properties. We use NOPLAINTEXT globally, since we can
+- * just fall back to LOGIN in the IMAP case anyway. If that doesn't
+- * work for POP, we can make it a flag or move this code into
+- * imap/auth_sasl.c */
+ memset (&secprops, 0, sizeof (secprops));
+ /* Work around a casting bug in the SASL krb4 module */
+ secprops.max_ssf = 0x7fff;
+ secprops.maxbufsize = M_SASL_MAXBUF;
+- secprops.security_flags |= SASL_SEC_NOPLAINTEXT;
+ if (sasl_setprop (*saslconn, SASL_SEC_PROPS, &secprops) != SASL_OK)
+ {
+ dprint (1, (debugfile,
+--- a/pop_auth.c Fri Sep 08 15:45:57 2006 +0000
++++ b/pop_auth.c Fri Sep 08 17:30:33 2006 +0000
+@@ -46,8 +46,7 @@ static pop_auth_res_t pop_auth_sasl (POP
+ char inbuf[LONG_STRING];
+ const char* mech;
+ const char *pc = NULL;
+- unsigned int len, olen;
+- unsigned char client_start;
++ unsigned int len, olen, client_start;
+
+ if (mutt_sasl_client_new (pop_data->conn, &saslconn) < 0)
+ {
+@@ -74,7 +73,7 @@ static pop_auth_res_t pop_auth_sasl (POP
+ return POP_A_UNAVAIL;
+ }
+
+- client_start = (olen > 0);
++ client_start = olen;
+
+ mutt_message _("Authenticating (SASL)...");
+
+@@ -93,11 +92,11 @@ static pop_auth_res_t pop_auth_sasl (POP
+ return POP_A_SOCKET;
+ }
+
+- if (rc != SASL_CONTINUE)
++ if (!client_start && rc != SASL_CONTINUE)
+ break;
+
+ if (!mutt_strncmp (inbuf, "+ ", 2)
+- && sasl_decode64 (inbuf, strlen (inbuf), buf, LONG_STRING-1, &len) != SASL_OK)
++ && sasl_decode64 (inbuf+2, strlen (inbuf+2), buf, LONG_STRING-1, &len) != SASL_OK)
+ {
+ dprint (1, (debugfile, "pop_auth_sasl: error base64-decoding server response.\n"));
+ goto bail;
+@@ -112,7 +111,10 @@ static pop_auth_res_t pop_auth_sasl (POP
+ mutt_sasl_interact (interaction);
+ }
+ else
++ {
++ olen = client_start;
+ client_start = 0;
++ }
+
+ if (rc != SASL_CONTINUE && (olen == 0 || rc != SASL_OK))
+ break;
+