Package: pidgin
Version: 2.5.5-100
Severity: normal

This is bug in new libxml2-2.7.3.dfsg1 - inside libxml big mess of error
reporting callback trampolites. At least, libxml have bug [1] and need this
small patch:

--- libxml2-2.7.3.dfsg/error.c.orig     2009-04-01 23:59:15.000000000 +0400
+++ libxml2-2.7.3.dfsg/error.c  2009-04-01 23:59:27.000000000 +0400
@@ -600,7 +600,7 @@
            channel = ctxt->sax->error;
        data = ctxt->userData;
     } else if (channel == NULL) {
-        if (xmlStructuredError != NULL)
+        if (schannel == NULL && xmlStructuredError != NULL)
            schannel = xmlStructuredError;
        else
            channel = xmlGenericError;

without this patch libxml overwrite user-defined error reporting callback
with it's own empty internal trampoline and crash.

And this patch for pidgin:
diff -ru pidgin-2.5.5.orig/libpurple/protocols/jabber/parser.c 
pidgin-2.5.5/libpurple/protocols/jabber/parser.c
--- pidgin-2.5.5.orig/libpurple/protocols/jabber/parser.c       2009-03-01 
22:37:12.000000000 +0300
+++ pidgin-2.5.5/libpurple/protocols/jabber/parser.c    2009-04-01 
21:40:42.000000000 +0400
@@ -207,6 +207,7 @@
 
 void jabber_parser_free(JabberStream *js) {
        if (js->context) {
+               xmlParseChunk(js->context, "</stream:stream>" ,16 ,1);
                xmlParseChunk(js->context, NULL,0,1);
                xmlFreeParserCtxt(js->context);
                js->context = NULL;
diff -ru pidgin-2.5.5.orig/libpurple/xmlnode.c pidgin-2.5.5/libpurple/xmlnode.c
--- pidgin-2.5.5.orig/libpurple/xmlnode.c       2009-02-03 22:27:09.000000000 
+0300
+++ pidgin-2.5.5/libpurple/xmlnode.c    2009-04-01 23:43:44.000000000 +0400
@@ -665,6 +665,20 @@
        purple_debug_error("xmlnode", "Error parsing xml file: %s", errmsg);
 }
 
+static void
+xmlnode_parser_structured_error_handler(void *user_data, xmlErrorPtr error)
+{
+        if (error->level == XML_ERR_WARNING && error->message != NULL
+                        && strcmp(error->message, "xmlns: URI vcard-temp is 
not absolute\n") == 0)
+                return;
+
+       purple_debug_error("jabber", "XML parser error for xmlnode %p: "
+                                                                "Domain %i, 
code %i, level %i: %s",
+                                          user_data,
+                                          error->domain, error->code, 
error->level,
+                                          (error->message ? error->message : 
"(null)\n"));
+}
+
 static xmlSAXHandler xmlnode_parser_libxml = {
        NULL, /* internalSubset */
        NULL, /* isStandalone */
@@ -697,7 +711,7 @@
        NULL, /* _private */
        xmlnode_parser_element_start_libxml, /* startElementNs */
        xmlnode_parser_element_end_libxml,   /* endElementNs   */
-       NULL, /* serror */
+       xmlnode_parser_structured_error_handler, /* serror */
 };
 
 xmlnode *


first part shutup libxml error when jabber auth success, second - add
xmlnode error reporting handler to avoid libxml crash internally.

I'm already report this to pidgin developers [2].

[1] http://bugzilla.gnome.org/show_bug.cgi?id=564217
[2] http://developer.pidgin.im/ticket/883

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (900, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-openvz-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.KOI8-R, LC_CTYPE=ru_RU.KOI8-R (charmap=KOI8-R)
Shell: /bin/sh linked to /bin/bash

Versions of packages pidgin depends on:
ii  gconf2                        2.24.0-7   GNOME configuration database syste
ii  libatk1.0-0                   1.24.0-2   The ATK accessibility toolkit
ii  libc6                         2.9-6      GNU C Library: Shared libraries
ii  libcairo2                     1.8.6-2+b1 The Cairo 2D vector graphics libra
ii  libdbus-1-3                   1.2.12-1   simple interprocess messaging syst
ii  libdbus-glib-1-2              0.80-3     simple interprocess messaging syst
ii  libfontconfig1                2.6.0-3    generic font configuration library
ii  libfreetype6                  2.3.9-4    FreeType 2 font engine, shared lib
ii  libglib2.0-0                  2.20.0-2   The GLib library of C routines
ii  libgstreamer0.10-0            0.10.22-2  Core GStreamer libraries and eleme
ii  libgtk2.0-0                   2.14.7-5   The GTK+ graphical user interface 
ii  libgtkspell0                  2.0.13-2   a spell-checking addon for GTK's T
ii  libice6                       2:1.0.5-1  X11 Inter-Client Exchange library
ii  libpango1.0-0                 1.22.4-3   Layout and rendering of internatio
ii  libpurple0                    2.5.5-100  multi-protocol instant messaging l
ii  libsm6                        2:1.1.0-2  X11 Session Management library
ii  libstartup-notification0      0.9-1      library for program launch feedbac
ii  libx11-6                      2:1.2-1    X11 client-side library
ii  libxss1                       1:1.1.3-1  X11 Screen Saver extension library
ii  perl                          5.10.0-19  Larry Wall's Practical Extraction 
ii  perl-base [perlapi-5.10.0]    5.10.0-19  minimal Perl system
ii  pidgin-data                   2.5.5-100  multi-protocol instant messaging c

Versions of packages pidgin recommends:
ii  gstreamer0.10-plugins-base    0.10.22-4  GStreamer plugins from the "base" 
ii  gstreamer0.10-plugins-good    0.10.14-2  GStreamer plugins from the "good" 

Versions of packages pidgin suggests:
ii  evolution-data-server  2.24.5-3          evolution database backend server
ii  gnome-panel            2.20.3-5+b1       launcher and docking facility for 
ii  kicker                 4:3.5.10.dfsg.1-2 desktop panel for KDE
ii  libsqlite3-0           3.6.11-4          SQLite 3 shared library

-- debconf-show failed



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to