Bug#318686: libgnomevfs2-common: privoxy's use of
"Transfer-Encoding: identity" breaks libneon, vfs2, gweather-applet
Michael Shields
shields at msrl.com
Sun Jul 17 01:56:06 UTC 2005
Package: libgnomevfs2-common
Version: 2.10.1-5
Severity: normal
Tags: patch
When privoxy receives a page using Transfer-Encoding: chunked, and then
de-chunks it for filtering, it changes the header to "identity". This
value of the header was included in RFC 2616 by mistake; the working group
meant to pull it out. See <http://purl.org/NET/http-errata#identity>
and the http-wg mailing list archives for discussion of this.
Specifically, this breaks the libneon that is bundled with vfs2,
and therefore gweather-applet. I am reporting a bug (#318683) against
Privoxy also, with a patch to cause it not to send this header. However,
I believe that libneon is also at fault for assuming that any T-E header
implies the chunked encoding it asked for. The attached patch makes
vfs2 tolerant of code that implemented the RFC as published.
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable'), (50, 'unstable')
Architecture: powerpc (ppc)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.11-powerpc
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages libgnomevfs2-common depends on:
ii dbus-1 0.23.4-1 simple interprocess messaging syst
ii dbus-glib-1 0.23.4-1 simple interprocess messaging syst
ii gconf2 2.10.0-2 GNOME configuration database syste
ii gnome-mime-data 2.4.2-1 base MIME and Application database
ii libbonobo2-0 2.8.1-2 Bonobo CORBA interfaces library
ii libbz2-1.0 1.0.2-7 high-quality block-sorting file co
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libcdparanoia0 3a9.8-11 Shared libraries for cdparanoia (r
ii libfam0c102 2.7.0-7 client library to control the FAM
ii libgconf2-4 2.10.0-2 GNOME configuration database syste
ii libgcrypt11 1.2.0-11.1 LGPL Crypto library - runtime libr
ii libglib2.0-0 2.6.5-1 The GLib library of C routines
ii libgnomevfs2-0 2.10.1-5 The GNOME virtual file-system libr
ii libgnutls11 1.0.16-13.1 GNU TLS library - runtime library
ii libgpg-error0 1.0-1 library for common error values an
ii libhal-storage0 0.4.8-3 Hardware Abstraction Layer - share
ii libhal0 0.4.8-1 Hardware Abstraction Layer - share
ii liborbit2 1:2.12.2-1 libraries for ORBit2 - a CORBA ORB
ii libpopt0 1.7-5 lib for parsing cmdline parameters
ii libsmbclient 3.0.14a-3 shared library that allows applica
ii libtasn1-2 0.2.10-4 Manage ASN.1 structures (runtime)
ii libxml2 2.6.20-1 GNOME XML library
ii shared-mime-info 0.16-3 FreeDesktop.org shared MIME databa
ii zlib1g 1:1.2.2-4 compression library - runtime
libgnomevfs2-common recommends no packages.
-- no debconf information
-------------- next part --------------
--- gnome-vfs2-2.10.1/imported/neon.old/ne_request.c 2005-01-30 11:59:55.000000000 +0000
+++ gnome-vfs2-2.10.1/imported/neon/ne_request.c 2005-07-17 01:43:26.000000000 +0000
@@ -480,14 +480,18 @@
return (st->klass == 2);
}
-/* Handler for the "Transfer-Encoding" response header: treat *any*
- * such header as implying a chunked response, per the "Protocol
- * Compliance" statement in the manual. */
+/* Handler for the "Transfer-Encoding" response header. Previous
+ * versions treated *any* such header as implying a chunked response.
+ * However, we need to handle at least "Transfer-Encoding: identity"
+ * also (by ignoring it). This was included in RFC 2616 by mistake
+ * (see http://purl.org/NET/http-errata#identity), but it is there,
+ * and Privoxy uses it at least through version 3.0.3. */
static void te_hdr_handler(void *userdata, const char *value)
{
struct ne_response *resp = userdata;
-
- resp->mode = R_CHUNKED;
+ if (strcasecmp(value, "chunked") == 0) {
+ resp->mode = R_CHUNKED;
+ }
}
/* Handler for the "Connection" response header */
More information about the Pkg-gnome-maintainers
mailing list