forked from pool/pidgin
Accepting request 406436 from GNOME:Apps
1 OBS-URL: https://build.opensuse.org/request/show/406436 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pidgin?expand=0&rev=112
This commit is contained in:
parent
4288cd1794
commit
7ce9250471
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2c7523f0fefe89749c03b2b738ab9f7bd186da435be4762f1487eee31e77ffdd
|
||||
size 9837598
|
@ -1,7 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iEYEABECAAYFAlaFud4ACgkQdf4lmqisgDLznQCfWyI2lo7UotafQcwb+7HGbWdV
|
||||
3UAAnRgqfjZ2NRtjMPDaVgJiC31Dyvwx
|
||||
=raka
|
||||
-----END PGP SIGNATURE-----
|
3
pidgin-2.11.0.tar.bz2
Normal file
3
pidgin-2.11.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f72613440586da3bdba6d58e718dce1b2c310adf8946de66d8077823e57b3333
|
||||
size 10037480
|
7
pidgin-2.11.0.tar.bz2.asc
Normal file
7
pidgin-2.11.0.tar.bz2.asc
Normal file
@ -0,0 +1,7 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iEYEABECAAYFAldmMNYACgkQdf4lmqisgDKuxwCgj8Oxj98hSo28GL4oHU3NnEnv
|
||||
S8wAnA+rJ4ivRMGTrUh0UfTlqfYdWsUV
|
||||
=Xj1E
|
||||
-----END PGP SIGNATURE-----
|
@ -1,7 +1,6 @@
|
||||
diff -Naur pidgin-2.10.12.orig/configure.ac pidgin-2.10.12/configure.ac
|
||||
--- pidgin-2.10.12.orig/configure.ac
|
||||
+++ pidgin-2.10.12/configure.ac
|
||||
@@ -2222,6 +2222,20 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2222,6 +2222,20 @@ MSN, Yahoo!, Novell Groupwise and Google
|
||||
fi
|
||||
|
||||
dnl #######################################################################
|
||||
@ -22,30 +21,32 @@ diff -Naur pidgin-2.10.12.orig/configure.ac pidgin-2.10.12/configure.ac
|
||||
dnl # Check for Tcl
|
||||
dnl #######################################################################
|
||||
AC_ARG_ENABLE(tcl, [AC_HELP_STRING([--disable-tcl],
|
||||
diff -Naur pidgin-2.10.12.orig/libpurple/account.c pidgin-2.10.12/libpurple/account.c
|
||||
--- pidgin-2.10.12.orig/libpurple/account.c
|
||||
+++ pidgin-2.10.12/libpurple/account.c
|
||||
@@ -54,6 +54,13 @@
|
||||
--- a/libpurple/account.c
|
||||
+++ b/libpurple/account.c
|
||||
@@ -54,6 +54,16 @@ typedef struct
|
||||
#define PURPLE_ACCOUNT_GET_PRIVATE(account) \
|
||||
((PurpleAccountPrivate *) (account->priv))
|
||||
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+#include <gnome-keyring.h>
|
||||
+
|
||||
+static char * purple_account_get_password_from_keyring (const char *_prpl, const char *_user);
|
||||
+static gboolean purple_account_set_password_in_keyring (const char *_prpl, const char *_user, const char *password);
|
||||
+static char *
|
||||
+purple_account_get_password_from_keyring(const char *_prpl, const char *_user);
|
||||
+static gboolean
|
||||
+purple_account_set_password_in_keyring(const char *_prpl, const char *_user,
|
||||
+ const char *password);
|
||||
+#endif
|
||||
+
|
||||
/* TODO: Should use PurpleValue instead of this? What about "ui"? */
|
||||
typedef struct
|
||||
{
|
||||
@@ -393,8 +400,13 @@
|
||||
@@ -394,8 +404,13 @@ account_to_xmlnode(PurpleAccount *accoun
|
||||
if (purple_account_get_remember_password(account) &&
|
||||
((tmp = purple_account_get_password(account)) != NULL))
|
||||
{
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+ purple_account_set_password_in_keyring( purple_account_get_protocol_id(account),
|
||||
+ purple_account_get_username(account), tmp);
|
||||
+ purple_account_set_password_in_keyring(purple_account_get_protocol_id(account),
|
||||
+ purple_account_get_username(account), tmp);
|
||||
+#else
|
||||
child = xmlnode_new_child(node, "password");
|
||||
xmlnode_insert_data(child, tmp, -1);
|
||||
@ -53,12 +54,32 @@ diff -Naur pidgin-2.10.12.orig/libpurple/account.c pidgin-2.10.12/libpurple/acco
|
||||
} else if (_purple_account_is_password_encrypted(account)) {
|
||||
const char *keyring = NULL;
|
||||
const char *mode = NULL;
|
||||
@@ -909,37 +921,51 @@
|
||||
@@ -903,6 +918,7 @@ parse_account(xmlnode *node)
|
||||
char *protocol_id = NULL;
|
||||
char *name = NULL;
|
||||
char *data;
|
||||
+ gboolean got_pwd = FALSE;
|
||||
|
||||
child = xmlnode_get_child(node, "protocol");
|
||||
if (child != NULL)
|
||||
@@ -927,36 +943,51 @@ parse_account(xmlnode *node)
|
||||
}
|
||||
|
||||
ret = purple_account_new(name, _purple_oscar_convert(name, protocol_id)); /* XXX: */
|
||||
- g_free(name);
|
||||
- g_free(protocol_id);
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+
|
||||
+ /* Read the password from GNOME Keyring */
|
||||
+ data = purple_account_get_password_from_keyring(protocol_id, name);
|
||||
+ if (data)
|
||||
+ {
|
||||
+ got_pwd = TRUE;
|
||||
+ purple_account_set_remember_password(ret, TRUE);
|
||||
+ purple_account_set_password(ret, data);
|
||||
+ g_free(data);
|
||||
+ }
|
||||
+#endif
|
||||
g_free(name);
|
||||
g_free(protocol_id);
|
||||
|
||||
/* Read the password */
|
||||
- child = xmlnode_get_child(node, "password");
|
||||
@ -85,20 +106,8 @@ diff -Naur pidgin-2.10.12.orig/libpurple/account.c pidgin-2.10.12/libpurple/acco
|
||||
- purple_debug_warning("account", "found encrypted password, "
|
||||
- "but it's not supported in 2.x.y\n");
|
||||
- _purple_account_set_encrypted_password(ret, keyring_id, mode, data);
|
||||
- }
|
||||
+ gboolean got_pwd = FALSE;
|
||||
+#ifdef PURPLE_ENABLE_KEYRING
|
||||
+ data = purple_account_get_password_from_keyring(protocol_id, name);
|
||||
+ if (data)
|
||||
+ if (!got_pwd)
|
||||
+ {
|
||||
+ got_pwd = TRUE;
|
||||
+ purple_account_set_remember_password(ret, TRUE);
|
||||
+ purple_account_set_password(ret, data);
|
||||
g_free(data);
|
||||
}
|
||||
+#endif
|
||||
+ if (!got_pwd)
|
||||
+ {
|
||||
+ child = xmlnode_get_child(node, "password");
|
||||
+ if (child != NULL) {
|
||||
+ const char *keyring_id = xmlnode_get_attrib(child, "keyring_id");
|
||||
@ -125,14 +134,12 @@ diff -Naur pidgin-2.10.12.orig/libpurple/account.c pidgin-2.10.12/libpurple/acco
|
||||
+ _purple_account_set_encrypted_password(ret, keyring_id, mode, data);
|
||||
+ }
|
||||
+ g_free(data);
|
||||
+ }
|
||||
+ }
|
||||
+ g_free(name);
|
||||
+ g_free(protocol_id);
|
||||
}
|
||||
- g_free(data);
|
||||
}
|
||||
|
||||
/* Read the alias */
|
||||
child = xmlnode_get_child(node, "alias");
|
||||
@@ -3306,6 +3332,63 @@
|
||||
@@ -3375,6 +3406,64 @@ purple_accounts_uninit(void)
|
||||
purple_signals_unregister_by_instance(handle);
|
||||
}
|
||||
|
||||
@ -140,66 +147,66 @@ diff -Naur pidgin-2.10.12.orig/libpurple/account.c pidgin-2.10.12/libpurple/acco
|
||||
+static char *
|
||||
+purple_account_get_password_from_keyring(const char *_prpl, const char *_user)
|
||||
+{
|
||||
+ GnomeKeyringNetworkPasswordData *found_item;
|
||||
+ GnomeKeyringResult result;
|
||||
+ GList *matches;
|
||||
+ char *password;
|
||||
+ GnomeKeyringNetworkPasswordData *found_item;
|
||||
+ GnomeKeyringResult result;
|
||||
+ GList *matches;
|
||||
+ char *password;
|
||||
+
|
||||
+ matches = NULL;
|
||||
+
|
||||
+ result = gnome_keyring_find_network_password_sync (
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ &matches);
|
||||
+ result = gnome_keyring_find_network_password_sync(
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ &matches);
|
||||
+
|
||||
+ if (result != GNOME_KEYRING_RESULT_OK)
|
||||
+ return NULL;
|
||||
+
|
||||
+ g_assert (matches != NULL && matches->data != NULL);
|
||||
+ g_assert(matches != NULL && matches->data != NULL);
|
||||
+
|
||||
+ found_item = (GnomeKeyringNetworkPasswordData *) matches->data;
|
||||
+
|
||||
+ password = g_strdup (found_item->password);
|
||||
+ password = g_strdup(found_item->password);
|
||||
+
|
||||
+ gnome_keyring_network_password_list_free (matches);
|
||||
+ gnome_keyring_network_password_list_free(matches);
|
||||
+
|
||||
+ return password;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+purple_account_set_password_in_keyring (const char *_prpl, const char *_user, const char *_password)
|
||||
+purple_account_set_password_in_keyring(const char *_prpl, const char *_user,
|
||||
+ const char *_password)
|
||||
+{
|
||||
+ GnomeKeyringResult result;
|
||||
+ guint32 item_id;
|
||||
+ GnomeKeyringResult result;
|
||||
+ guint32 item_id;
|
||||
+
|
||||
+ result = gnome_keyring_set_network_password_sync (
|
||||
+ NULL, /* default keyring */
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ _password, /* password */
|
||||
+ &item_id);
|
||||
+ result = gnome_keyring_set_network_password_sync(
|
||||
+ NULL, /* default keyring */
|
||||
+ _user, /* user */
|
||||
+ NULL, /* domain */
|
||||
+ "gaim.local", /* server */
|
||||
+ NULL, /* object */
|
||||
+ _prpl, /* protocol */
|
||||
+ NULL, /* authtype */
|
||||
+ 1863, /* port */
|
||||
+ _password, /* password */
|
||||
+ &item_id);
|
||||
+
|
||||
+ return result == GNOME_KEYRING_RESULT_OK;
|
||||
+ return (result == GNOME_KEYRING_RESULT_OK);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* libpurple 3.0.0 compatibility */
|
||||
|
||||
static void
|
||||
diff -Naur pidgin-2.10.12.orig/libpurple/Makefile.am pidgin-2.10.12/libpurple/Makefile.am
|
||||
--- pidgin-2.10.12.orig/libpurple/Makefile.am
|
||||
+++ pidgin-2.10.12/libpurple/Makefile.am
|
||||
@@ -309,6 +309,7 @@
|
||||
--- a/libpurple/Makefile.am
|
||||
+++ b/libpurple/Makefile.am
|
||||
@@ -309,6 +309,7 @@ libpurple_la_LIBADD = \
|
||||
$(GLIB_LIBS) \
|
||||
$(LIBXML_LIBS) \
|
||||
$(NETWORKMANAGER_LIBS) \
|
||||
@ -207,7 +214,7 @@ diff -Naur pidgin-2.10.12.orig/libpurple/Makefile.am pidgin-2.10.12/libpurple/Ma
|
||||
$(INTLLIBS) \
|
||||
$(FARSTREAM_LIBS) \
|
||||
$(GSTREAMER_LIBS) \
|
||||
@@ -334,7 +335,8 @@
|
||||
@@ -334,7 +335,8 @@ AM_CPPFLAGS = \
|
||||
$(GSTAPP_CFLAGS) \
|
||||
$(GSTINTERFACES_CFLAGS) \
|
||||
$(IDN_CFLAGS) \
|
||||
|
@ -1,3 +1,56 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 21 12:02:53 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
- Update to version 2.11.0:
|
||||
+ General:
|
||||
- 2.10.12 was accidentally released with new additions to the
|
||||
API and should have been released as 2.11.0. Unfortunately,
|
||||
we did not catch the mistake until after 2.10.12 was released,
|
||||
but we're fixing it now.
|
||||
See ChangeLog.API for more information.
|
||||
- Include the Mozilla certificate bundle. This fixes connecting
|
||||
to servers with certificates from Let's Encrypt.
|
||||
- Remove all 1024-bit CAs.
|
||||
+ libpurple:
|
||||
- media: Fix an issue with ximagesink displaying only a corner
|
||||
cut-out of a larger webcam video.
|
||||
- mediamanager: Update output window destruction so that it
|
||||
reflects recent changes in the media pipeline structure.
|
||||
- Ported Instantbird's CommandUiOps to libpurple.
|
||||
+ Pidgin:
|
||||
- Fix pidgin.im#14962.
|
||||
- Fix alignment of incoming right-to-left messages in protocols
|
||||
that don't support rich text.
|
||||
- Fix a potential crash while exiting Pidgin.
|
||||
+ AIM: Add support for the newer kerberos-based authentication of
|
||||
AIM 8.x.
|
||||
+ ICQ: Stop truncating passwords to 8 characters like old ICQ
|
||||
clients did (pidgin.im#16692).
|
||||
If you actually needed this, truncate your password manually by
|
||||
pressing backspace a few times.
|
||||
+ IRC: Base64-decode SASL messages before passing to libsasl
|
||||
(pidgin.im#16268).
|
||||
+ MXit:
|
||||
- Fix a buffer overflow (TALOS-CAN-0120).
|
||||
- Fix a remote out-of-bounds read (TALOS-CAN-0123, TALOS-CAN-0140).
|
||||
- Fix a remote out-of-band read (TALOS-CAN-0138, TALOS-CAN-0135).
|
||||
- Fix an invalid read (TALOS-CAN-0118).
|
||||
- Fix a remote buffer overflow vulnerability (TALOS-CAN-0119).
|
||||
- Fix a directory traversal issue (TALOS-CAN-0128).
|
||||
- Fix a remote denial of service vulnerability that could result
|
||||
in a null pointer dereference (TALOS-CAN-0133).
|
||||
- Fix a remote denial of service that could result in an
|
||||
out-of-bounds read (TALOS-CAN-0134).
|
||||
- Fix multiple remote buffer overflows (TALOS-CAN-0136).
|
||||
- Fix a remote null pointer dereference (TALOS-CAN-0137).
|
||||
- Fix a remote code execution issue discovered (TALOS-CAN-0142).
|
||||
- Fix a remote denial of service vulnerability in contact mood
|
||||
handling (TALOS-CAN-0141).
|
||||
- Fix a remote out-of-bounds write vulnerability
|
||||
(TALOS-CAN-0139).
|
||||
- Fix a remote out-of-bounds read (TALOS-CAN-0143).
|
||||
- Clean pidgin-gnome-keyring.patch up a bit.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 2 09:45:54 UTC 2016 - sor.alexei@meowr.ru
|
||||
|
||||
|
43
pidgin.spec
43
pidgin.spec
@ -18,7 +18,7 @@
|
||||
|
||||
%define _name Pidgin
|
||||
Name: pidgin
|
||||
Version: 2.10.12
|
||||
Version: 2.11.0
|
||||
Release: 0
|
||||
Summary: Multiprotocol Instant Messaging Client
|
||||
License: GPL-2.0+
|
||||
@ -72,7 +72,7 @@ BuildRequires: tk-devel
|
||||
BuildRequires: update-desktop-files
|
||||
Requires: perl-base >= %{perl_version}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
|
||||
%if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
|
||||
BuildRequires: farstream-devel >= 0.2.7
|
||||
BuildRequires: gstreamer-devel
|
||||
BuildRequires: gstreamer-plugins-base-devel
|
||||
@ -82,7 +82,7 @@ BuildRequires: gstreamer-0_10-devel
|
||||
BuildRequires: gstreamer-0_10-plugins-base-devel
|
||||
Recommends: gstreamer-0_10-plugins-good
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1110
|
||||
%if 0%{?suse_version} < 1120
|
||||
Recommends: %{name}-emoticons-nld
|
||||
Recommends: %{name}-emoticons-tango
|
||||
%endif
|
||||
@ -92,7 +92,7 @@ Recommends: %{name}-emoticons-tango
|
||||
# For openSUSE, it's better to avoid this patch:
|
||||
# + does not work well outside GNOME
|
||||
# - passwords are stored in readable form
|
||||
%if 0%{?suse_version} <= 1110
|
||||
%if 0%{?suse_version} < 1120
|
||||
BuildRequires: gnome-keyring-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1210
|
||||
@ -100,27 +100,21 @@ BuildRequires: libSM-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXScrnSaver-devel
|
||||
BuildRequires: libXext-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1210
|
||||
BuildRequires: mozilla-nss-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1230
|
||||
BuildRequires: ca-certificates-mozilla
|
||||
%else
|
||||
BuildRequires: openssl-certs
|
||||
%endif
|
||||
%if 0%{?suse_version} < 1120
|
||||
# Missing in silc-toolkit-devel.
|
||||
BuildRequires: pam-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1110
|
||||
BuildRequires: translation-update-upstream
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1230
|
||||
Requires: ca-certificates-mozilla
|
||||
%else
|
||||
BuildRequires: openssl-certs
|
||||
Requires: openssl-certs
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildRequires: translation-update-upstream
|
||||
%else
|
||||
# Missing in silc-toolkit-devel.
|
||||
BuildRequires: pam-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
Pidgin is a chat program which lets you log in to accounts on multiple
|
||||
@ -203,7 +197,7 @@ Requires: NetworkManager-glib
|
||||
Requires: glib2-devel
|
||||
Requires: libpurple = %{version}
|
||||
Requires: libxml2-devel
|
||||
Requires: pkg-config
|
||||
Requires: pkgconfig
|
||||
|
||||
%description -n libpurple-devel
|
||||
The libpurple-devel package contains the header files, developer
|
||||
@ -247,7 +241,7 @@ Requires: glib2-devel
|
||||
Requires: glibc-devel
|
||||
Requires: libpurple-devel = %{version}
|
||||
Requires: ncurses-devel
|
||||
Requires: pkg-config
|
||||
Requires: pkgconfig
|
||||
|
||||
%description -n finch-devel
|
||||
The finch-devel package contains the header files, developer
|
||||
@ -256,7 +250,7 @@ and plugins.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%if 0%{?suse_version} > 1110
|
||||
%if 0%{?suse_version} >= 1120
|
||||
translation-update-upstream
|
||||
%endif
|
||||
%patch0 -p1
|
||||
@ -285,14 +279,14 @@ autoreconf -fi
|
||||
--enable-cyrus-sasl \
|
||||
--enable-dbus \
|
||||
--enable-gstreamer \
|
||||
%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
|
||||
%if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120100 && 0%{?is_opensuse})
|
||||
--with-gstreamer=1.0 \
|
||||
--enable-vv \
|
||||
%else
|
||||
--with-gstreamer=0.10 \
|
||||
--disable-vv \
|
||||
%endif
|
||||
%if 0%{?suse_version} <= 1110
|
||||
%if 0%{?suse_version} < 1120
|
||||
--enable-gnome-keyring \
|
||||
%endif
|
||||
--enable-nm \
|
||||
@ -363,13 +357,13 @@ find %{buildroot}%{_libdir}/finch/ -maxdepth 1 -xtype f -print | \
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/sounds/purple/
|
||||
%{_mandir}/man1/%{name}.*
|
||||
%{_mandir}/man1/%{name}.1%{?ext_man}
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/%{name}
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_mandir}/man3/%{_name}.*
|
||||
%{_mandir}/man3/%{_name}.3*%{?ext_man}
|
||||
|
||||
%files -n libpurple -f %{name}-%{version}-purpleplugins
|
||||
%defattr(-,root,root)
|
||||
@ -379,7 +373,6 @@ find %{buildroot}%{_libdir}/finch/ -maxdepth 1 -xtype f -print | \
|
||||
%{_bindir}/purple-send
|
||||
%{_bindir}/purple-send-async
|
||||
%{_bindir}/purple-url-handler
|
||||
%{_datadir}/purple/
|
||||
%{_libdir}/libpurple.so.*
|
||||
%{_libdir}/libpurple-client.so.*
|
||||
%dir %{_libdir}/purple-2/
|
||||
|
Loading…
Reference in New Issue
Block a user