[evolution-patches] Patch for bug 322408



Evolution can send a special imap command which looks like 'LIST {0
+}\rn'.
When uw-imapd receives this command, since it thinks that the command is incomplete,
it will request evolution to give more arguments, but evolution will not do more.
In this case, evolution will hang.


? patch_uw_imapd
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/ChangeLog,v
retrieving revision 1.40
diff -u -r1.40 ChangeLog
--- ChangeLog	21 Oct 2005 07:09:11 -0000	1.40
+++ ChangeLog	29 Nov 2005 06:28:07 -0000
@@ -1,3 +1,9 @@
+2005-11-29 Jeff Cai <jeff cai sun com>
+
+	* camel-imap-command.c:(imap_command_strdup_vprintf):
+	Evolution should not send command with zero additional parameters.
+	Fix #322408
+
 2005-10-21 Shreyas Srinivasan <sshreyas novell com>
 
 	* camel-imap-utils.c:(imap_parse_list_response): Handle
Index: camel-imap-command.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/camel-imap-command.c,v
retrieving revision 1.72
diff -u -r1.72 camel-imap-command.c
--- camel-imap-command.c	15 Sep 2005 17:51:50 -0000	1.72
+++ camel-imap-command.c	29 Nov 2005 06:28:08 -0000
@@ -824,8 +824,9 @@
 			if (imap_is_atom (string)) {
 				outptr += sprintf (outptr, "%s", string);
 			} else {
-				if (store->capabilities & IMAP_CAPABILITY_LITERALPLUS) {
-					outptr += sprintf (outptr, "{%d+}\r\n%s", (int)strlen(string), string);
+				len = strlen (string);
+				if (len && store->capabilities & IMAP_CAPABILITY_LITERALPLUS) {
+					outptr += sprintf (outptr, "{%d+}\r\n%s", len, string);
 				} else {
 					char *quoted = imap_quote_string (string);
 					


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]