1 |
pva 10/10/29 09:59:46 |
2 |
|
3 |
Added: pidgin-2.7.4-bonjour-crash.patch |
4 |
pidgin-2.7.4-icq-html-regression.patch |
5 |
pidgin-2.7.4-missing-break-bug-12810.patch |
6 |
pidgin-2.7.4-icq-authorization-empty-nick.patch |
7 |
Log: |
8 |
Backport upstream patches to fix ICQ regressions (e.g. bug #342779 thank Phil Stracchino for report) and crashes. |
9 |
|
10 |
(Portage version: 2.1.9.22/cvs/Linux x86_64) |
11 |
|
12 |
Revision Changes Path |
13 |
1.1 net-im/pidgin/files/pidgin-2.7.4-bonjour-crash.patch |
14 |
|
15 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-bonjour-crash.patch?rev=1.1&view=markup |
16 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-bonjour-crash.patch?rev=1.1&content-type=text/plain |
17 |
|
18 |
Index: pidgin-2.7.4-bonjour-crash.patch |
19 |
=================================================================== |
20 |
http://developer.pidgin.im/viewmtn/revision/info/82e935b340047646fa99de444cd143a4523928cc |
21 |
|
22 |
Fix crash when attempting to log into a bonjour account and init failed |
23 |
|
24 |
# |
25 |
# |
26 |
# patch "libpurple/protocols/bonjour/bonjour.c" |
27 |
# from [9f373f1963c40837750948ec0b072e6eb1abb608] |
28 |
# to [e0955c7f0b8020ffa9848c290b42f88f981a3572] |
29 |
# |
30 |
============================================================ |
31 |
--- libpurple/protocols/bonjour/bonjour.c 9f373f1963c40837750948ec0b072e6eb1abb608 |
32 |
+++ libpurple/protocols/bonjour/bonjour.c e0955c7f0b8020ffa9848c290b42f88f981a3572 |
33 |
@@ -189,7 +189,8 @@ bonjour_close(PurpleConnection *connecti |
34 |
purple_xfer_cancel_local(bd->xfer_lists->data); |
35 |
} |
36 |
|
37 |
- g_free(bd->jid); |
38 |
+ if (bd != NULL) |
39 |
+ g_free(bd->jid); |
40 |
g_free(bd); |
41 |
connection->proto_data = NULL; |
42 |
} |
43 |
|
44 |
|
45 |
|
46 |
1.1 net-im/pidgin/files/pidgin-2.7.4-icq-html-regression.patch |
47 |
|
48 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-icq-html-regression.patch?rev=1.1&view=markup |
49 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-icq-html-regression.patch?rev=1.1&content-type=text/plain |
50 |
|
51 |
Index: pidgin-2.7.4-icq-html-regression.patch |
52 |
=================================================================== |
53 |
http://theflamingbanker.blogspot.com/2010/10/death-of-thousand-tickets.html |
54 |
http://bugs.gentoo.org/show_bug.cgi?id=342779 |
55 |
|
56 |
# |
57 |
# |
58 |
# patch "libpurple/protocols/oscar/family_chat.c" |
59 |
# from [9b3ad3b5c68ab5d3f33b0b856fdeaf898a5ed9a9] |
60 |
# to [397a3d8572c9863216cc7b37d26858f34a1583ab] |
61 |
# |
62 |
============================================================ |
63 |
--- libpurple/protocols/oscar/family_chat.c 9b3ad3b5c68ab5d3f33b0b856fdeaf898a5ed9a9 |
64 |
+++ libpurple/protocols/oscar/family_chat.c 397a3d8572c9863216cc7b37d26858f34a1583ab |
65 |
@@ -88,6 +88,8 @@ infoupdate(OscarData *od, FlapConnection |
66 |
return 1; |
67 |
} |
68 |
|
69 |
+ byte_stream_get16(bs); // skip the TLV count |
70 |
+ |
71 |
/* |
72 |
* Everything else are TLVs. |
73 |
*/ |
74 |
|
75 |
|
76 |
|
77 |
1.1 net-im/pidgin/files/pidgin-2.7.4-missing-break-bug-12810.patch |
78 |
|
79 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-missing-break-bug-12810.patch?rev=1.1&view=markup |
80 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-missing-break-bug-12810.patch?rev=1.1&content-type=text/plain |
81 |
|
82 |
Index: pidgin-2.7.4-missing-break-bug-12810.patch |
83 |
=================================================================== |
84 |
http://developer.pidgin.im/viewmtn/revision/info/7d1c9a75673aed36deaeca9e96975462a68e2dcd |
85 |
|
86 |
There seems to be a missing break here. I noticed it in the log, but |
87 |
probably not related. Refs #12810. |
88 |
|
89 |
# |
90 |
# |
91 |
# patch "pidgin/minidialog.c" |
92 |
# from [0ff3f39351172aebcd5504f3915242777b6d05cd] |
93 |
# to [2e29d56ddb428c86d1e4ee9854fd56b0925b948c] |
94 |
# |
95 |
============================================================ |
96 |
--- pidgin/minidialog.c 0ff3f39351172aebcd5504f3915242777b6d05cd |
97 |
+++ pidgin/minidialog.c 2e29d56ddb428c86d1e4ee9854fd56b0925b948c |
98 |
@@ -332,6 +332,7 @@ pidgin_mini_dialog_set_property(GObject |
99 |
break; |
100 |
case PROP_CUSTOM_ICON: |
101 |
gtk_image_set_from_pixbuf(priv->icon, g_value_get_object(value)); |
102 |
+ break; |
103 |
default: |
104 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); |
105 |
} |
106 |
|
107 |
|
108 |
|
109 |
1.1 net-im/pidgin/files/pidgin-2.7.4-icq-authorization-empty-nick.patch |
110 |
|
111 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-icq-authorization-empty-nick.patch?rev=1.1&view=markup |
112 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/pidgin-2.7.4-icq-authorization-empty-nick.patch?rev=1.1&content-type=text/plain |
113 |
|
114 |
Index: pidgin-2.7.4-icq-authorization-empty-nick.patch |
115 |
=================================================================== |
116 |
http://developer.pidgin.im/viewmtn/revision/info/b4c65c273f2934560d9e643a124b31ac2d2328f2 |
117 |
|
118 |
We should always display the "Authorize buddy?" mini-dialog, even |
119 |
if the buddy doesn't have a non-empty nickname. Fixes #12810. |
120 |
Also, why the hell did gotalias() return int? That should be void. |
121 |
|
122 |
# |
123 |
# |
124 |
# patch "libpurple/protocols/oscar/family_icq.c" |
125 |
# from [6e79de6d0d602cb32962d5a6eb9884d41ecf4d2a] |
126 |
# to [da2f91e3871e683861698a416bb17e6f4fc7eca1] |
127 |
# |
128 |
# patch "pidgin/gtkaccount.c" |
129 |
# from [67355ddf08aa04ea8bc82450a9b0276a03937981] |
130 |
# to [c6c6f42af0d54071a143aeab36b4165866907064] |
131 |
# |
132 |
============================================================ |
133 |
--- libpurple/protocols/oscar/family_icq.c 6e79de6d0d602cb32962d5a6eb9884d41ecf4d2a |
134 |
+++ libpurple/protocols/oscar/family_icq.c da2f91e3871e683861698a416bb17e6f4fc7eca1 |
135 |
@@ -408,27 +408,27 @@ int aim_icq_sendsms(OscarData *od, const |
136 |
return 0; |
137 |
} |
138 |
|
139 |
-static int |
140 |
+static void |
141 |
gotalias(OscarData *od, struct aim_icq_info *info) |
142 |
{ |
143 |
PurpleConnection *gc = od->gc; |
144 |
PurpleAccount *account = purple_connection_get_account(gc); |
145 |
- gchar who[16], *utf8; |
146 |
PurpleBuddy *b; |
147 |
+ gchar *utf8 = oscar_utf8_try_convert(account, od, info->nick); |
148 |
|
149 |
- if (info->nick[0] && (utf8 = oscar_utf8_try_convert(account, od, info->nick))) { |
150 |
- if (info->for_auth_request) { |
151 |
- oscar_auth_recvrequest(gc, g_strdup_printf("%u", info->uin), utf8, info->auth_request_reason); |
152 |
- } else { |
153 |
+ if (info->for_auth_request) { |
154 |
+ oscar_auth_recvrequest(gc, g_strdup_printf("%u", info->uin), utf8, info->auth_request_reason); |
155 |
+ } else { |
156 |
+ if (utf8 && *utf8) { |
157 |
+ gchar who[16]; |
158 |
g_snprintf(who, sizeof(who), "%u", info->uin); |
159 |
serv_got_alias(gc, who, utf8); |
160 |
if ((b = purple_find_buddy(account, who))) { |
161 |
purple_blist_node_set_string((PurpleBlistNode*)b, "servernick", utf8); |
162 |
} |
163 |
- g_free(utf8); |
164 |
} |
165 |
+ g_free(utf8); |
166 |
} |
167 |
- return 1; |
168 |
} |
169 |
|
170 |
/** |
171 |
============================================================ |
172 |
--- pidgin/gtkaccount.c 67355ddf08aa04ea8bc82450a9b0276a03937981 |
173 |
+++ pidgin/gtkaccount.c c6c6f42af0d54071a143aeab36b4165866907064 |
174 |
@@ -2468,6 +2468,7 @@ pidgin_accounts_request_authorization(Pu |
175 |
GtkWidget *alert; |
176 |
GdkPixbuf *prpl_icon; |
177 |
struct auth_request *aa; |
178 |
+ gboolean have_valid_alias = alias && *alias; |
179 |
|
180 |
gc = purple_account_get_connection(account); |
181 |
if (message != NULL && *message == '\0') |
182 |
@@ -2475,9 +2476,9 @@ pidgin_accounts_request_authorization(Pu |
183 |
|
184 |
buffer = g_strdup_printf(_("%s%s%s%s wants to add you (%s) to his or her buddy list%s%s"), |
185 |
remote_user, |
186 |
- (alias != NULL ? " (" : ""), |
187 |
- (alias != NULL ? alias : ""), |
188 |
- (alias != NULL ? ")" : ""), |
189 |
+ (have_valid_alias ? " (" : ""), |
190 |
+ (have_valid_alias ? alias : ""), |
191 |
+ (have_valid_alias ? ")" : ""), |
192 |
(id != NULL |
193 |
? id |
194 |
: (purple_connection_get_display_name(gc) != NULL |