diff --git a/pidgin-2.5.1-buddyicon.patch b/pidgin-2.5.1-buddyicon.patch new file mode 100644 index 0000000..e9a8a16 --- /dev/null +++ b/pidgin-2.5.1-buddyicon.patch @@ -0,0 +1,67 @@ +----------------------------------------------------------------- +Revision: 21e781181213d3cb9f08fd3e74b9f452ef615f03 +Ancestor: 48c5c9c72107408d63250fe0d7feb41f812a5d66 +Author: qulogic@pidgin.im +Date: 2008-09-07T19:58:04 +Branch: im.pidgin.pidgin + +Modified files: + libpurple/buddyicon.c libpurple/buddyicon.h + +ChangeLog: + +Don't try to read data from a NULL filename in +purple_buddy_icons_node_set_custom_icon_from_file. Also document that +you can use NULL to unset the icon. + +Fixes #6998. + +============================================================ +--- libpurple/buddyicon.c 18d12d638239af5082ec913211ade4a888b74af2 ++++ libpurple/buddyicon.c dbb00fa1c7275c14d773a9073830c5d0b41deca2 +@@ -934,8 +934,8 @@ purple_buddy_icons_node_set_custom_icon_ + purple_buddy_icons_node_set_custom_icon_from_file(PurpleBlistNode *node, + const gchar *filename) + { +- size_t len; +- guchar *data; ++ size_t len = 0; ++ guchar *data = NULL; + + g_return_val_if_fail(node != NULL, NULL); + +@@ -945,8 +945,10 @@ purple_buddy_icons_node_set_custom_icon_ + return NULL; + } + +- if (!read_icon_file(filename, &data, &len)) { +- return NULL; ++ if (filename != NULL) { ++ if (!read_icon_file(filename, &data, &len)) { ++ return NULL; ++ } + } + + return purple_buddy_icons_node_set_custom_icon(node, data, len); +============================================================ +--- libpurple/buddyicon.h 9833d0334d2e344c5b0924db76d2c268d3fb2042 ++++ libpurple/buddyicon.h 15012fdc49959c5117aa9eb99b7649574d77db35 +@@ -308,7 +308,7 @@ purple_buddy_icons_node_find_custom_icon + * + * @param node The blist node for which to set a custom icon. + * @param icon_data The image data of the icon, which the buddy icon code will +- * free. ++ * free. Use NULL to unset the icon. + * @param icon_len The length of the data in @a icon_data. + * + * @return The icon that was set. The caller does NOT own a reference to this, +@@ -326,7 +326,8 @@ purple_buddy_icons_node_set_custom_icon( + * @see purple_buddy_icons_node_set_custom_icon() + * + * @param node The blist node for which to set a custom icon. +- * @param filename The path to the icon to set for the blist node. ++ * @param filename The path to the icon to set for the blist node. Use NULL ++ * to unset the custom icon. + * + * @return The icon that was set. The caller does NOT own a reference to this, + * and must call purple_imgstore_ref() if it wants one. diff --git a/pidgin-2.5.1-msn-hasyou.patch b/pidgin-2.5.1-msn-hasyou.patch new file mode 100644 index 0000000..6ef89e4 --- /dev/null +++ b/pidgin-2.5.1-msn-hasyou.patch @@ -0,0 +1,29 @@ +----------------------------------------------------------------- +Revision: 6a2fea9024166e4d473b00a87489c720617e3094 +Ancestor: 99a1dadde07d817852916ae3c150683b6b8c4f81 +Author: qulogic@pidgin.im +Date: 2008-09-06T02:57:57 +Branch: im.pidgin.pidgin + +Modified files: + libpurple/protocols/msn/msn.c + +ChangeLog: + +We can't have ./configure lying to you, can we? + +Fixes #6637. + +============================================================ +--- libpurple/protocols/msn/msn.c 5ced63fdc012e5df5bcd46ade1efd81be14e6344 ++++ libpurple/protocols/msn/msn.c 04fad6deed88391af6dba93608670cf94724bf97 +@@ -769,6 +769,9 @@ msn_tooltip_text(PurpleBuddy *buddy, Pur + { + const char *phone; + ++ purple_notify_user_info_add_pair(user_info, _("Has you"), ++ ((user->list_op & (1 << MSN_LIST_RL)) ? _("Yes") : _("No"))); ++ + purple_notify_user_info_add_pair(user_info, _("Blocked"), + ((user->list_op & (1 << MSN_LIST_BL)) ? _("Yes") : _("No"))); + diff --git a/pidgin-2.5.1-nss-ssl.patch b/pidgin-2.5.1-nss-ssl.patch new file mode 100644 index 0000000..df3a5ce --- /dev/null +++ b/pidgin-2.5.1-nss-ssl.patch @@ -0,0 +1,39 @@ +----------------------------------------------------------------- +Revision: 3cbc74478c8df61d53804d0363dc936a3e0adeb7 +Ancestor: 254e5a24031a74103097db812ae3e723d696c11d +Author: datallah@pidgin.im +Date: 2008-09-08T23:04:15 +Branch: im.pidgin.pidgin + +Modified files: + libpurple/plugins/ssl/ssl-nss.c + +ChangeLog: + +Fix a NULL pointer deref in the NSS SSL implementation with certain self-signed +certs. +Fixes #7013 + +============================================================ +--- libpurple/plugins/ssl/ssl-nss.c c6c576ba92370703e89850d8e6dc88b7fec3e523 ++++ libpurple/plugins/ssl/ssl-nss.c d6de7a59c8b1c42086fd8e7153865718fc3289e6 +@@ -285,7 +285,8 @@ ssl_nss_get_peer_certificates(PRFileDesc + } + + for (count = 0 ; count < CERT_MAX_CERT_CHAIN ; count++) { +- purple_debug_info("nss", "subject=%s issuer=%s\n", curcert->subjectName, curcert->issuerName); ++ purple_debug_info("nss", "subject=%s issuer=%s\n", curcert->subjectName, ++ curcert->issuerName ? curcert->issuerName : "(null)"); + newcrt = x509_import_from_nss(curcert); + peer_certs = g_list_append(peer_certs, newcrt); + +@@ -676,7 +677,8 @@ x509_signed_by(PurpleCertificate * crt, + subjectCert = X509_NSS_DATA(crt); + g_return_val_if_fail(subjectCert, FALSE); + +- if ( PORT_Strcmp(subjectCert->issuerName, issuerCert->subjectName) != 0 ) ++ if (subjectCert->issuerName == NULL ++ || PORT_Strcmp(subjectCert->issuerName, issuerCert->subjectName) != 0) + return FALSE; + st = CERT_VerifySignedData(&subjectCert->signatureWrap, issuerCert, PR_Now(), NULL); + return st == SECSuccess; diff --git a/pidgin.spec b/pidgin.spec index 781fc4d..41739c4 100644 --- a/pidgin.spec +++ b/pidgin.spec @@ -29,7 +29,7 @@ Name: pidgin Version: 2.5.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ and GPLv2 and MIT # GPLv2+ - libpurple, gnt, finch, pidgin, most prpls # GPLv2 - silc & novell prpls @@ -63,6 +63,10 @@ Patch0: pidgin-2.4.2-reread-resolvconf.patch ## Patches 100+: To be Included in Future Upstream Patch100: pidgin-2.5.1-gnomeproxy.patch +Patch101: pidgin-2.5.1-buddyicon.patch +Patch102: pidgin-2.5.1-msn-hasyou.patch +Patch103: pidgin-2.5.1-nss-ssl.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-root Summary: A Gtk+ based multiprotocol instant messaging client @@ -293,6 +297,9 @@ and plugins. ## Patches 100+: To be Included in Future Upstream %patch100 -p0 -b .gnomeproxy +%patch101 -p0 -b .buddyicon +%patch102 -p0 -b .hasyou +%patch103 -p0 -b .nss # Our preferences cp %{SOURCE1} prefs.xml @@ -502,6 +509,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Sep 16 2008 Stu Tomlinson 2.5.1-3 +- Backport fixes from upstream: + Add "Has You:" back to MSN tooltips + Fix crash during removal of your own buddy icon + Fix crash when handling self signed certificate with NSS SSL + * Tue Sep 16 2008 Stu Tomlinson 2.5.1-2 - Fix a crash with GNOME proxy enabled (#461951)