Update to 2.0.4.

This commit is contained in:
Adam Weinberger 2005-02-18 23:09:01 +00:00
parent 22072c883e
commit c7670edf10
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=129230
4 changed files with 3 additions and 115 deletions

View file

@ -6,8 +6,7 @@
#
PORTNAME= evolution
PORTVERSION= 2.0.3
PORTREVISION= 2
PORTVERSION= 2.0.4
CATEGORIES= mail gnome
MASTER_SITES= ${MASTER_SITE_GNOME}
MASTER_SITE_SUBDIR= sources/${PORTNAME}/2.0

View file

@ -1,2 +1,2 @@
MD5 (gnome2/evolution-2.0.3.tar.bz2) = 0a6c15b022f001d52b8533c42e83a462
SIZE (gnome2/evolution-2.0.3.tar.bz2) = 15381448
MD5 (gnome2/evolution-2.0.4.tar.bz2) = e5b9bbab0d1f888ce9de41b57989eaa7
SIZE (gnome2/evolution-2.0.4.tar.bz2) = 15395184

View file

@ -1,19 +0,0 @@
===================================================================
RCS file: /cvs/gnome/evolution/camel/Attic/camel-lock-helper.c,v
retrieving revision 1.5
retrieving revision 1.5.74.1
diff -u -r1.5 -r1.5.74.1
--- camel/camel-lock-helper.c 2001/10/27 16:59:27 1.5
+++ camel/camel-lock-helper.c 2005/01/20 07:28:44 1.5.74.1
@@ -360,8 +360,9 @@
switch(msg.id) {
case CAMEL_LOCK_HELPER_LOCK:
res = CAMEL_LOCK_HELPER_STATUS_NOMEM;
- path = malloc(msg.data+1);
- if (path != NULL) {
+ if (msg.data > 0xffff) {
+ res = CAMEL_LOCK_HELPER_STATUS_PROTOCOL;
+ } else if ((path = malloc(msg.data+1)) != NULL) {
res = CAMEL_LOCK_HELPER_STATUS_PROTOCOL;
len = read_n(STDIN_FILENO, path, msg.data);
if (len == msg.data) {

View file

@ -1,92 +0,0 @@
Index: camel/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.2251.2.28
diff -u -p -r1.2251.2.28 ChangeLog
--- camel/ChangeLog 3 Dec 2004 03:03:02 -0000 1.2251.2.28
+++ camel/ChangeLog 23 Dec 2004 07:23:55 -0000
@@ -1,3 +1,12 @@
+2004-12-23 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #70556.
+
+ * providers/imap/camel-imap-command.c (imap_read_untagged): scan
+ the non-literal contnet for s-expression brackets, and if we seem
+ to be outside of one, don't try the 'blank line after literal'
+ hack.
+
2004-12-02 Not Zed <NotZed@Ximian.com>
** See bug #69533.
Index: camel/providers/imap/camel-imap-command.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/providers/imap/camel-imap-command.c,v
retrieving revision 1.60.26.2
diff -u -p -r1.60.26.2 camel-imap-command.c
--- camel/providers/imap/camel-imap-command.c 3 Dec 2004 03:03:02 -0000 1.60.26.2
+++ camel/providers/imap/camel-imap-command.c 23 Dec 2004 07:23:56 -0000
@@ -43,7 +43,7 @@
#include <camel/camel-private.h>
#include <camel/camel-utf8.h>
#include <camel/camel-session.h>
-
+#include <camel/camel-debug.h>
extern int camel_verbose_debug;
@@ -409,7 +409,7 @@ imap_read_response (CamelImapStore *stor
static char *
imap_read_untagged (CamelImapStore *store, char *line, CamelException *ex)
{
- int fulllen, ldigits, nread, i;
+ int fulllen, ldigits, nread, i, sexp = 0;
unsigned int length;
GPtrArray *data;
GString *str;
@@ -431,6 +431,18 @@ imap_read_untagged (CamelImapStore *stor
p = strrchr (str->str, '{');
if (!p)
break;
+
+ /* HACK ALERT: We scan the non-literal part of the string, looking for possible s expression braces.
+ This assumes we're getting s-expressions, which we should be.
+ This is so if we get a blank line after a literal, in an s-expression, we can keep going, since
+ we do no other parsing at this level.
+ TODO: handle quoted strings? */
+ for (s=str->str; s<p; s++) {
+ if (*s == '(')
+ sexp++;
+ else if (*s == ')')
+ sexp--;
+ }
length = strtoul (p + 1, &end, 10);
if (*end != '}' || *(end + 1) || end == p + 1 || length >= UINT_MAX - 2)
@@ -460,6 +472,12 @@ imap_read_untagged (CamelImapStore *stor
goto lose;
}
str->str[length + 1] = '\0';
+
+ if (camel_debug("imap")) {
+ printf("Literal: -->");
+ fwrite(str->str+1, 1, length, stdout);
+ printf("<--\n");
+ }
/* Fix up the literal, turning CRLFs into LF. Also, if
* we find any embedded NULs, strip them. This is
@@ -505,10 +523,11 @@ imap_read_untagged (CamelImapStore *stor
if (camel_imap_store_readline (store, &line, ex) < 0)
goto lose;
- /* MAJOR HACK ALERT, gropuwise sometimes sends an extra blank line after literals, check that here */
- if (line[0] == 0)
+ /* MAJOR HACK ALERT, gropuwise sometimes sends an extra blank line after literals, check that here
+ But only do it if we're inside an sexpression */
+ if (line[0] == 0 && sexp > 0)
g_warning("Server sent empty line after a literal, assuming in error");
- } while (line[0] == 0);
+ } while (line[0] == 0 && sexp > 0);
}
/* Now reassemble the data. */