diff options
author | Fernando J. Pereda <ferdy@gentoo.org> | 2006-09-11 08:08:54 +0000 |
---|---|---|
committer | Fernando J. Pereda <ferdy@gentoo.org> | 2006-09-11 08:08:54 +0000 |
commit | 5a81f808ac8e8edc95e2cd2eebb3afd76dc6148e (patch) | |
tree | 6e4ffd51efab6b6740b130725389af3823c53dbf /mail-client/mutt/files | |
parent | Version bump. (diff) | |
download | gentoo-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-r1 | 6 | ||||
-rw-r--r-- | mail-client/mutt/files/mutt-1.5.13-sasl.patch | 74 |
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; + |