Your message dated Wed, 19 Aug 2009 10:19:16 -0400
with message-id <[email protected]>
and subject line (no subject)
has caused the Debian Bug report #468572,
regarding libpurple0: OSCAR group names wrong encoding
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
468572: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468572
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libpurple0
Version: 2.3.1-2
Severity: normal
Tags: patch

During server-side buddylist import over OSCAR, libpurple converts all
group names from the local encoding (CP1250 in my case) to UTF-8.
However, all ICQ clients - Pidgin included! - save those names in UTF-8.
I am sending a patch that changes the behavior to first check if the
group name is valid UTF-8; use it if it is, and convert it if it is not.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.22-3-686 (SMP w/1 CPU core)
Locale: LANG=cs_CZ.UTF8, LC_CTYPE=cs_CZ.UTF8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libpurple0 depends on:
ii  libavahi-client3 0.6.22-2                Avahi client library
ii  libavahi-common3 0.6.22-2                Avahi common library
ii  libavahi-glib1   0.6.22-2                Avahi glib integration library
ii  libc6            2.7-8                   GNU C Library: Shared libraries
ii  libdbus-1-3      1.1.4-1                 simple interprocess messaging syst
ii  libdbus-glib-1-2 0.74-1                  simple interprocess messaging syst
ii  libgadu3         1:1.7~rc2-2             Gadu-Gadu protocol library - runti
ii  libglib2.0-0     2.14.6-1                The GLib library of C routines
ii  libmeanwhile1    1.0.2-3                 open implementation of the Lotus S
ii  libnspr4-0d      4.7.0~1.9b1-2           NetScape Portable Runtime Library
ii  libnss3-1d       3.12.0~1.9b1-2          Network Security Service libraries
ii  libperl5.8       5.8.8-12                Shared Perl library
ii  libsasl2-2       2.1.22.dfsg1-18         Cyrus SASL - authentication abstra
ii  libsasl2-modules 2.1.22.dfsg1-18         Cyrus SASL - pluggable authenticat
ii  libsilc-1.1-2    1.1.5-1                 SILC library (silc-toolkit)
ii  libxml2          2.6.31.dfsg-1           GNOME XML library
ii  libzephyr3       2.1.20070719.SNAPSHOT-1 The original "Instant Message" sys
ii  pidgin-data      2.3.1-2                 multi-protocol instant messaging c

Versions of packages libpurple0 recommends:
ii  ca-certificates             20070303-0.1 Common CA certificates
ii  libpurple-bin               2.3.1-2      multi-protocol instant messaging l

-- debconf-show failed
--- libpurple/protocols/oscar/oscar.c.orig	2007-12-07 15:37:08.000000000 +0100
+++ libpurple/protocols/oscar/oscar.c	2008-01-12 17:30:53.000000000 +0100
@@ -4940,10 +4940,15 @@
 				if (curitem->name) {
 					struct aim_ssi_item *groupitem = aim_ssi_itemlist_find(od->ssi.local, curitem->gid, 0x0000);
 					char *gname = groupitem ? groupitem->name : NULL;
-					char *gname_utf8 = gname ? oscar_utf8_try_convert(gc->account, gname) : NULL;
+					char *gname_utf8 = NULL;
 					char *alias = aim_ssi_getalias(od->ssi.local, gname, curitem->name);
 					char *alias_utf8;
 
+					if (gname && g_utf8_validate(gname, -1, NULL))
+						gname_utf8 = g_strdup(gname);
+					else if (gname)
+						gname_utf8 = oscar_utf8_try_convert(gc->account, gname);
+
 					g = purple_find_group(gname_utf8 ? gname_utf8 : _("Orphans"));
 					if (g == NULL) {
 						g = purple_group_new(gname_utf8 ? gname_utf8 : _("Orphans"));
@@ -4998,7 +5003,11 @@
 
 			case 0x0001: { /* Group */
 				char *gname = curitem->name;
-				char *gname_utf8 = gname ? oscar_utf8_try_convert(gc->account, gname) : NULL;
+				char *gname_utf8 = NULL;
+				if (gname && g_utf8_validate(gname, -1, NULL))
+					gname_utf8 = g_strdup(gname);
+				else if (gname)
+					gname_utf8 = oscar_utf8_try_convert(gc->account, gname);
 				if (gname_utf8 != NULL && purple_find_group(gname_utf8) == NULL) {
 					g = purple_group_new(gname_utf8);
 					purple_blist_add_group(g, NULL);

--- End Message ---
--- Begin Message ---
Version: 2.4.1-1

This was fixed upstream.


--- End Message ---

Reply via email to