Package: evolution Version: 2.0.3-weiti.1 Severity: important Tags: patch
With this patch they resolved some Problems on Exchange and Notes Servers after the "groupwise" fix. See here: http://bugzilla.ximian.com/show_bug.cgi?id=70556 HTH, tim -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable') Architecture: powerpc (ppc) Kernel: Linux 2.6.11-rc4 Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=de_DE (charmap=ISO-8859-1) Versions of packages evolution depends on: ii evolution-data-server 1.0.3-2 evolution database backend server ii gconf2 2.8.1-4 GNOME configuration database syste ii gnome-icon-theme 2.8.0-2 GNOME Desktop icon theme ii gtkhtml3.2 3.2.4-1 HTML rendering/editing library - b ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi ii libasn1-6-heimdal 0.6.3-7 Libraries for Heimdal Kerberos ii libatk1.0-0 1.8.0-4 The ATK accessibility toolkit ii libaudiofile0 0.2.6-5 Open-source version of SGI's audio ii libbonobo2-0 2.8.1-1 Bonobo CORBA interfaces library ii libbonoboui2-0 2.8.1-1 The Bonobo UI library ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libcomerr2 1.36release-1 common error description library ii libcompfaceg1 1989.11.11-24 Compress/decompress images for mai ii libdb4.2 4.2.52-18 Berkeley v4.2 Database Libraries [ ii libebook8 1.0.3-2 Client library for evolution addre ii libecal6 1.0.3-2 Client library for evolution calen ii libedataserver3 1.0.3-2 Utily library for evolution data s ii libegroupwise6 1.0.3-2 Client library for accessing group ii libesd0 0.2.35-2 Enlightened Sound Daemon - Shared ii libfontconfig1 2.2.3-4 generic font configuration library ii libfreetype6 2.1.7-2.3 FreeType 2 font engine, shared lib ii libgail-common 1.8.2-1 GNOME Accessibility Implementation ii libgail17 1.8.2-1 GNOME Accessibility Implementation ii libgal2.2-1 2.2.4-1 G App Libs (run time library) ii libgal2.2-common 2.2.4-1 G App Libs (common files) ii libgconf2-4 2.8.1-4 GNOME configuration database syste ii libgcrypt11 1.2.0-11 LGPL Crypto library - runtime libr ii libglade2-0 1:2.4.2-1 library to load .glade files at ru ii libglib2.0-0 2.6.2-1 The GLib library of C routines ii libgnome-keyring0 0.4.1-1 GNOME keyring services library ii libgnome-pilot2 2.0.12-1.1 Support libraries for gnome-pilot ii libgnome2-0 2.8.0-6 The GNOME 2 library - runtime file ii libgnomecanvas2-0 2.8.0-1 A powerful object-oriented display ii libgnomeprint2.2-0 2.8.2-1 The GNOME 2.2 print architecture - ii libgnomeprintui2.2-0 2.8.2-2 GNOME 2.2 print architecture User ii libgnomeui-0 2.8.0-3 The GNOME 2 libraries (User Interf ii libgnomevfs2-0 2.8.3-11 The GNOME virtual file-system libr ii libgnutls11 1.0.16-13 GNU TLS library - runtime library ii libgpg-error0 1.0-1 library for common error values an ii libgssapi1-heimdal 0.6.3-7 Libraries for Heimdal Kerberos ii libgtk2.0-0 2.6.2-3 The GTK+ graphical user interface ii libgtkhtml3.2-11 3.2.4-1 HTML rendering/editing library - r ii libhowl0 0.9.8-2 Library for Zeroconf service disco ii libice6 4.3.0.dfsg.1-11 Inter-Client Exchange library ii libjpeg62 6b-9 The Independent JPEG Group's JPEG ii libkrb-1-kerberos4kth 1.2.2-11.1 Kerberos Libraries for Kerberos4 F ii libkrb5-17-heimdal 0.6.3-7 Libraries for Heimdal Kerberos ii libldap2 2.1.30-3 OpenLDAP libraries ii libnspr4 2:1.7.5-1 Netscape Portable Runtime Library ii libnss3 2:1.7.5-1 Network Security Service Libraries ii liborbit2 1:2.10.5-0.1 libraries for ORBit2 - a CORBA ORB ii libpango1.0-0 1.8.0-3 Layout and rendering of internatio ii libpisock8 0.11.8-10 Library for communicating with a P ii libpisync0 0.11.8-10 Synchronization library for PalmOS ii libpopt0 1.7-5 lib for parsing cmdline parameters ii libroken16-kerberos4kth 1.2.2-11.1 Roken Libraries for Kerberos4 From ii libsm6 4.3.0.dfsg.1-11 X Window System Session Management ii libsoup2.2-7 2.2.2-1 an HTTP library implementation in ii libssl0.9.7 0.9.7e-3 SSL shared libraries ii libtasn1-2 0.2.10-4 Manage ASN.1 structures (runtime) ii libx11-6 4.3.0.dfsg.1-11 X Window System protocol client li ii libxml2 2.6.16-3 GNOME XML library ii xlibs 4.3.0.dfsg.1-11 X Keyboard Extension (XKB) configu ii zlib1g 1:1.2.2-4 compression library - runtime -- no debconf information
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. */