[dovecot-cvs] dovecot/src/imap common.h, 1.17, 1.18 imap-fetch-body.c, 1.14, 1.15 main.c, 1.57, 1.58

cras at dovecot.org cras at dovecot.org
Wed Oct 20 21:09:34 EEST 2004


Update of /var/lib/cvs/dovecot/src/imap
In directory talvi:/tmp/cvs-serv5731/src/imap

Modified Files:
	common.h imap-fetch-body.c main.c 
Log Message:
Added tb-negative-fetch workaround.



Index: common.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/common.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- common.h	11 Sep 2004 12:21:44 -0000	1.17
+++ common.h	20 Oct 2004 18:09:32 -0000	1.18
@@ -26,7 +26,8 @@
 enum client_workarounds {
 	WORKAROUND_OE6_FETCH_NO_NEWMAIL		= 0x01,
 	WORKAROUND_OUTLOOK_IDLE			= 0x02,
-	WORKAROUND_NETSCAPE_EOH			= 0x04
+	WORKAROUND_NETSCAPE_EOH			= 0x04,
+	WORKAROUND_TB_NEGATIVE_FETCH		= 0x08
 };
 
 extern struct ioloop *ioloop;

Index: imap-fetch-body.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/imap-fetch-body.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- imap-fetch-body.c	20 Oct 2004 17:04:27 -0000	1.14
+++ imap-fetch-body.c	20 Oct 2004 18:09:32 -0000	1.15
@@ -791,6 +791,14 @@
 
 		if (*p == '.') {
 			p++;
+			if (*p == '-' && (client_workarounds &
+					  WORKAROUND_TB_NEGATIVE_FETCH) != 0) {
+				/* Thunderbird messed up some calculations
+				   and wants to read the message past it's
+				   end. The fetch returns empty result anyway,
+				   so just ignore '-'. */
+				p++;
+			}
 			if (!read_uoff_t(&p, &body->max_size) ||
 			    body->max_size > OFF_T_MAX) {
 				/* wrapped */

Index: main.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/main.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -d -r1.57 -r1.58
--- main.c	11 Sep 2004 12:21:44 -0000	1.57
+++ main.c	20 Oct 2004 18:09:32 -0000	1.58
@@ -30,6 +30,7 @@
 	{ "oe6-fetch-no-newmail", WORKAROUND_OE6_FETCH_NO_NEWMAIL },
 	{ "outlook-idle", WORKAROUND_OUTLOOK_IDLE },
 	{ "netscape-eoh", WORKAROUND_NETSCAPE_EOH },
+	{ "tb-negative-fetch", WORKAROUND_TB_NEGATIVE_FETCH },
 	{ NULL, 0 }
 };
 



More information about the dovecot-cvs mailing list