From 433b24cfe2f9536fe13504fac5387ab5e300c2b8 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 30 2018 06:17:08 +0000 Subject: import empathy-3.12.13-1.el7 --- diff --git a/.empathy.metadata b/.empathy.metadata new file mode 100644 index 0000000..f242029 --- /dev/null +++ b/.empathy.metadata @@ -0,0 +1 @@ +312f942c38ac8d3582b04e2a07641dfb9278259a SOURCES/empathy-3.12.13.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..643e349 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/empathy-3.12.13.tar.xz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/0001-help-Remove-IRC-content.patch b/SOURCES/0001-help-Remove-IRC-content.patch new file mode 100644 index 0000000..8293e14 --- /dev/null +++ b/SOURCES/0001-help-Remove-IRC-content.patch @@ -0,0 +1,877 @@ +From 88983cdb2d67b3227af0aac4b789daa6a9db59d3 Mon Sep 17 00:00:00 2001 +From: Petr Kovar +Date: Fri, 10 Apr 2015 18:43:10 +0200 +Subject: [PATCH] help: Remove IRC content + +--- + help/C/account-irc.page | 162 ------------------------------------- + help/C/accounts-window.page | 1 - + help/C/audio-video.page | 5 -- + help/C/create-account.page | 19 ----- + help/C/favorite-rooms.page | 8 -- + help/C/irc-commands.page | 28 ------- + help/C/irc-join-pwd.page | 45 ----------- + help/C/irc-join-room.page | 68 ---------------- + help/C/irc-manage.page | 67 --------------- + help/C/irc-nick-password.page | 73 ----------------- + help/C/irc-send-file.page | 35 -------- + help/C/irc-start-conversation.page | 60 -------------- + help/C/overview.page | 11 --- + help/C/prob-conn-name.page | 71 ---------------- + help/C/prob-conn-neterror.page | 18 ----- + help/Makefile.am | 9 --- + 16 files changed, 680 deletions(-) + delete mode 100644 help/C/account-irc.page + delete mode 100644 help/C/irc-commands.page + delete mode 100644 help/C/irc-join-pwd.page + delete mode 100644 help/C/irc-join-room.page + delete mode 100644 help/C/irc-manage.page + delete mode 100644 help/C/irc-nick-password.page + delete mode 100644 help/C/irc-send-file.page + delete mode 100644 help/C/irc-start-conversation.page + delete mode 100644 help/C/prob-conn-name.page + +diff --git a/help/C/account-irc.page b/help/C/account-irc.page +deleted file mode 100644 +index 4b4b927..0000000 +--- a/help/C/account-irc.page ++++ /dev/null +@@ -1,162 +0,0 @@ +- +- +- +- +- Additional information necessary for connecting to IRC networks. +- +- +- +- +- +- Shaun McCance +- shaunm@gnome.org +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- IRC account details +- +-

IRC accounts require different information than many other types of +- accounts. To create an IRC account, you must specify at least an IRC +- network and a nickname. This page details the information you can +- provide for an IRC account.

+- +- +-

You must have the telepathy-idle package installed to use IRC +- in Empathy.

+-
+- +- +- +- <gui>Network</gui> +-

IRC is an open system that allows people to run separate IRC +- networks. Each network is distinct and has its own users and +- chat rooms. Empathy lists the most popular networks +- in the Network drop-down list. You can add additional +- networks. See below.

+-
+- +- <gui>Nickname</gui> +-

Your nickname is your unique name on the IRC network. Only one +- person on a network may use a given nickname. If you get an error +- message that says +- you will need to change your nickname.

+-
+- +- <gui>Password</gui> +-

Some servers, particularly those on private networks, require +- a password to connect. If you are authorized to use the network, +- the network administrators should provide you with a password.

+- +- NickServ Passwords +-

On some networks, nicknames can be registered using a service +- known as NickServ. Empathy does not directly support +- nickname passwords. On some networks, including the popular +- freenode network, server passwords are automatically forwarded +- to NickServ, allowing you to set this field to identify yourself +- with NickServ. See for more +- details.

+-
+-
+- +- <gui>Real name</gui> +-

You can provide your real name in addition to your nickname. Other +- users will be able to see this when they view your information.

+-
+- +- <gui>Quit message</gui> +-

When you go offline, a quit message is sent to all the chat rooms +- you’re in and to all the users you’re having a private conversation +- with. Use this field to provide a custom quit message.

+-
+-
+- +- +- +-
+- +- IRC Networks +- +- +- Networks +- +-

Empathy includes a list of popular IRC networks. If you +- wish to another IRC network, you can add it to the list. You can also +- modify networks and remove them from the list.

+- +- +-

To add a network to the list, click Add.

+-

To modify a network in the list, select the network and click +- Edit.

+-

To remove a network from the list, select the network and +- click Remove.

+-
+- +-

When adding or modifying a network, you can enter the following +- information:

+- +- +- +- <gui>Network</gui> +-

This is the name of the network as you want it to appear in +- the list of networks.

+-
+- +- <gui>Charset</gui> +-

This specifies the character encoding that is typically used on +- this network. A character encoding is a specific way of recording +- characters internally in a computer. There are many character +- encodings, and you need to use the same character encoding as other +- users to see their messages correctly.

+- +-

By default, Empathy uses UTF-8, a modern character +- encoding that can handle text from most of the world's languages. +- Another common encoding for English and some other Western languages +- is ISO-8859-1.

+-
+- +- <gui>Servers</gui> +-

An IRC network may have many servers you can connect to. When +- you are connected to a server on a particular network, you can +- communicate with all users on all other servers on that network. +- You can add and remove servers for this network using the +- Add and Remove buttons.

+-

When a server is selected, click the field under Server +- or Port to edit it. Alternatively, use the left and right +- arrow keys to focus the field, and press the space bar to begin +- editing.

+-

Select the check box in the SSL column to encrypt +- all communication with a server. Note that this does not prevent +- other users on the network from seeing what you write on public +- chat rooms.

+-
+-
+-
+-
+diff --git a/help/C/accounts-window.page b/help/C/accounts-window.page +index c8839ba..e96fa85 100644 +--- a/help/C/accounts-window.page ++++ b/help/C/accounts-window.page +@@ -37,7 +37,6 @@ +
+ + +- + + Account Details +

For most types of accounts, you can simply enter a login ID and +diff --git a/help/C/audio-video.page b/help/C/audio-video.page +index e0819ce..ecbb607 100644 +--- a/help/C/audio-video.page ++++ b/help/C/audio-video.page +@@ -103,11 +103,6 @@ +

No

+ + +-

IRC

+-

No

+-

No

+- +- +

Jabber

+

Yes

+

Yes

+diff --git a/help/C/create-account.page b/help/C/create-account.page +index b68b0d4..62e0eb9 100644 +--- a/help/C/create-account.page ++++ b/help/C/create-account.page +@@ -45,25 +45,6 @@ + login or a username and a password, as well as any additional information you + need to connect using Empathy.

+ +-
+- IRC +- +-

IRC networks require that you specify a nick (nickname) when you connect +- to the server. Some IRC networks use a service, such as NickServ, to allow +- users to protect their nick. If you +- did not register your nick or are unable to do so and another user is using +- it, then you will need to choose a different one.

+- +-

Some IRC servers are password protected. You will need to know the +- password to connect to these servers. Generally, these are private IRC +- networks.

+- +- +-

Many GNOME projects use irc.gnome.org for project-related +- discussion.

+-
+-
+- +
+ Jabber + +diff --git a/help/C/favorite-rooms.page b/help/C/favorite-rooms.page +index 6c14d17..fc1b32b 100644 +--- a/help/C/favorite-rooms.page ++++ b/help/C/favorite-rooms.page +@@ -4,8 +4,6 @@ + + + +- +- + + Set, join and manage favorite rooms. + +@@ -38,12 +36,6 @@ + + +

+- See for more information on how to join +- an IRC room. +-

+-
+- +-

+ See for more information on how to + start or join a group conversation. +

+diff --git a/help/C/irc-commands.page b/help/C/irc-commands.page +deleted file mode 100644 +index 8bf07dc..0000000 +--- a/help/C/irc-commands.page ++++ /dev/null +@@ -1,28 +0,0 @@ +- +- +- +- +- The supported IRC commands. +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+-
+- +- Supported IRC commands +-

+- To see the list of the supported IRC commands, in a chat room type /help +- and press Enter. +-

+- +-

+- All commands available have a small description on their usage. +-

+-
+-
+diff --git a/help/C/irc-join-pwd.page b/help/C/irc-join-pwd.page +deleted file mode 100644 +index f883094..0000000 +--- a/help/C/irc-join-pwd.page ++++ /dev/null +@@ -1,45 +0,0 @@ +- +- +- +- +- +- Enter password-protected IRC chat rooms. +- +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+-
+- +- Join a protected IRC chat room +- +-

+- On some IRC networks, private IRC rooms may be protected with a password. +- If you know the password, use the following steps to join: +-

+- +- +-

+- Join the room as normal. +-

+-
+- +-

+- Empathy will prompt you for a password. Enter the password for the +- IRC chat room and click Join. +-

+-
+-
+- +-
+diff --git a/help/C/irc-join-room.page b/help/C/irc-join-room.page +deleted file mode 100644 +index 8a3a74d..0000000 +--- a/help/C/irc-join-room.page ++++ /dev/null +@@ -1,68 +0,0 @@ +- +- +- +- +- Join an IRC channel. +- +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- Join an IRC chat room +- +-

You can join IRC chat rooms (also known as IRC channels) on any IRC network you’re +- connected to. To connect to an IRC network, see and +- .

+- +- +- +-

+- From the Contact List window, choose +- RoomJoin. +-

+-
+- +-

+- From the Account drop-down list, select the IRC account that +- corresponds to the network you want to use. +-

+-
+- +-

+- In the Room text box, type the name of the channel you want to +- join. IRC channel names start with the hash character (#). +-

+-
+- +-

+- Click Join to enter the room. +-

+-
+-
+- +- +-

+- To join multiple rooms, you need to repeat the steps above for each room. +-

+-
+-
+diff --git a/help/C/irc-manage.page b/help/C/irc-manage.page +deleted file mode 100644 +index 78fef02..0000000 +--- a/help/C/irc-manage.page ++++ /dev/null +@@ -1,67 +0,0 @@ +- +- +- +- +- How to use IRC with Empathy. +- +- +- +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +- Sindhu S +- sindhus@live.in +- +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- Internet Relay Chat (IRC) +- +- +-

You must have the telepathy-idle package installed to use IRC +- in Empathy.

+- +- +- +-

+- Install telepathy-idle

+-
+-
+-
+- +-
+- +- IRC Chat Rooms and Conversations +- +- Chat Rooms and Conversations +-
+- +-
+- +- Common IRC Problems +- +- Common Problems +-
+- +-
+\ No newline at end of file +diff --git a/help/C/irc-nick-password.page b/help/C/irc-nick-password.page +deleted file mode 100644 +index 0e371ae..0000000 +--- a/help/C/irc-nick-password.page ++++ /dev/null +@@ -1,73 +0,0 @@ +- +- +- +- +- +- +- Protect your nickname to prevent other IRC users from using it. +- +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- Use a nickname password on IRC +- +-

On some IRC networks, you can register your nickname with a service called +- NickServ. By sending special messages to NickServ, you can set your password +- and identify yourself. Some IRC chat rooms may not allow you to join without +- a registered nickname.

+- +-

Empathy does not currently support nickname registration. Some +- IRC networks, however, will automatically forward a server password to +- NickServ. On these networks, you can use the IRC password in Empathy +- to identify yourself to NickServ. The popular freenode network is known to have +- this feature.

+- +-

To set an IRC server password:

+- +- +- +-

From the Contact List window, choose Edit +- Accounts, or press F4.

+-
+- +-

Select the IRC account from the list on the left of the dialog.

+-
+- +-

+- In the Password field, type the password you used to register +- your nikcname. +-

+-
+- +-

Click Apply.

+-
+-
+- +- +- +-

These instructions only allow you to use a password-protected nickname +- on certain IRC networks. It is not currently possible to register an IRC +- nickname or change your nickname password using Empathy.

+-
+-
+diff --git a/help/C/irc-send-file.page b/help/C/irc-send-file.page +deleted file mode 100644 +index 4decfba..0000000 +--- a/help/C/irc-send-file.page ++++ /dev/null +@@ -1,35 +0,0 @@ +- +- +- +- +- +- Empathy does not currently support sending files using IRC. +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- Send files over IRC +- +-

It is not currently possible to send files using IRC.

+- +-
+diff --git a/help/C/irc-start-conversation.page b/help/C/irc-start-conversation.page +deleted file mode 100644 +index ad51ca5..0000000 +--- a/help/C/irc-start-conversation.page ++++ /dev/null +@@ -1,60 +0,0 @@ +- +- +- +- +- Start a conversation with an IRC contact. +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- Chat with somebody on IRC +- +-

You can hold private conversations with other IRC users, outside of the +- public IRC chat rooms. To start a conversation with another IRC user:

+- +- +- +-

In the contact list for an IRC chat room, double click the name of +- the user you want to chat with. Alternatively, right click the name +- of the user and choose Chat.

+-
+-
+- +- +- +-

+- The IRC room contact list is not the same as Empathy contact list. It contains +- a list of users in the IRC chat room you joined. Different rooms can have different +- contacts listed. +-

+-
+- +-

+- The IRC room contact list is usually on the right side of the IRC room window. If you +- do not see it, choose +- ConversationShow Contact List. +-

+-
+-
+- +-
+diff --git a/help/C/overview.page b/help/C/overview.page +index 2ce72a9..9ebe9b4 100644 +--- a/help/C/overview.page ++++ b/help/C/overview.page +@@ -46,15 +46,4 @@ + + + +-

+- Some instant messaging applications can be used to connect to chat rooms, +- online places where like-minded people meet to talk. One popular means to +- connect to several chat rooms is the Internet Relay Chat, also known as +- IRC. IRC provides +- public chat rooms, which are open to +- anyone who creates an account on the IRC Server, and private chat rooms, +- which are password protected +- and open only to a select few. +-

+- + +diff --git a/help/C/prob-conn-name.page b/help/C/prob-conn-name.page +deleted file mode 100644 +index f3bdefd..0000000 +--- a/help/C/prob-conn-name.page ++++ /dev/null +@@ -1,71 +0,0 @@ +- +- +- +- +- +- +- “Name in use” +- +- An error message which says “Name in use” appears in the main window. +- +- +- +- +- +- +- Milo Casagrande +- milo@ubuntu.com +- +- +-

Creative Commons Share Alike 3.0

+-
+- +-
+- +- I get a message that says “Name in use” +- +-

+- This kind of error happens when you try to connect to your IRC account and +- you are using a nickname that is already being used by someone else on that particular +- network. +-

+- +- +- +-

Click the edit +- icon in the error message.

+-
+- +- +- +-

+- In the Nickname text box, type a new nickname. +-

+-
+- +-

+- If you have registered that nickname within the network you are using, +- set the password for that nickname. For more information, +- see . +-

+-
+-
+-
+- +-

+- Switch the account off, and then switch it on to try to reconnect to the +- service. +-

+-
+-
+- +-
+diff --git a/help/C/prob-conn-neterror.page b/help/C/prob-conn-neterror.page +index 146c0eb..3a83042 100644 +--- a/help/C/prob-conn-neterror.page ++++ b/help/C/prob-conn-neterror.page +@@ -34,20 +34,10 @@ + + I get a message that says “Network error” + +- +- shaunm +-

Empathy no longer allows you to create an IRC account without a valid +- nick. I've removed the guide link. Remove the text.

+-
+- +

+ This kind of error happens when Empathy cannot communicate + with the instant messaging service for some reason. +

+-

+- Also, this kind of error happens when you try to use an IRC account without +- setting a nickname. +-

+ + + +@@ -65,14 +55,6 @@ + You should be able to find these details from the website of the messaging + service. +

+- +
+ +

+diff --git a/help/Makefile.am b/help/Makefile.am +index 4cee88d..4d73997 100644 +--- a/help/Makefile.am ++++ b/help/Makefile.am +@@ -16,7 +16,6 @@ HELP_MEDIA = \ + figures/video_overview.png + + HELP_FILES = \ +- account-irc.page \ + account-jabber.page \ + accounts-window.page \ + add-account.page \ +@@ -38,20 +37,12 @@ HELP_FILES = \ + import-account.page \ + index.page \ + introduction.page \ +- irc-commands.page \ +- irc-join-pwd.page \ +- irc-join-room.page \ +- irc-manage.page \ +- irc-nick-password.page \ +- irc-send-file.page \ +- irc-start-conversation.page \ + license.page \ + link-contacts.page \ + overview.page \ + prev-conv.page \ + prob-conn-acctdisabled.page \ + prob-conn-auth.page \ +- prob-conn-name.page \ + prob-conn-neterror.page \ + prob-conn.page \ + remove-account.page \ +-- +2.1.0 + diff --git a/SOURCES/empathy-README.ConnectionManagers b/SOURCES/empathy-README.ConnectionManagers new file mode 100644 index 0000000..44a05bb --- /dev/null +++ b/SOURCES/empathy-README.ConnectionManagers @@ -0,0 +1,16 @@ +Empathy is a client built on the Telepathy messaging framework. However, +without a proper backend (connection manager) installed, it is essentially +useless. + +XMPP, as a standardized and unencumbered protocol, is supported through the +telepathy-gabble (Jabber and GoogleTalk) and telepathy-salut (link-local) +connection managers. + +MSN support is now handled by telepathy-gabble. Refer to: +http://blogs.gnome.org/xclaesse/2011/11/03/msn-in-empathy-with-xmpp/ + +Support for AIM/ICQ, Gadu-Gadu, Groupwise, QQ, and Yahoo! are all provided +by telepathy-haze. + +If you think the Empathy package should require additional connection managers, +please report on bugzilla.redhat.com. diff --git a/SOURCES/empathy-fix-certificate-validation.patch b/SOURCES/empathy-fix-certificate-validation.patch new file mode 100644 index 0000000..2302d94 --- /dev/null +++ b/SOURCES/empathy-fix-certificate-validation.patch @@ -0,0 +1,1042 @@ +From 7712a50a4c3dfecda6b6401ba5a9dff52a583ecb Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Wed, 15 Mar 2017 20:23:43 +0100 +Subject: [PATCH 1/5] tls-verifier: Handle GNUTLS_CERT_REVOKED + +... by mapping it to TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED. + +https://bugzilla.gnome.org/show_bug.cgi?id=780160 +--- + libempathy/empathy-tls-verifier.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libempathy/empathy-tls-verifier.c b/libempathy/empathy-tls-verifier.c +index fcbc559b3f97..8f80b4372de1 100644 +--- a/libempathy/empathy-tls-verifier.c ++++ b/libempathy/empathy-tls-verifier.c +@@ -98,6 +98,8 @@ verification_output_to_reason (gint res, + *reason = TP_TLS_CERTIFICATE_REJECT_REASON_NOT_ACTIVATED; + else if (verify_output & GNUTLS_CERT_EXPIRED) + *reason = TP_TLS_CERTIFICATE_REJECT_REASON_EXPIRED; ++ else if (verify_output & GNUTLS_CERT_REVOKED) ++ *reason = TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED; + else + *reason = TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN; + +-- +2.14.4 + + +From 8c5dc77f406308b77b4a6c7274ff8096091267a6 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 20 Mar 2017 19:20:11 +0100 +Subject: [PATCH 2/5] tests: Fix comment + +The existing comment was mistakenly copied from +test_certificate_verify_success_with_full_chain. + +This test case is about a certificate that has been pinned against a +specific peer. The mock TLS connection doesn't have the full chain, +but just the leaf-level certificate that has been pinned. + +https://bugzilla.gnome.org/show_bug.cgi?id=780160 +--- + tests/empathy-tls-test.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/empathy-tls-test.c b/tests/empathy-tls-test.c +index 91b05761f9b9..0752e1b328c5 100644 +--- a/tests/empathy-tls-test.c ++++ b/tests/empathy-tls-test.c +@@ -654,8 +654,8 @@ test_certificate_verify_success_with_pinned (Test *test, + }; + + /* +- * In this test the mock TLS connection has a full certificate +- * chain. We look for an anchor certificate in the chain. ++ * In this test the mock TLS connection has a certificate that has ++ * been pinned for the test-server.empathy.gnome.org peer. + */ + + test->mock = mock_tls_certificate_new_and_register (test->dbus, +-- +2.14.4 + + +From 6fe06a78a7538cefa2333b180d58b330325796ab Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 20 Mar 2017 19:31:39 +0100 +Subject: [PATCH 3/5] tests: Actually test that hostnames of pinned + certificates are verified + +This test case is about ensuring that a pinned certificate won't be +validated if the wrong hostname is used. + +If we don't add the pinned certificate to our database, then checks for +pinning are going to fail regardless of the hostname being used. The +correct certificate-hostname pair needs to be in the database to ensure +that the hostnames are being matched as advertised. + +https://bugzilla.gnome.org/show_bug.cgi?id=780160 +--- + tests/empathy-tls-test.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tests/empathy-tls-test.c b/tests/empathy-tls-test.c +index 0752e1b328c5..422909e7cc2a 100644 +--- a/tests/empathy-tls-test.c ++++ b/tests/empathy-tls-test.c +@@ -695,7 +695,8 @@ test_certificate_verify_pinned_wrong_host (Test *test, + test->mock = mock_tls_certificate_new_and_register (test->dbus, + "server-cert.cer", NULL); + +- /* Note that we're not adding any place to find root certs */ ++ /* We add the collabora directory with the collabora root */ ++ add_certificate_to_mock (test, "server-cert.cer", "test-server.empathy.gnome.org"); + + ensure_certificate_proxy (test); + +-- +2.14.4 + + +From f07492434449bcdd74a61aa74596884ef5700d88 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Wed, 15 Mar 2017 20:24:08 +0100 +Subject: [PATCH 4/5] tls-verifier: Use GIO to verify the chain of TLS + certificates + +Gcr has its own hand rolled code to complete the certificate chain and +validate it, which predates the equivalent functionality in GIO. These +days, GIO's GnuTLS backend is a better option because it defers to +GnuTLS to do the right thing. It benefits automatically from any +improvements made to GnuTLS itself. + +However, GIO doesn't support certificate pinning. Gcr continues to +provide that feature. + +Note: + +(a) We don't set "certificate-hostname" when we encounter +TP_TLS_CERTIFICATE_REJECT_REASON_HOSTNAME_MISMATCH. The resulting loss +of verbosity in EmpathyTLSDialog is balanced by no longer relying on a +specific encryption library. + +(b) glib-networking doesn't differentiate between +GNUTLS_CERT_SIGNER_NOT_FOUND and GNUTLS_CERT_SIGNER_NOT_CA. Hence, we +club them together as TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED and we +no longer return TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED. + +(c) Unlike Gcr, GnuTLS doesn't seem to provide a way to load a PKCS#11 +module that's built into the code, as opposed to being a shared object. +This makes it hard for us to load our mock PKCS#11 module. Therefore, +we have disabled the test case that relies on using PKCS#11 storage to +complete the certificate chain. + +Bump required GLib version to 2.48. We really do need 2.48 because we +rely on the improvements to GIO's GnuTLS backend. + +https://bugzilla.gnome.org/show_bug.cgi?id=780160 +--- + configure.ac | 6 +- + libempathy/empathy-tls-verifier.c | 419 ++++++++++++++++++-------------------- + libempathy/empathy-tls-verifier.h | 3 + + tests/empathy-tls-test.c | 35 +++- + 4 files changed, 232 insertions(+), 231 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a427eba3af56..cd6f371de799 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,9 +37,9 @@ AC_COPYRIGHT([ + FOLKS_REQUIRED=0.9.5 + GNUTLS_REQUIRED=2.8.5 + +-GLIB_REQUIRED=2.37.6 +-AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_30, [Ignore post 2.30 deprecations]) +-AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_38, [Prevent post 2.38 APIs]) ++GLIB_REQUIRED=2.48.0 ++AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_48, [Ignore post 2.48 deprecations]) ++AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_48, [Prevent post 2.48 APIs]) + + GTK_REQUIRED=3.9.4 + AC_DEFINE(GDK_VERSION_MIN_REQUIRED, GDK_VERSION_3_8, [Ignore post 3.8 deprecations]) +diff --git a/libempathy/empathy-tls-verifier.c b/libempathy/empathy-tls-verifier.c +index 8f80b4372de1..a8306bb569ea 100644 +--- a/libempathy/empathy-tls-verifier.c ++++ b/libempathy/empathy-tls-verifier.c +@@ -1,7 +1,9 @@ + /* + * empathy-tls-verifier.c - Source for EmpathyTLSVerifier + * Copyright (C) 2010 Collabora Ltd. ++ * Copyright (C) 2017 Red Hat, Inc. + * @author Cosimo Cecchi ++ * @author Debarshi Ray + * @author Stef Walter + * + * This library is free software; you can redistribute it and/or +@@ -43,6 +45,8 @@ enum { + }; + + typedef struct { ++ GTlsCertificate *g_certificate; ++ GTlsDatabase *database; + TpTLSCertificate *certificate; + gchar *hostname; + gchar **reference_identities; +@@ -53,135 +57,86 @@ typedef struct { + gboolean dispose_run; + } EmpathyTLSVerifierPriv; + +-static gboolean +-verification_output_to_reason (gint res, +- guint verify_output, +- TpTLSCertificateRejectReason *reason) ++static GTlsCertificate * ++tls_certificate_new_from_der (GPtrArray *data, GError **error) + { +- gboolean retval = TRUE; ++ GTlsBackend *tls_backend; ++ GTlsCertificate *cert = NULL; ++ GTlsCertificate *issuer = NULL; ++ GTlsCertificate *retval = NULL; ++ GType tls_certificate_type; ++ gint i; + +- g_assert (reason != NULL); ++ g_return_val_if_fail (error == NULL || *error == NULL, NULL); + +- if (res != GNUTLS_E_SUCCESS) +- { +- retval = FALSE; ++ tls_backend = g_tls_backend_get_default (); ++ tls_certificate_type = g_tls_backend_get_certificate_type (tls_backend); + +- /* the certificate is not structurally valid */ +- switch (res) +- { +- case GNUTLS_E_INSUFFICIENT_CREDENTIALS: +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED; +- break; +- case GNUTLS_E_CONSTRAINT_ERROR: +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_LIMIT_EXCEEDED; +- break; +- default: +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN; +- break; +- } +- +- goto out; ++ for (i = (gint) data->len - 1; i >= 0; --i) ++ { ++ GArray *cert_data; ++ ++ cert_data = g_ptr_array_index (data, i); ++ cert = g_initable_new (tls_certificate_type, ++ NULL, ++ error, ++ "certificate", (GByteArray *) cert_data, ++ "issuer", issuer, ++ NULL); ++ ++ if (cert == NULL) ++ goto out; ++ ++ g_clear_object (&issuer); ++ issuer = g_object_ref (cert); ++ g_clear_object (&cert); + } + +- /* the certificate is structurally valid, check for other errors. */ +- if (verify_output & GNUTLS_CERT_INVALID) +- { +- retval = FALSE; +- +- if (verify_output & GNUTLS_CERT_SIGNER_NOT_FOUND) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED; +- else if (verify_output & GNUTLS_CERT_SIGNER_NOT_CA) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED; +- else if (verify_output & GNUTLS_CERT_INSECURE_ALGORITHM) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_INSECURE; +- else if (verify_output & GNUTLS_CERT_NOT_ACTIVATED) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_NOT_ACTIVATED; +- else if (verify_output & GNUTLS_CERT_EXPIRED) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_EXPIRED; +- else if (verify_output & GNUTLS_CERT_REVOKED) +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED; +- else +- *reason = TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN; ++ g_assert_null (cert); ++ g_assert_true (G_IS_TLS_CERTIFICATE (issuer)); + +- goto out; +- } ++ retval = g_object_ref (issuer); + + out: ++ g_clear_object (&cert); ++ g_clear_object (&issuer); + return retval; + } + +-static void +-build_certificate_list_for_gnutls (GcrCertificateChain *chain, +- gnutls_x509_crt_t **list, +- guint *n_list, +- gnutls_x509_crt_t **anchors, +- guint *n_anchors) ++static TpTLSCertificateRejectReason ++verification_output_to_reason (GTlsCertificateFlags flags) + { +- GcrCertificate *cert; +- guint idx, length; +- gnutls_x509_crt_t *retval; +- gnutls_x509_crt_t gcert; +- gnutls_datum_t datum; +- gsize n_data; +- +- g_assert (list); +- g_assert (n_list); +- g_assert (anchors); +- g_assert (n_anchors); ++ TpTLSCertificateRejectReason retval; + +- *list = *anchors = NULL; +- *n_list = *n_anchors = 0; ++ g_assert (flags != 0); + +- length = gcr_certificate_chain_get_length (chain); +- retval = g_malloc0 (sizeof (gnutls_x509_crt_t) * length); +- +- /* Convert the main body of the chain to gnutls */ +- for (idx = 0; idx < length; ++idx) +- { +- cert = gcr_certificate_chain_get_certificate (chain, idx); +- datum.data = (gpointer)gcr_certificate_get_der_data (cert, &n_data); +- datum.size = n_data; +- +- gnutls_x509_crt_init (&gcert); +- if (gnutls_x509_crt_import (gcert, &datum, GNUTLS_X509_FMT_DER) < 0) +- g_return_if_reached (); +- +- retval[idx] = gcert; +- } +- +- *list = retval; +- *n_list = length; +- +- /* See if we have an anchor */ +- if (gcr_certificate_chain_get_status (chain) == +- GCR_CERTIFICATE_CHAIN_ANCHORED) ++ switch (flags) + { +- cert = gcr_certificate_chain_get_anchor (chain); +- g_return_if_fail (cert); +- +- datum.data = (gpointer)gcr_certificate_get_der_data (cert, &n_data); +- datum.size = n_data; +- +- gnutls_x509_crt_init (&gcert); +- if (gnutls_x509_crt_import (gcert, &datum, GNUTLS_X509_FMT_DER) < 0) +- g_return_if_reached (); +- +- retval = g_malloc0 (sizeof (gnutls_x509_crt_t) * 1); +- retval[0] = gcert; +- *anchors = retval; +- *n_anchors = 1; ++ case G_TLS_CERTIFICATE_UNKNOWN_CA: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED; ++ break; ++ case G_TLS_CERTIFICATE_BAD_IDENTITY: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_HOSTNAME_MISMATCH; ++ break; ++ case G_TLS_CERTIFICATE_NOT_ACTIVATED: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_NOT_ACTIVATED; ++ break; ++ case G_TLS_CERTIFICATE_EXPIRED: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_EXPIRED; ++ break; ++ case G_TLS_CERTIFICATE_REVOKED: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_REVOKED; ++ break; ++ case G_TLS_CERTIFICATE_INSECURE: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_INSECURE; ++ break; ++ case G_TLS_CERTIFICATE_GENERIC_ERROR: ++ default: ++ retval = TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN; ++ break; + } +-} + +-static void +-free_certificate_list_for_gnutls (gnutls_x509_crt_t *list, +- guint n_list) +-{ +- guint idx; +- +- for (idx = 0; idx < n_list; idx++) +- gnutls_x509_crt_deinit (list[idx]); +- g_free (list); ++ return retval; + } + + static void +@@ -193,6 +148,7 @@ complete_verification (EmpathyTLSVerifier *self) + + g_simple_async_result_complete_in_idle (priv->verify_result); + ++ g_clear_object (&priv->g_certificate); + tp_clear_object (&priv->verify_result); + } + +@@ -209,6 +165,7 @@ abort_verification (EmpathyTLSVerifier *self, + reason); + g_simple_async_result_complete_in_idle (priv->verify_result); + ++ g_clear_object (&priv->g_certificate); + tp_clear_object (&priv->verify_result); + } + +@@ -221,142 +178,137 @@ debug_certificate (GcrCertificate *cert) + } + + static void +-debug_certificate_chain (GcrCertificateChain *chain) ++verify_chain_cb (GObject *object, ++ GAsyncResult *res, ++ gpointer user_data) + { +- GEnumClass *enum_class; +- GEnumValue *enum_value; +- gint idx, length; +- GcrCertificate *cert; +- +- enum_class = G_ENUM_CLASS +- (g_type_class_peek (GCR_TYPE_CERTIFICATE_CHAIN_STATUS)); +- enum_value = g_enum_get_value (enum_class, +- gcr_certificate_chain_get_status (chain)); +- length = gcr_certificate_chain_get_length (chain); +- DEBUG ("Certificate chain: length %u status %s", +- length, enum_value ? enum_value->value_nick : "XXX"); +- +- for (idx = 0; idx < length; ++idx) +- { +- cert = gcr_certificate_chain_get_certificate (chain, idx); +- debug_certificate (cert); +- } +-} ++ GError *error = NULL; + +-static void +-perform_verification (EmpathyTLSVerifier *self, +- GcrCertificateChain *chain) +-{ +- gboolean ret = FALSE; +- TpTLSCertificateRejectReason reason = +- TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN; +- gnutls_x509_crt_t *list, *anchors; +- guint n_list, n_anchors; +- guint verify_output; +- gint res; ++ GTlsCertificateFlags flags; ++ GTlsDatabase *tls_database = G_TLS_DATABASE (object); + gint i; +- gboolean matched = FALSE; ++ EmpathyTLSVerifier *self = EMPATHY_TLS_VERIFIER (user_data); + EmpathyTLSVerifierPriv *priv = GET_PRIV (self); + +- DEBUG ("Performing verification"); +- debug_certificate_chain (chain); +- +- list = anchors = NULL; +- n_list = n_anchors = 0; +- +- /* +- * If the first certificate is an pinned certificate then we completely +- * ignore the rest of the verification process. ++ /* FIXME: g_tls_database_verify_chain doesn't set the GError if the ++ * certificate chain couldn't be verified. See: ++ * https://bugzilla.gnome.org/show_bug.cgi?id=780310 + */ +- if (gcr_certificate_chain_get_status (chain) == GCR_CERTIFICATE_CHAIN_PINNED) ++ flags = g_tls_database_verify_chain_finish (tls_database, res, &error); ++ if (flags != 0) + { +- DEBUG ("Found pinned certificate for %s", priv->hostname); +- complete_verification (self); +- goto out; +- } +- +- build_certificate_list_for_gnutls (chain, &list, &n_list, +- &anchors, &n_anchors); +- if (list == NULL || n_list == 0) { +- g_warn_if_reached (); +- abort_verification (self, TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN); +- goto out; +- } ++ TpTLSCertificateRejectReason reason; + +- verify_output = 0; +- res = gnutls_x509_crt_list_verify (list, n_list, anchors, n_anchors, +- NULL, 0, 0, &verify_output); +- ret = verification_output_to_reason (res, verify_output, &reason); ++ /* We don't pass the identity to g_tls_database_verify. */ ++ g_assert_false (flags & G_TLS_CERTIFICATE_BAD_IDENTITY); + +- DEBUG ("Certificate verification gave result %d with reason %u", ret, ++ reason = verification_output_to_reason (flags); ++ DEBUG ("Certificate verification gave flags %d with reason %u", ++ (gint) flags, + reason); + +- if (!ret) { + abort_verification (self, reason); ++ g_clear_error (&error); + goto out; +- } ++ } + +- /* now check if the certificate matches one of the reference identities. */ +- if (priv->reference_identities != NULL) ++ for (i = 0; priv->reference_identities[i] != NULL; i++) + { +- for (i = 0, matched = FALSE; priv->reference_identities[i] != NULL; ++i) +- { +- if (gnutls_x509_crt_check_hostname (list[0], +- priv->reference_identities[i]) == 1) +- { +- matched = TRUE; +- break; +- } +- } ++ GSocketConnectable *identity = NULL; ++ ++ identity = g_network_address_new (priv->reference_identities[i], 0); ++ flags = g_tls_certificate_verify (priv->g_certificate, identity, NULL); ++ ++ g_object_unref (identity); ++ if (flags == 0) ++ break; + } + +- if (!matched) ++ if (flags != 0) + { +- gchar *certified_hostname; ++ TpTLSCertificateRejectReason reason; ++ ++ g_assert_cmpint (flags, ==, G_TLS_CERTIFICATE_BAD_IDENTITY); ++ ++ reason = verification_output_to_reason (flags); ++ DEBUG ("Certificate verification gave flags %d with reason %u", ++ (gint) flags, ++ reason); + +- certified_hostname = empathy_get_x509_certificate_hostname (list[0]); +- tp_asv_set_string (priv->details, +- "expected-hostname", priv->hostname); +- tp_asv_set_string (priv->details, +- "certificate-hostname", certified_hostname); ++ /* FIXME: We don't set "certificate-hostname" because ++ * GTlsCertificate doesn't expose the hostname used in the ++ * certificate. We will temporarily lose some verbosity in ++ * EmpathyTLSDialog, but that's balanced by no longer ++ * relying on a specific encryption library. ++ */ ++ tp_asv_set_string (priv->details, "expected-hostname", priv->hostname); + +- DEBUG ("Hostname mismatch: got %s but expected %s", +- certified_hostname, priv->hostname); ++ DEBUG ("Hostname mismatch: expected %s", priv->hostname); + +- g_free (certified_hostname); +- abort_verification (self, +- TP_TLS_CERTIFICATE_REJECT_REASON_HOSTNAME_MISMATCH); ++ abort_verification (self, reason); + goto out; + } + +- DEBUG ("Hostname matched"); ++ DEBUG ("Verified certificate chain"); + complete_verification (self); + +- out: +- free_certificate_list_for_gnutls (list, n_list); +- free_certificate_list_for_gnutls (anchors, n_anchors); ++out: ++ /* Matches ref when starting verify chain */ ++ g_object_unref (self); + } + + static void +-perform_verification_cb (GObject *object, +- GAsyncResult *res, +- gpointer user_data) ++is_certificate_pinned_cb (GObject *object, ++ GAsyncResult *res, ++ gpointer user_data) + { + GError *error = NULL; +- +- GcrCertificateChain *chain = GCR_CERTIFICATE_CHAIN (object); ++ GPtrArray *cert_data; + EmpathyTLSVerifier *self = EMPATHY_TLS_VERIFIER (user_data); ++ EmpathyTLSVerifierPriv *priv = GET_PRIV (self); ++ ++ if (gcr_trust_is_certificate_pinned_finish (res, &error)) ++ { ++ DEBUG ("Found pinned certificate for %s", priv->hostname); ++ complete_verification (self); ++ goto out; ++ } ++ ++ /* error is set only when there is an actual failure. It won't be ++ * set, if it successfully determined that the ceritificate was not ++ * pinned. */ ++ if (error != NULL) ++ { ++ DEBUG ("Failed to determine if certificate is pinned: %s", ++ error->message); ++ g_clear_error (&error); ++ } + +- /* Even if building the chain fails, try verifying what we have */ +- if (!gcr_certificate_chain_build_finish (chain, res, &error)) ++ cert_data = tp_tls_certificate_get_cert_data (priv->certificate); ++ priv->g_certificate = tls_certificate_new_from_der (cert_data, &error); ++ if (error != NULL) + { +- DEBUG ("Building of certificate chain failed: %s", error->message); ++ DEBUG ("Verification of certificate chain failed: %s", error->message); ++ ++ abort_verification (self, TP_TLS_CERTIFICATE_REJECT_REASON_UNKNOWN); + g_clear_error (&error); ++ goto out; + } + +- perform_verification (self, chain); ++ DEBUG ("Performing verification"); ++ ++ g_tls_database_verify_chain_async (priv->database, ++ priv->g_certificate, ++ G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER, ++ NULL, ++ NULL, ++ G_TLS_DATABASE_VERIFY_NONE, ++ NULL, ++ verify_chain_cb, ++ g_object_ref (self)); + +- /* Matches ref when staring chain build */ ++out: ++ /* Matches ref when starting is certificate pinned */ + g_object_unref (self); + } + +@@ -420,6 +372,8 @@ empathy_tls_verifier_dispose (GObject *object) + + priv->dispose_run = TRUE; + ++ g_clear_object (&priv->g_certificate); ++ g_clear_object (&priv->database); + tp_clear_object (&priv->certificate); + + G_OBJECT_CLASS (empathy_tls_verifier_parent_class)->dispose (object); +@@ -443,10 +397,14 @@ static void + empathy_tls_verifier_init (EmpathyTLSVerifier *self) + { + EmpathyTLSVerifierPriv *priv; ++ GTlsBackend *tls_backend; + + priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, + EMPATHY_TYPE_TLS_VERIFIER, EmpathyTLSVerifierPriv); + priv->details = tp_asv_new (NULL, NULL); ++ ++ tls_backend = g_tls_backend_get_default (); ++ priv->database = g_tls_backend_get_default_database (tls_backend); + } + + static void +@@ -503,16 +461,15 @@ empathy_tls_verifier_verify_async (EmpathyTLSVerifier *self, + GAsyncReadyCallback callback, + gpointer user_data) + { +- GcrCertificateChain *chain; + GcrCertificate *cert; + GPtrArray *cert_data; + GArray *data; +- guint idx; + EmpathyTLSVerifierPriv *priv = GET_PRIV (self); + + DEBUG ("Starting verification"); + + g_return_if_fail (priv->verify_result == NULL); ++ g_return_if_fail (priv->g_certificate == NULL); + + cert_data = tp_tls_certificate_get_cert_data (priv->certificate); + g_return_if_fail (cert_data); +@@ -520,19 +477,22 @@ empathy_tls_verifier_verify_async (EmpathyTLSVerifier *self, + priv->verify_result = g_simple_async_result_new (G_OBJECT (self), + callback, user_data, NULL); + +- /* Create a certificate chain */ +- chain = gcr_certificate_chain_new (); +- for (idx = 0; idx < cert_data->len; ++idx) { +- data = g_ptr_array_index (cert_data, idx); +- cert = gcr_simple_certificate_new ((guchar *) data->data, data->len); +- gcr_certificate_chain_add (chain, cert); +- g_object_unref (cert); +- } ++ /* The first certificate in the chain is for the host */ ++ data = g_ptr_array_index (cert_data, 0); ++ cert = gcr_simple_certificate_new ((gpointer) data->data, ++ (gsize) data->len); ++ ++ DEBUG ("Checking if certificate is pinned:"); ++ debug_certificate (cert); + +- gcr_certificate_chain_build_async (chain, GCR_PURPOSE_SERVER_AUTH, priv->hostname, 0, +- NULL, perform_verification_cb, g_object_ref (self)); ++ gcr_trust_is_certificate_pinned_async (cert, ++ GCR_PURPOSE_SERVER_AUTH, ++ priv->hostname, ++ NULL, ++ is_certificate_pinned_cb, ++ g_object_ref (self)); + +- g_object_unref (chain); ++ g_object_unref (cert); + } + + gboolean +@@ -567,6 +527,21 @@ empathy_tls_verifier_verify_finish (EmpathyTLSVerifier *self, + return TRUE; + } + ++void empathy_tls_verifier_set_database (EmpathyTLSVerifier *self, ++ GTlsDatabase *database) ++{ ++ EmpathyTLSVerifierPriv *priv = GET_PRIV (self); ++ ++ g_return_if_fail (EMPATHY_IS_TLS_VERIFIER (self)); ++ g_return_if_fail (G_IS_TLS_DATABASE (database)); ++ ++ if (database == priv->database) ++ return; ++ ++ g_clear_object (&priv->database); ++ priv->database = g_object_ref (database); ++} ++ + void + empathy_tls_verifier_store_exception (EmpathyTLSVerifier *self) + { +diff --git a/libempathy/empathy-tls-verifier.h b/libempathy/empathy-tls-verifier.h +index c25d9756cb02..f9bf54a612f2 100644 +--- a/libempathy/empathy-tls-verifier.h ++++ b/libempathy/empathy-tls-verifier.h +@@ -72,6 +72,9 @@ gboolean empathy_tls_verifier_verify_finish (EmpathyTLSVerifier *self, + GHashTable **details, + GError **error); + ++void empathy_tls_verifier_set_database (EmpathyTLSVerifier *self, ++ GTlsDatabase *database); ++ + void empathy_tls_verifier_store_exception (EmpathyTLSVerifier *self); + + G_END_DECLS +diff --git a/tests/empathy-tls-test.c b/tests/empathy-tls-test.c +index 422909e7cc2a..b8f9ffcbb9af 100644 +--- a/tests/empathy-tls-test.c ++++ b/tests/empathy-tls-test.c +@@ -270,6 +270,7 @@ mock_tls_certificate_new_and_register (TpDBusDaemon *dbus, + + typedef struct { + GMainLoop *loop; ++ GTlsDatabase *database; + TpDBusDaemon *dbus; + const gchar *dbus_name; + MockTLSCertificate *mock; +@@ -283,9 +284,18 @@ setup (Test *test, gconstpointer data) + GError *error = NULL; + GckModule *module; + const gchar *trust_uris[2] = { MOCK_SLOT_ONE_URI, NULL }; ++ gchar *path = NULL; + + test->loop = g_main_loop_new (NULL, FALSE); + ++ path = g_build_filename (g_getenv ("EMPATHY_SRCDIR"), ++ "tests", ++ "certificates", ++ "certificate-authority.pem", ++ NULL); ++ test->database = g_tls_file_database_new (path, &error); ++ g_assert_no_error (error); ++ + test->dbus = tp_dbus_daemon_dup (&error); + g_assert_no_error (error); + +@@ -301,6 +311,8 @@ setup (Test *test, gconstpointer data) + gcr_pkcs11_set_modules (NULL); + gcr_pkcs11_add_module (module); + gcr_pkcs11_set_trust_lookup_uris (trust_uris); ++ ++ g_free (path); + } + + static void +@@ -325,6 +337,8 @@ teardown (Test *test, gconstpointer data) + g_object_unref (test->cert); + test->cert = NULL; + ++ g_clear_object (&test->database); ++ + g_main_loop_unref (test->loop); + test->loop = NULL; + +@@ -418,6 +432,8 @@ test_certificate_mock_basics (Test *test, + g_assert (test->mock->state == TP_TLS_CERTIFICATE_STATE_ACCEPTED); + } + ++#if 0 ++ + static void + test_certificate_verify_success_with_pkcs11_lookup (Test *test, + gconstpointer data G_GNUC_UNUSED) +@@ -459,6 +475,8 @@ test_certificate_verify_success_with_pkcs11_lookup (Test *test, + g_object_unref (verifier); + } + ++#endif ++ + static void + test_certificate_verify_success_with_full_chain (Test *test, + gconstpointer data G_GNUC_UNUSED) +@@ -486,6 +504,7 @@ test_certificate_verify_success_with_full_chain (Test *test, + + verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org", + reference_identities); ++ empathy_tls_verifier_set_database (verifier, test->database); + empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); + g_main_loop_run (test->loop); + empathy_tls_verifier_verify_finish (verifier, test->result, &reason, +@@ -525,9 +544,9 @@ test_certificate_verify_root_not_found (Test *test, + empathy_tls_verifier_verify_finish (verifier, test->result, &reason, + NULL, &error); + +- /* And it should say we're self-signed (oddly enough) */ ++ /* And it should say we're untrusted */ + g_assert_error (error, G_IO_ERROR, +- TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED); ++ TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED); + + g_clear_error (&error); + g_object_unref (verifier); +@@ -560,9 +579,9 @@ test_certificate_verify_root_not_anchored (Test *test, + empathy_tls_verifier_verify_finish (verifier, test->result, &reason, + NULL, &error); + +- /* And it should say we're self-signed (oddly enough) */ ++ /* And it should say we're untrusted */ + g_assert_error (error, G_IO_ERROR, +- TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED); ++ TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED); + + g_clear_error (&error); + g_object_unref (verifier); +@@ -590,6 +609,7 @@ test_certificate_verify_identities_invalid (Test *test, + + verifier = empathy_tls_verifier_new (test->cert, "invalid.host.name", + reference_identities); ++ empathy_tls_verifier_set_database (verifier, test->database); + empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); + g_main_loop_run (test->loop); + +@@ -627,6 +647,7 @@ test_certificate_verify_uses_reference_identities (Test *test, + /* Should be using the reference_identities and not host name for checks */ + verifier = empathy_tls_verifier_new (test->cert, "test-server.empathy.gnome.org", + reference_identities); ++ empathy_tls_verifier_set_database (verifier, test->database); + empathy_tls_verifier_verify_async (verifier, fetch_callback_result, test); + g_main_loop_run (test->loop); + +@@ -708,9 +729,9 @@ test_certificate_verify_pinned_wrong_host (Test *test, + empathy_tls_verifier_verify_finish (verifier, test->result, &reason, + NULL, &error); + +- /* And it should say we're self-signed */ ++ /* And it should say we're untrusted */ + g_assert_error (error, G_IO_ERROR, +- TP_TLS_CERTIFICATE_REJECT_REASON_SELF_SIGNED); ++ TP_TLS_CERTIFICATE_REJECT_REASON_UNTRUSTED); + + g_clear_error (&error); + g_object_unref (verifier); +@@ -727,8 +748,10 @@ main (int argc, + + g_test_add ("/tls/certificate_basics", Test, NULL, + setup, test_certificate_mock_basics, teardown); ++#if 0 + g_test_add ("/tls/certificate_verify_success_with_pkcs11_lookup", Test, NULL, + setup, test_certificate_verify_success_with_pkcs11_lookup, teardown); ++#endif + g_test_add ("/tls/certificate_verify_success_with_full_chain", Test, NULL, + setup, test_certificate_verify_success_with_full_chain, teardown); + g_test_add ("/tls/certificate_verify_root_not_found", Test, NULL, +-- +2.14.4 + + +From a5ef984c6219070253f382d41101de9f904563c6 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Thu, 16 Mar 2017 19:50:40 +0100 +Subject: [PATCH 5/5] Remove the GnuTLS dependency + +GIO, backed by glib-networking, has everything that we need. + +https://bugzilla.gnome.org/show_bug.cgi?id=780160 +--- + configure.ac | 2 -- + libempathy/empathy-utils.c | 35 ----------------------------------- + libempathy/empathy-utils.h | 3 --- + src/empathy-auth-client.c | 2 -- + tests/empathy-tls-test.c | 2 -- + 5 files changed, 44 deletions(-) + +diff --git a/configure.ac b/configure.ac +index cd6f371de799..a1cd48687e27 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -35,7 +35,6 @@ AC_COPYRIGHT([ + + # Hardp deps + FOLKS_REQUIRED=0.9.5 +-GNUTLS_REQUIRED=2.8.5 + + GLIB_REQUIRED=2.48.0 + AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_48, [Ignore post 2.48 deprecations]) +@@ -219,7 +218,6 @@ PKG_CHECK_MODULES(EMPATHY, + gio-2.0 >= $GLIB_REQUIRED + gio-unix-2.0 >= $GLIB_REQUIRED + libsecret-1 >= $LIBSECRET_REQUIRED +- gnutls >= $GNUTLS_REQUIRED + gmodule-export-2.0 + gobject-2.0 + gsettings-desktop-schemas +diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c +index e8349373639f..88e28b8dd92b 100644 +--- a/libempathy/empathy-utils.c ++++ b/libempathy/empathy-utils.c +@@ -20,10 +20,6 @@ + * Authors: Richard Hult + * Martyn Russell + * Xavier Claessens +- * +- * Some snippets are taken from GnuTLS 2.8.6, which is distributed under the +- * same GNU Lesser General Public License 2.1 (or later) version. See +- * empathy_get_x509_certified_hostname (). + */ + + #include "config.h" +@@ -648,37 +644,6 @@ empathy_folks_persona_is_interesting (FolksPersona *persona) + return TRUE; + } + +-gchar * +-empathy_get_x509_certificate_hostname (gnutls_x509_crt_t cert) +-{ +- gchar dns_name[256]; +- gsize dns_name_size; +- gint idx; +- gint res = 0; +- +- /* this snippet is taken from GnuTLS. +- * see gnutls/lib/x509/rfc2818_hostname.c +- */ +- for (idx = 0; res >= 0; idx++) +- { +- dns_name_size = sizeof (dns_name); +- res = gnutls_x509_crt_get_subject_alt_name (cert, idx, +- dns_name, &dns_name_size, NULL); +- +- if (res == GNUTLS_SAN_DNSNAME || res == GNUTLS_SAN_IPADDRESS) +- return g_strndup (dns_name, dns_name_size); +- } +- +- dns_name_size = sizeof (dns_name); +- res = gnutls_x509_crt_get_dn_by_oid (cert, GNUTLS_OID_X520_COMMON_NAME, +- 0, 0, dns_name, &dns_name_size); +- +- if (res >= 0) +- return g_strndup (dns_name, dns_name_size); +- +- return NULL; +-} +- + gchar * + empathy_format_currency (gint amount, + guint scale, +diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h +index a9ff0d89060d..deb3ae87b7aa 100644 +--- a/libempathy/empathy-utils.h ++++ b/libempathy/empathy-utils.h +@@ -27,7 +27,6 @@ + + #include + #include +-#include + #include + #include + #include +@@ -85,8 +84,6 @@ gboolean empathy_connection_can_group_personas (TpConnection *connection, + FolksIndividual *individual); + gboolean empathy_folks_persona_is_interesting (FolksPersona *persona); + +-gchar * empathy_get_x509_certificate_hostname (gnutls_x509_crt_t cert); +- + gchar *empathy_format_currency (gint amount, + guint scale, + const gchar *currency); +diff --git a/src/empathy-auth-client.c b/src/empathy-auth-client.c +index 3ee478d3e29c..6b6482d4b23d 100644 +--- a/src/empathy-auth-client.c ++++ b/src/empathy-auth-client.c +@@ -22,7 +22,6 @@ + #include "config.h" + + #include +-#include + + #include "empathy-auth-factory.h" + #include "empathy-bad-password-dialog.h" +@@ -297,7 +296,6 @@ main (int argc, + g_option_context_free (context); + + empathy_gtk_init (); +- gnutls_global_init (); + g_set_application_name (_("Empathy authentication client")); + + /* Make empathy and empathy-auth-client appear as the same app in +diff --git a/tests/empathy-tls-test.c b/tests/empathy-tls-test.c +index b8f9ffcbb9af..9b62ae4e0ec7 100644 +--- a/tests/empathy-tls-test.c ++++ b/tests/empathy-tls-test.c +@@ -1,6 +1,5 @@ + #include "config.h" + +-#include + #include + #include + +@@ -744,7 +743,6 @@ main (int argc, + int result; + + test_init (argc, argv); +- gnutls_global_init (); + + g_test_add ("/tls/certificate_basics", Test, NULL, + setup, test_certificate_mock_basics, teardown); +-- +2.14.4 + diff --git a/SPECS/empathy.spec b/SPECS/empathy.spec new file mode 100644 index 0000000..b224ca5 --- /dev/null +++ b/SPECS/empathy.spec @@ -0,0 +1,1174 @@ +## Minimum required versions. +%global gtk3_min_version 3.9.4 +%global glib2_min_version 2.48.0 +%global tp_mc_min_version 5.12.0 +%global tp_glib_min_version 0.23.2 +%global enchant_version 1.2.0 +%global network_manager_version 0.7.0 +%global libcanberra_version 0.4 +%global webkit_version 1.9.1 +%global goa_version 3.5.1 +%global libnotify_version 0.7.0 +%global libchamplain_version 0.12.1 +%global folks_version 0.9.5 +%global gstreamer_version 0.10.32 +%global libsecret_version 0.5 +%global gcr_version 2.91.4 + +Name: empathy +Version: 3.12.13 +Release: 1%{?dist} +Summary: Instant Messaging Client for GNOME + +License: GPLv2+ +URL: https://wiki.gnome.org/Apps/Empathy + +Source0: http://download.gnome.org/sources/%{name}/3.12/%{name}-%{version}.tar.xz +Source1: %{name}-README.ConnectionManagers + +# https://bugzilla.redhat.com/show_bug.cgi?id=1142832 +Patch0: 0001-help-Remove-IRC-content.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=1386616 +Patch1: %{name}-fix-certificate-validation.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: enchant-devel >= %{enchant_version} +BuildRequires: iso-codes-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: glib2-devel >= %{glib2_min_version} +BuildRequires: libcanberra-devel >= %{libcanberra_version} +BuildRequires: webkitgtk3-devel >= %{webkit_version} +BuildRequires: gtk3-devel >= %{gtk3_min_version} +BuildRequires: intltool +BuildRequires: libxml2-devel +BuildRequires: gsettings-desktop-schemas-devel +BuildRequires: telepathy-glib-devel >= %{tp_glib_min_version} +BuildRequires: telepathy-farstream-devel >= 0.2.1 +BuildRequires: libnotify-devel >= %{libnotify_version} +BuildRequires: NetworkManager-glib-devel >= %{network_manager_version} +BuildRequires: libchamplain-gtk-devel >= %{libchamplain_version} +BuildRequires: clutter-gtk-devel >= 1.1.2 +BuildRequires: geoclue2-devel +BuildRequires: geocode-glib-devel +BuildRequires: telepathy-logger-devel >= 0.8.0 +BuildRequires: folks-devel >= 1:%{folks_version} +BuildRequires: clutter-gst2-devel +BuildRequires: gstreamer1-devel >= %{gstreamer_version} +BuildRequires: cogl-devel +BuildRequires: cheese-libs-devel +BuildRequires: pulseaudio-libs-devel +BuildRequires: libgudev1-devel +BuildRequires: telepathy-mission-control-devel +BuildRequires: gnome-online-accounts-devel >= %{goa_version} +BuildRequires: libsecret-devel >= %{libsecret_version} +BuildRequires: gcr-devel >= %{gcr_version} +BuildRequires: pkgconfig(gee-0.8) +BuildRequires: itstool +BuildRequires: yelp-tools + +Requires: telepathy-filesystem +Requires: telepathy-mission-control >= %{tp_mc_min_version} + +## We install the following connection managers by default. +Requires: telepathy-gabble >= 0.16.0 +Requires: telepathy-salut >= 0.8.0 +Requires: telepathy-haze >= 0.6.0 +%if 0%{?fedora} +Requires: telepathy-idle +Requires: telepathy-rakia +%endif + +%description +Empathy is a powerful multi-protocol instant messaging client which supports +Jabber, GTalk, MSN, Salut, and other protocols. It is built on top of the +Telepathy framework. + + +%prep +%autosetup -p1 + + +%build +autoreconf -f -i +%configure \ + --disable-schemas-compile \ + --disable-silent-rules \ + --disable-static \ + --enable-ubuntu-online-accounts=no + +%make_build +install -m 0644 %{SOURCE1} ./README.ConnectionManagers + + +%install +%make_install +find $RPM_BUILD_ROOT -name '*.la' -delete + +%find_lang %{name} --with-gnome +%find_lang empathy-tpaw + +desktop-file-install --delete-original \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/%{name}.desktop + + +%post +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + + +%postun +if [ $1 -eq 0 ]; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : +fi + + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || : +glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : + + +%files -f %{name}.lang -f empathy-tpaw.lang +%doc AUTHORS README README.ConnectionManagers NEWS +%license COPYING COPYING-DOCS COPYING.LGPL COPYING.SHARE-ALIKE +%{_bindir}/%{name} +%{_bindir}/%{name}-accounts +%{_bindir}/%{name}-debugger +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/libempathy-%{version}.so +%{_libdir}/%{name}/libempathy-gtk-%{version}.so +%{_libdir}/%{name}/libempathy-gtk.so +%{_libdir}/%{name}/libempathy.so +%{_libdir}/mission-control-plugins.0/mcp-account-manager-goa.so +%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/empathy/ +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_datadir}/icons/hicolor/scalable/apps/%{name}-symbolic.svg +%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Empathy.Call.service +%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Empathy.Chat.service +%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Empathy.Auth.service +%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Empathy.FileTransfer.service +%{_datadir}/GConf/gsettings/empathy.convert +%{_datadir}/glib-2.0/schemas/org.gnome.Empathy.gschema.xml +%{_datadir}/glib-2.0/schemas/org.gnome.telepathy-account-widgets.gschema.xml +%{_datadir}/telepathy/clients/Empathy.Call.client +%{_datadir}/telepathy/clients/Empathy.Chat.client +%{_datadir}/telepathy/clients/Empathy.Auth.client +%{_datadir}/telepathy/clients/Empathy.FileTransfer.client +%{_mandir}/man1/empathy*.1.gz +%{_libexecdir}/empathy-auth-client +%{_libexecdir}/empathy-call +%{_libexecdir}/empathy-chat +%dir %{_datadir}/adium +%dir %{_datadir}/adium/message-styles +%dir %{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle +%dir %{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents +%dir %{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Info.plist +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Incoming/Content.html +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Incoming/NextContent.html +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Status.html +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Variants/Blue.css +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Variants/Clean.css +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/Variants/Simple.css +%{_datadir}/adium/message-styles/Boxes.AdiumMessageStyle/Contents/Resources/main.css +%dir %{_datadir}/adium/message-styles/Classic.AdiumMessageStyle +%dir %{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents +%dir %{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents/Resources +%{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents/Info.plist +%{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents/Resources/Content.html +%{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents/Resources/Status.html +%{_datadir}/adium/message-styles/Classic.AdiumMessageStyle/Contents/Resources/main.css +%dir %{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle +%dir %{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents +%dir %{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Info.plist +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Images/corners.png +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Images/horizontal.png +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Images/nipple.png +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Images/vertical.png +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Incoming/Content.html +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Incoming/NextContent.html +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/Status.html +%{_datadir}/adium/message-styles/PlanetGNOME.AdiumMessageStyle/Contents/Resources/main.css + +%changelog +* Thu Jun 07 2018 Debarshi Ray - 3.12.13-1 +- Update to 3.12.13 +- Resolves: #1569812 + +* Tue Mar 21 2017 Debarshi Ray - 3.12.12-4 +- Fix certificate validation (use reference identities, handle validation + failures correctly, fixed the test suite) +- Resolves: #1386616 + +* Thu Mar 16 2017 Debarshi Ray - 3.12.12-3 +- Fix certificate validation +- Resolves: #1386616 + +* Mon Mar 13 2017 Debarshi Ray - 3.12.12-2 +- Remove IRC from %%description +- Resolves: #1358824 + +* Mon Mar 13 2017 Debarshi Ray - 3.12.12-1 +- Update to 3.12.12 +- Resolves: #1386848 + +* Tue May 26 2015 Debarshi Ray - 3.12.10-2 +- Remove IRC docs +- Resolves: #1142832 + +* Wed May 13 2015 Debarshi Ray - 3.12.10-1 +- Update to 3.12.10 +- Resolves: #1174588 + +* Mon Mar 23 2015 Richard Hughes - 3.12.8-1 +- Update to 3.12.8 +- Resolves: #1174588 + +* Fri Jan 24 2014 Daniel Mach - 3.8.4-6 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 3.8.4-5 +- Mass rebuild 2013-12-27 + +* Mon Dec 16 2013 Matthias Clasen - 3.8.4-4 +- Update translations +- Resolves: #1030324 + +* Fri Nov 1 2013 Debarshi Ray - 3.8.4-3 +- Can not log into Facebook Chat using X-FACEBOOK-PLATFORM (Red Hat #1025727) + +* Fri Nov 1 2013 Debarshi Ray - 3.8.4-2 +- Skip Haze's IRC implementation (Red Hat #920080) + +* Thu Sep 12 2013 Debarshi Ray - 3.8.4-1 +- Update to 3.8.4 + +* Wed Jun 12 2013 Matthias Clasen - 3.8.3-2 +- Drop telepathy-idle requirement + +* Fri May 24 2013 Brian Pepple - 3.8.3-1 +- Update to 3.8.3. + +* Mon May 20 2013 Brian Pepple - 3.8.2-1 +- Update to 3.8.2. +- Drop google vcard patch. Fixed upstream. + +* Tue May 14 2013 Matthias Clasen - 3.8.1-3 +- Save some space by shrinking figures + +* Wed May 8 2013 Brian Pepple - 3.8.1-2 +- Pull upstream patch to fix crash with google vcards. + +* Mon Apr 15 2013 Richard Hughes - 3.8.1-1 +- Update to 3.8.1 + +* Mon Mar 25 2013 Brian Pepple - 3.8.0-1 +- Update to 3.8.0. +- Remove nautilus extension, since nautilus-sendto has removed this functionality. + +* Wed Mar 20 2013 Brian Pepple - 3.7.92-2 +- Bump minimum verson of folks and add dep on cogl. + +* Wed Mar 20 2013 Richard Hughes - 3.7.92-1 +- Update to 3.7.92 + +* Mon Mar 4 2013 Brian Pepple - 3.7.91-1 +- Update to 3.7.91. + +* Thu Feb 21 2013 Brian Pepple - 3.7.90-2 +- Drop vender from desktop file. +- Add BR on libgee-0.8. + +* Tue Feb 19 2013 Richard Hughes - 3.7.90-1 +- Update to 3.7.90 + +* Wed Feb 06 2013 Kalev Lember - 3.7.5-2 +- Rebuilt for libgcr soname bump + +* Tue Feb 5 2013 Brian Pepple - 3.7.5-1 +- Update to 3.7.5. +- Bump minimum version of tp-logger needed. + +* Fri Jan 25 2013 Brian Pepple - 3.7.4-2 +- Rebuild for new libcogl. + +* Wed Jan 16 2013 Richard Hughes - 3.7.4-1 +- Update to 3.7.4 + +* Tue Dec 18 2012 Brian Pepple - 3.7.3-1 +- Update to 3.7.3. + +* Tue Nov 27 2012 Brian Pepple - 3.7.2-1 +- Update to 3.7.2 + +* Wed Nov 14 2012 Brian Pepple - 3.6.2-1 +- Update to 3.6.2 +- Drop patches. Fixed upstream. + +* Mon Nov 12 2012 Debarshi Ray - 3.6.1-4 +- Fix GNOME #687762 + +* Wed Nov 7 2012 Debarshi Ray - 3.6.1-3 +- Fix GNOME #652546 and #687690 + +* Wed Oct 31 2012 Brian Pepple - 3.6.1-3 +- Rebuild against latest telepathy-logger + +* Thu Oct 18 2012 Debarshi Ray - 3.6.1-2 +- Fix GNOME #686311 and #686314 + +* Mon Oct 15 2012 Brian Pepple - 3.6.1-1 +- Update to 3.6.1 + +* Mon Oct 8 2012 Brian Pepple - 3.6.0.3-1 +- Update to 3.6.0.3. + +* Thu Oct 4 2012 Brian Pepple - 3.6.0.1-2 +- Build with gstreamer-1.0 support. + +* Wed Oct 3 2012 Brian Pepple - 3.6.0.1-1 +- Update to 3.6.0.1 + +* Wed Sep 26 2012 Brian Pepple - 3.6.0-2 +- Rebuild against new tp-glib + +* Tue Sep 25 2012 Brian Pepple - 3.6.0-1 +- Update to 3.6.0. + +* Wed Sep 19 2012 Kalev Lember - 3.5.92-2 +- Rebuilt for new libcheese-gtk + +* Wed Sep 19 2012 Richard Hughes - 3.5.92-1 +- Update to 3.5.92 + +* Fri Sep 7 2012 Brian Pepple - 3.5.91.1-1 +- Update to 3.5.91.1. + +* Tue Sep 04 2012 Richard Hughes - 3.5.91-1 +- Update to 3.5.91 + +* Thu Aug 30 2012 Debarshi Ray - 3.5.90-3 +- Do not remove the rpaths. They are needed to pick up the private libraries. + (RH #846908) + +* Tue Aug 28 2012 Matthias Clasen - 3.5.90-2 +- Rebuild against new cogl/clutter + +* Wed Aug 22 2012 Brian Pepple - 3.5.90-1 +- Update to 3.5.90. +- Remove bits for accounts desktop file. No longer shipped. + +* Sun Aug 19 2012 Brian Pepple - 3.5.5-2 +- Rebuild for new libcogl. + +* Mon Aug 6 2012 Brian Pepple - 3.5.5-1 +- Update to 3.5.5. +- Bump minimum version of tp-glib. +- Add BR on libsecret-devel + +* Fri Jul 27 2012 Fedora Release Engineering - 3.5.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 24 2012 Brian Pepple - 3.5.4.1-1 +- Update to 3.5.4.1. +- Bump minimum version of tp-glib needed. + +* Mon Jul 16 2012 Brian Pepple - 3.5.4-1 +- Update to 3.5.4. +- Bump minimum versions of tp-glib and glib2 needed. + +* Tue Jun 26 2012 Brian Pepple - 3.5.3-2 +- Bump minimum version of tp-glib and folks. +- Drop BR on eds-devel. + +* Tue Jun 26 2012 Richard Hughes - 3.5.3-1 +- Update to 3.5.3 + +* Tue Jun 5 2012 Brian Pepple - 3.5.2-1 +- Update to 3.5.2. +- Bump minimum version of gtk3, tp-glib, goa, and clutter-gtk. + +* Mon Apr 30 2012 Brian Pepple - 3.5.1-1 +- Update to 3.5.1. +- Update source url. + +* Mon Apr 16 2012 Brian Pepple - 3.4.1-1 +- Update to 3.4.1. +- Update source url. + +* Fri Apr 6 2012 Brian Pepple - 3.4.0.2-1 +- Update to 3.4.0.2. + +* Thu Apr 05 2012 Brian Pepple - 3.4.0.1-2 +- Rebuild against tp-farstream + +* Thu Apr 5 2012 Brian Pepple - 3.4.0.1-1 +- Update to 3.4.0.1. + +* Thu Apr 05 2012 Brian Pepple - 3.4.0-3 +- Rebuild against new tp-farstream + +* Tue Apr 03 2012 Brian Pepple - 3.4.0-2 +- Rebuild against new tp-glib. + +* Mon Mar 26 2012 Brian Pepple - 3.4.0-1 +- Update to 3.4.0. + +* Tue Mar 20 2012 Brian Pepple - 3.3.92-1 +- Update to 3.3.92. + +* Wed Mar 14 2012 Brian Pepple - 3.3.91-3 +- Rebuild for cogl + +* Wed Mar 07 2012 Brian Pepple - 3.3.91-2 +- Rebuild for cogl + +* Tue Mar 6 2012 Brian Pepple - 3.3.91-1 +- Update to 3.3.91. +- Remove en_GB and zh_CN help files until they can be properly handled. + +* Mon Mar 5 2012 Brian Pepple - 3.3.90.2-1 +- Update to 3.3.90.2. +- Add BR on telepathy-farstream-devel, gstreamer-devel and itstool. +- Drop BR on tp-farsight. +- Bump minimum version of tp-glib. +- Drop requires on tp-butterfly. MSN will use tp-gabble from now on. + +* Tue Feb 7 2012 Brian Pepple - 3.3.5-1 +- Update to 3.3.5. + +* Mon Feb 6 2012 Brian Pepple - 3.3.4-3 +- Rebuild against new eds. + +* Thu Jan 19 2012 Matthias Clasen - 3.3.4-2 +- Rebuild against new cogl + +* Mon Jan 16 2012 Brian Pepple - 3.3.4-1 +- Update to 3.3.4. +- Add BR on gcr and remove old BR on gnome-keyring. + +* Mon Jan 09 2012 Brian Pepple - 3.3.3-3 +- Rebuild for new gcc. + +* Mon Dec 19 2011 Brian Pepple - 3.3.3-2 +- Build with call logging support. + +* Mon Dec 19 2011 Brian Pepple - 3.3.3-1 +- Update to 3.3.3. +- Bump minimum version of tp-glib, goa, glib2, and folks. + +* Sun Nov 27 2011 Peter Robinson - 3.3.2-3 +- Fix build by commenting out GOA integration until GOA 3.3.x is released + +* Thu Nov 24 2011 Matthias Clasen - 3.3.2-2 +- Rebuild against new clutter + +* Thu Nov 24 2011 Brian Pepple - 3.3.2-1 +- Update to 3.3.2. +- Bump minimum version of tp-glib needed. +- Add minimum version of GOA needed. + +* Tue Nov 22 2011 Brian Pepple - 3.3.1-4 +- Rebuild against new eds + +* Wed Nov 02 2011 Brian Pepple - 3.3.1-3 +- Rebuld against tp-logger. + +* Tue Nov 1 2011 Peter Robinson - 3.3.1-2 +- Rebuild for new telepathy-logger + +* Mon Oct 24 2011 Brian Pepple - 3.3.1-1 +- Update to 3.3.1. + +* Tue Oct 18 2011 Brian Pepple - 3.2.1-3 +- Rebuld against folks yet again. + +* Tue Oct 18 2011 Brian Pepple - 3.2.1-2 +- Rebuld against new folks. + +* Mon Oct 17 2011 Brian Pepple - 3.2.1-1 +- Update to 3.2.1. +- Bump minimum version of tp-glib needed. + +* Mon Oct 10 2011 Brian Pepple - 3.2.0.1-1 +- Update to 3.2.0.1 + +* Mon Sep 26 2011 Brian Pepple - 3.2.0-1 +- Update to 3.2.0. + +* Wed Sep 21 2011 Brian Pepple - 3.1.92-2 +- Rebuld for new libcogl. + +* Mon Sep 19 2011 Brian Pepple - 3.1.92-1 +- Update to 3.1.92. + +* Tue Sep 06 2011 Brian Pepple - 3.1.91-2 +- Rebuld against gcr. + +* Tue Sep 6 2011 Brian Pepple - 3.1.91-1 +- Update to 3.1.91. +- Add BR on tp-mission-control-devel and gnome-online-accounts-devel. + +* Wed Aug 31 2011 Kalev Lember - 3.1.90.1-2 +- Rebuilt for libgcr soname bump + +* Wed Aug 31 2011 Brian Pepple - 3.1.90.1-1 +- Update to 3.1.90.1. + +* Mon Aug 29 2011 Brian Pepple - 3.1.90-1 +- Update to 3.1.90. + +* Mon Aug 29 2011 Milan Crha - 3.1.5.1-3 +- Rebuild against newer evolution-data-server + +* Mon Aug 22 2011 Brian Pepple - 3.1.5.1-1 +- Update to 3.1.5.1. +- Add BR on libgudev1-devel. +- Bump min requires for tp-glib & webkitgtk. + +* Fri Aug 19 2011 Matthias Clasen - 3.1.5-3 +- Rebuild + +* Tue Aug 16 2011 Brian Pepple - 3.1.5-1 +- Update to 3.1.5. +- Bump min version of folks needed. +- Add BR on pulseaudio-libs-devel. + +* Fri Jul 29 2011 Brian Pepple - 3.1.4-2 +- Rebuild. + +* Wed Jul 27 2011 Matthias Clasen - 3.1.4-1 +- Update to 3.1.4 + +* Mon Jul 25 2011 Matthias Clasen - 3.1.3-4 +- Try again + +* Sun Jul 24 2011 Brian Pepple - 3.1.3-3 +- Rebuild for new eds + +* Tue Jul 05 2011 Adam Williamson - 3.1.3-2 +- rebuild for new e-d-s + +* Mon Jul 04 2011 Bastien Nocera 3.1.3-1 +- Update to 3.1.3 + +* Fri Jun 24 2011 Brian Pepple - 3.1.2.1-2 +- Enable call support. + +* Tue Jun 14 2011 Brian Pepple - 3.1.2.1-1 +- Update to 3.1.2.1. +- Bump minimum version of tp-logger. +- Use xz tarball. + +* Fri Jun 10 2011 Brian Pepple - 3.1.2-1 +- Update to 3.1.2. +- Add BR on gstreamer-devel and cheese-libs-devel. +- Bump min required versions of folks, tp-logger, and tp-glib. + +* Mon May 9 2011 Brian Pepple - 3.1.1-1 +- Update to 3.1.1. +- Enable maps again. +- Drop obsoletes/provides. They should no longer be needed. +- Bump minimum version of tp-glib. + +* Fri May 06 2011 Brian Pepple - 3.0.1-4 +- Rebuild for new tp-logger + +* Thu May 5 2011 Brian Pepple - 3.0.1-3 +- Update icon cache scriptlets. sigh.... + +* Tue May 3 2011 Brian Pepple - 3.0.1-2 +- Update gsetting scriplets. + +* Mon Apr 25 2011 Brian Pepple - 3.0.1-1 +- Update to 3.0.1. + +* Mon Apr 4 2011 Brian Pepple - 3.0.0-1 +- Update to 3.0.0. +- Update source url. + +* Mon Mar 28 2011 Brian Pepple - 2.91.93-2 +- Rebuild for new tp-logger. + +* Mon Mar 28 2011 Brian Pepple - 2.91.93-1 +- Update to 2.91.93. +- Bump minimum tp-glib version. + +* Thu Mar 24 2011 Dan Williams 2.91.92-2 +- Rebuild for NM 0.9 + +* Wed Mar 23 2011 Ray Strode 2.91.92-1 +- Update to 2.91.92 +- Disable libchamplain support for now at the request of bpepple. + +* Tue Mar 22 2011 Brian Pepple - 2.91.91.1-2 +- Enable libchamplain support. + +* Thu Mar 17 2011 Brian Pepple - 2.91.91.1-1 +- Update to 2.91.91.1. +- Bump min version of folks needed. + +* Thu Mar 10 2011 Dan Williams - 2.91.90.2-2 +- Update for NetworkManager 0.9 + +* Tue Mar 8 2011 Brian Pepple - 2.91.91-1 +- Update to 2.91.91. +- Update minimum version of tp-glib & gtk3. + +* Sat Feb 26 2011 Brian Pepple - 2.91.90.2-1 +- Update to 2.91.90.2. + +* Fri Feb 25 2011 Brian Pepple - 2.91.90.1-1 +- Update to 2.91.90.1. + +* Mon Feb 21 2011 Brian Pepple - 2.91.90-1 +- Update to 2.91.90. +- Bump min version for folks and tp-glib. + +* Fri Feb 11 2011 Matthias Clasen - 2.91.6-5 +- Rebuild against newer gtk + +* Tue Feb 08 2011 Fedora Release Engineering - 2.91.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Feb 4 2011 Brian Pepple - 2.91.6.1-3 +- Enable single window control center. + +* Wed Feb 2 2011 Matthias Clasen - 2.91.6.1-2 +- Rebuild against new gtk + +* Tue Feb 1 2011 Brian Pepple - 2.91.6.1-1 +- Update to 2.91.6.1. +- Update min req for folks and tp-glib. + +* Thu Jan 27 2011 Brian Pepple - 2.91.5.1-2 +- Rebuild for new farsight2 + +* Tue Jan 18 2011 Brian Pepple - 2.91.5.1-1 +- Update to 2.91.5.1. + +* Mon Jan 10 2011 Brian Pepple - 2.91.5-1 +- Update to 2.91.5. + +* Sun Jan 9 2011 Matthias Clasen - 2.91.4.3-1 +- Update to 2.91.4.3 + +* Tue Dec 14 2010 Brian Pepple - 2.91.3.1-2 +- Enable webkit support for Adium themes. + +* Tue Dec 14 2010 Brian Pepple - 2.91.3.1-1 +- Update to 2.91.3.1. +- Bump min versions for tp-glib & folks. + +* Fri Dec 3 2010 Christopher Aillon - 2.91.3-2 +- Rebuild against newer gtk3 + +* Mon Nov 29 2010 Brian Pepple - 2.91.3-1 +- Update to 2.91.3. +- Drop folks api patch. Fixed upstream. +- Add BR on gsettings-desktop-schemas-devel. +- Drop ca-cert patch. Fixed upstream. +- Drop BR on GConf2. + +* Tue Nov 16 2010 Brian Pepple - 2.91.2-2 +- Bump min versions for gtk3, glib2, tp-glib, and folks. +- Add patch to use Fedora's ca-cert. +- Drop BR on unique3. No longer needed. + +* Mon Nov 15 2010 Bastien Nocera 2.91.2-1 +- Update to 2.91.2 + +* Mon Nov 15 2010 Bastien Nocera 2.91.0-6 +- Rebuild against new folks + +* Wed Nov 10 2010 Brian Pepple - 2.91.0-5 +- Backport libnotify patch for 0.7 api change. +- Bump min BR version for libnotify. +- Add patches to port to GtkComboBox & GtkComboBoxText. + +* Sat Oct 30 2010 Brian Pepple - 2.91.0-4 +- Rebuild for folks-2.1. + +* Thu Oct 21 2010 Brian Pepple - 2.91.0-3 +- Rebuild for new folks. + +* Tue Oct 19 2010 Brian Pepple - 2.91.0-2 +- Rebuild for new eds. +- Disable webkitgtk support for now until a more recent version is in rawhide. +- Add patch to fix build with gcr. + +* Mon Oct 4 2010 Brian Pepple - 2.91.0-1 +- Update to 2.91.0. +- Drop obsolete/provides on tp-haze-mission-control. +- Drop keyname-fixes patch. Fixed upstream. +- Drop empathy chat GDKKEY patch. Fixed upstream. +- Drop avatar image gdkdisplay patch. Fixed upstream. +- Drop depreciated gtk-dialog-separator patch. Fixed upstream. + +* Mon Sep 27 2010 Brian Pepple - 2.32.0-1 +- Update to 2.32.0. + +* Wed Sep 22 2010 Matthias Clasen - 2.31.92-2 +- Rebuild + +* Tue Sep 14 2010 Brian Pepple - 2.31.92-1 +- Update to 2.31.92. +- Clean up gconf->gsetting conversion. + +* Thu Sep 2 2010 Brian Pepple - 2.31.91.1-1 +- Update to 2.31.91.1. + +* Thu Aug 26 2010 Brian Pepple - 2.31.90-1 +- Update to 2.31.90. +- Add BR on folks-devel. +- Drop buildroot. No longer needed. + +* Fri Jul 16 2010 Brian Pepple - 2.31.5.1-2 +- Rebuild for new eds. + +* Wed Jul 14 2010 Matthias Clasen - 2.31.5.1-1 +- Update to 2.31.5.1 + +* Fri Jul 9 2010 Brian Pepple - 2.31.4-2 +- Update scriptlets for gsettings. + +* Fri Jul 9 2010 Brian Pepple - 2.31.4-1 +- Update to 2.31.4. +- Disable libchamplain support for now due to api change. +- Drop schemas regeneration since empathy uses gsettings now. +- Add BR on telepathy-logger-devel. + +* Tue Jul 6 2010 Brian Pepple - 2.31.3-4 +- Rebuild for new libchamplain. + +* Sun Jul 4 2010 Brian Pepple - 2.31.3-3 +- Rebuild for new webkit. + +* Wed Jun 16 2010 Matthias Clasen - 2.31.3-2 +- Don't require scrollkeeper + +* Mon Jun 7 2010 Brian Pepple - 2.31.3-1 +- Update to 2.31.3. +- Bump min version of tp-glib needed. +- Drop facebook server error patch. Fixed upstream. + +* Thu Jun 3 2010 Brian Pepple - 2.31.2-2 +- Backport patch to fix facebook server error. (#595925) + +* Fri May 28 2010 Matthias Clasen - 2.31.2-1 +- Update to 2.31.2 +- drop presence-icon patch, handled upstream (partially) + +* Mon May 10 2010 Brian Pepple - 2.31.1-1 +- Update to 2.31.1. +- Bump min versions of gtk2 & tp-glib needed. + +* Thu May 6 2010 Brian Pepple - 2.30.1-3 +- Rebuild for new eds. + +* Mon Apr 26 2010 Brian Pepple - 2.30.1-2 +- Drop suffix on gconf schemas scriptlets. + +* Mon Apr 26 2010 Brian Pepple - 2.30.1-1 +- Update to 2.30.1. + +* Sat Apr 24 2010 Brian Pepple - 2.30.0.2-2 +- Remove clean section. No longer needed. +- Update spec for new gconf macros. + +* Tue Apr 20 2010 Brian Pepple - 2.30.0.2-1 +- Update to 2.30.0.2. + +* Fri Apr 9 2010 Brian Pepple - 2.30.0.1-1 +- Update to 2.30.0.1. + +* Mon Mar 29 2010 Brian Pepple - 2.30.0-1 +- Update to 2.30.0. + +* Mon Mar 15 2010 Brian Pepple - 2.29.93-1 +- Update to 2.29.93. + +* Tue Mar 9 2010 Brian Pepple - 2.29.92-1 +- Update to 2.29.92. + +* Thu Mar 4 2010 Brian Pepple - 2.29.91.2-1 +- Update to 2.29.91.2. + +* Wed Mar 3 2010 Brian Pepple - 2.29.91.1-1 +- Update to 2.29.91.1. +- Remove DSOLinking patch. Fixed upstream. + +* Mon Feb 22 2010 Brian Pepple - 2.29.91-1 +- Update to 2.29.91. + +* Sat Feb 20 2010 Brian Pepple - 2.29.90-3 +- Rebuild for new tp-mission-control. + +* Fri Feb 19 2010 Brian Pepple - 2.29.90-2 +- Add patch to fix DSOLinking. (#564975) + +* Mon Feb 8 2010 Brian Pepple - 2.29.90-1 +- Update to 2.29.90. + +* Mon Jan 25 2010 Brian Pepple - 2.29.6-1 +- Update to 2.29.6. +- Drop xmlCleanupParser patch. Fixed upstream. + +* Wed Jan 13 2010 Brian Pepple - 2.29.5.1-2 +- Add patch to fix crasher due to misuse of xmlCleanParser. (#532307) + +* Tue Jan 12 2010 Brian Pepple - 2.29.5.1-1 +- Update to 2.29.5.1. + +* Mon Dec 21 2009 Brian Pepple - 2.29.4-1 +- Update to 2.29.4. + +* Mon Nov 30 2009 Brian Pepple - 2.29.3-1 +- Update to 2.29.3. +- Drop nautilus sendto plugin linking patch. Fixed upstream. +- Drop broken NetworkManager patch. Fixed upstream. + +* Wed Nov 18 2009 Bastien Nocera 2.29.2-2 +- Rebuild with nautilus-sendto plugin + +* Mon Nov 16 2009 Brian Pepple - 2.29.2-1 +- Update to 2.29.2. +- Remove devel, libs, and python subpackages since empathy no longer ships + libempathy and libempathy-gtk as shared libraries. +- Remove configure options no longer available. +- Update source url. +- Drop pkgconfig patch. + +* Mon Oct 26 2009 Brian Pepple - 2.28.1.1-2 +- Disable panel applets, since they are unmaintained and being dropped from Empathy. + +* Mon Oct 26 2009 Brian Pepple - 2.28.1.1-1 +- Update to 2.28.1.1. +- See http://download.gnome.org/sources/empathy/2.28/empathy-2.28.1.1.news + +* Mon Oct 26 2009 Matthias Clasen - 2.28.1-3 +- Another upstream crash fix + +* Sun Oct 25 2009 Matthias Clasen - 2.28.1-2 +- Include a number of crash fixes from the stable branch + +* Mon Oct 19 2009 Brian Pepple - 2.28.1-1 +- Update to 2.28.1. +- Drop no-settings patch. Fixed upstream. + +* Sat Oct 17 2009 Matthias Clasen - 2.28.0.1-3 +- Include an upstream fix for a possible crash in the accounts dialog + +* Tue Oct 13 2009 Brian Pepple - 2.28.0.1-2 +- Require tp-idle and tp-butterfly. + +* Fri Oct 2 2009 Brian Pepple - 2.28.0.1-1 +- Update to 2.28.0.1. +- See http://download.gnome.org/sources/empathy/2.28/empathy-2.28.0.1.news + +* Mon Sep 21 2009 Brian Pepple - 2.28.0-1 +- Update to 2.28.0. +- Drop video widget patch. Fixed upstream. +- Update src. + +* Mon Sep 14 2009 Brian Pepple - 2.27.92-2 +- Back-port patch to prevent video widget from crashing. + +* Tue Sep 8 2009 Brian Pepple - 2.27.92-1 +- Update to 2.27.92. +- Drop desktop category patch. Fixed upstream. +- Drop fix-nav-handling patch. Fixed upstream. + +* Tue Sep 1 2009 Brian Pepple - 2.27.91.1-6 +- Add patch to workaround NetworkManager pc file name change. + +* Sat Aug 29 2009 Brian Pepple - 2.27.91.1-5 +- Backport patch to fix incorrect assumption about navigation-request. (#519849) + +* Sat Aug 29 2009 Matthias Clasen - 2.27.91.1-4 +- Rebuild against newer libnm_glib + +* Wed Aug 26 2009 Brian Pepple - 2.27.91.1-3 +- Sigh.. let's drop the requires on mission-control-devel in the devel sub. + +* Wed Aug 26 2009 Brian Pepple - 2.27.91.1-2 +- Update broken pkgconfig patch to not include libmissioncontrol. +- Drop BR on telepathy-mission-control-devel. mc is a runtime dep. + +* Wed Aug 26 2009 Brian Pepple - 2.27.91.1-1 +- Update to 2.27.91.1. +- Add BR on unique-devel. +- Update presence-icons patch. +- Add patch to fix invalid category in desktop file. +- Drop clutter patch. Fixed upstream. + +* Mon Aug 24 2009 Matthias Clasen - 2.27.5-3 +- Make presence icons show up in the menus + +* Mon Aug 3 2009 Matthias Clasen - 2.27.5-2 +- Enable map and location features + +* Wed Jul 29 2009 Matthias Clasen - 2.27.5-1 +- Update to 2.27.5 + +* Fri Jul 24 2009 Fedora Release Engineering - 2.27.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 16 2009 Matthias Clasen - 2.27.4-2 +- Deal with some stubborn buttons + +* Wed Jul 15 2009 Brian Pepple - 2.27.4-1 +- Update to 2.27.4. +- See http://download.gnome.org/sources/empathy/2.27/empathy-2.27.4.news +- Drop mission-control-convert patch. +- Add BR on NetworkManager-glib-devel. + +* Thu Jul 9 2009 Matthias Clasen - 2.27.3-4 +- Require telepathy-mission-control + +* Thu Jul 2 2009 Matthias Clasen - 2.27.3-3 +- Shrink GConf schemas + +* Wed Jun 17 2009 Brian Pepple - 2.27.3-2 +- Drop libglade BR, it's no longer needed. + +* Wed Jun 17 2009 Brian Pepple - 2.27.3-1 +- Update to 2.27.3. +- See http://download.gnome.org/sources/empathy/2.27/empathy-2.27.3.news +- Add BR on webkitgtk-devel. +- Bump version of tp-glib needed. +- Update tp-mission-control-convert patch. +- TODO: Enable libchamplain & geoclue support once deps are met. + +* Sat May 30 2009 Peter Gordon - 2.27.2-1 +- Update to new upstream release (2.27.2) + +* Mon Apr 13 2009 Matthias Clasen - 2.26.1-1 +- Update to 2.26.1 +- See http://download.gnome.org/sources/empathy/2.26/empathy-2.26.1.news + +* Fri Apr 3 2009 Brian Pepple - 2.26.0.1-2 +- Update pkgconfig patch to add libcanberra-gtk requires. (#493954) + +* Mon Mar 30 2009 Peter Gordon - 2.26.0.1-1 +- Update to new upstream release (2.26.0.1): updated translations, fixes a + couple of crasher bugs and usage of the UNIX socket address. + +* Mon Mar 16 2009 Peter Gordon - 2.26.0-1 +- Update to new upstream release (2.26.0). + +* Tue Mar 03 2009 Peter Gordon - 2.25.92-1 +- Update to new upstream release (2.25.92). +- Bump minimum required telepathy-glib version. + +* Tue Feb 24 2009 Fedora Release Engineering - 2.25.91-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 16 2009 Brian Pepple - 2.25.91-1 +- Update to 2.25.91 + +* Tue Feb 10 2009 Brian Pepple - 2.25.90-1 +- Update to 2.25.90. +- Bump min version of tp-glib needed. +- Add BR on tp-farsight-devel & libnotify-devel. +- Drop Requires on tp-stream-engine. + +* Tue Jan 6 2009 Brian Pepple - 2.25.4-1 +- Update to 2.25.4. +- Add BR on libcanberra-devel. + +* Mon Dec 29 2008 Brian Pepple - 2.25.3-4 +- Add patch to work around our broken pkgconfig. + +* Mon Dec 29 2008 Brian Pepple - 2.25.3-3 +- Rebuild. + +* Sat Dec 20 2008 Brian Pepple - 2.25.3-2 +- Update mission-control-convert patch. + +* Wed Dec 17 2008 Matthias Clasen - 2.25.3-1 +- Update to 2.25.3 + +* Mon Dec 01 2008 Peter Gordon - 2.25.2-1 +- Update to new upstream release (2.25.2) + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.24.1-4 +- Rebuild for Python 2.6 + +* Fri Nov 21 2008 Matthias Clasen - 2.24.1-2 +- Tweak %%description + +* Thu Nov 20 2008 Peter Gordon +- Fix Source0 URL. + +* Mon Oct 20 2008 Matthias Clasen - 2.24.1-1 +- Update to 2.24.1 + +* Mon Sep 22 2008 Matthias Clasen - 2.24.0-1 +- Update to 2.24.0 + +* Tue Sep 9 2008 Matthias Clasen - 2.23.92-1 +- Update to 2.23.92 + +* Thu Sep 4 2008 Matthias Clasen - 2.23.91-1 +- Update to 2.23.91 + +* Sun Aug 24 2008 Peter Gordon - 2.23.90-2 +- Now that Empathy will be the default IM client in F10+, hardcode a dependency + on telepathy-haze to keep the same protocol functionality across upgrades, + for a much improved "out of the box" experience. +- Reference: bug 458935. + +* Fri Aug 22 2008 Peter Gordon - 2.23.90-1 +- Update to new upstream release (2.23.90) + +* Fri Aug 15 2008 Peter Gordon - 2.23.6-3 +- Apply patch from Colin Walters to automagically update profile namings for + the switch to using Empathy's provided profiles. +- Drop the upgrade script (no longer needed since it's automatically done). + - upgrade-haze-profiles.sh + +* Wed Aug 13 2008 Peter Gordon - 2.23.6-2 +- Use upstream's AIM, ICQ, MSN-Haze, and Yahoo profiles instead of recommending + the telepathy-haze-mission-control package. (The Haze-provided ones have grown + horribly stale...). This makes for better automagic functionality (if Haze is + installed, Empathy/MC will autodetect it) and tracks upstream more closely. + + upgrade-haze-profiles.sh + +* Mon Aug 04 2008 Peter Gordon - 2.23.6-1 +- Update to new upstream release (2.23.6) +- Use the in-tarball libtool scripts instead of the system copy to workaround + 'make install' errors. + +* Wed Jul 16 2008 Brian Pepple - 0.23.4-1 +- Update to 0.23.4. +- Update source url. + +* Mon Jun 2 2008 Brian Pepple - 0.23.3-1 +- Update to 0.23.3. +- Remove reference to stream-engine in connections managers readme. + +* Fri May 16 2008 Brian Pepple - 0.23.2-1 +- Update to 0.23.2. +- Add man pages. +- Use enchant-devel, instead of aspell-devel. + +* Fri May 16 2008 Brian Pepple - 0.23.1-3 +- Rebuild for new e-d-s. + +* Sun May 4 2008 Brian Pepple - 0.23.1-2 +- Drop multiple copies of COPYING file. +- Drop BR on gnome-vfs2-devel. +- Require telepathy-stream-engine for VOIP support. +- Add BR on iso-codes-devel, so spell-checking is enabled. + +* Wed Apr 23 2008 Peter Gordon - 0.23.1-1 +- Update to new upstream release (0.23.1) +- Drop libtelepathy dependencies; upstream switched fully to telepathy-glib. + +* Fri Apr 11 2008 Peter Gordon - 0.22.1-1 +- Update to new upstream release (0.22.1) + +* Mon Mar 10 2008 Peter Gordon - 0.22.0-1 +- Update to new upstream release (0.22.0) + +* Sun Mar 09 2008 Peter Gordon - 0.21.91-1 +- Update to new upstream release (0.21.91) + +* Fri Feb 22 2008 Peter Gordon - 0.21.90-1 +- Update to new upstream release (0.21.90) + +* Tue Feb 19 2008 Fedora Release Engineering - 0.21.4-2 +- Autorebuild for GCC 4.3 + +* Mon Dec 17 2007 Peter Gordon - 0.21.4-1 +- Update to new upstream release (0.21.4) + +* Tue Nov 13 2007 Peter Gordon - 0.21.2-1 +- Update to new upstream release (0.21.2) +- Drop backported drag-and-drop patch (fixed upstream): + - svn380-fix-contact-DnD.patch +- Update README.ConnectionManagers: Include Haze package note, remove Galago + note (a feed-only connection manager isn't useful for instant messaging), + and fix some wording. + +* Fri Oct 19 2007 Peter Gordon - 0.14-5 +- Backport upstream patch to fixes crashes when using drag-and-drop of a + contact from the buddy list to the current conversation window to initiate a + conversation: + + svn380-fix-contact-DnD.patch +- Resolves: GNOME bug 483168 (crash in Empathy Instant Messenger: I had + dragged a contact ...) + +* Tue Oct 16 2007 Peter Gordon - 0.14-4 +- Depend on Salut and Gabble to enable XMPP by default. Otherwise, Empathy + is essentially useless due to the need to install an external connection + manager. Also, add a README.ConnectionManagers to the installed + documentation which lists other possibilities. +- Resolves: bug 308871 (Make empathy dependent at least on telepathy-gabble) + and bug 334221 (Default empathy install is useless). + +* Wed Oct 10 2007 Peter Gordon - 0.14-3 +- Enable VoIP support for those brave enough to test/break/debug it (F9+ + only). Though it is functional, it is still deemed rather unstable by + upstream. Use it at your own risk. :) + +* Tue Oct 02 2007 Peter Gordon - 0.14-2 +- Disable VoIP support at this time, since it is deemed unstable by upstream + for now. (Thanks to Brian Pepple for the notice.) + +* Tue Oct 02 2007 Peter Gordon - 0.14-1 +- Update to new upstream release (0.14). + +* Sun Sep 30 2007 Peter Gordon - 0.13-1 +- Update to new upstream release (0.13), which adds a panel applet (Megaphone) + and python bindings. +- Split shared libraries into a libs subpackage for easier handling + in multi-lib environments. + +* Fri Aug 31 2007 Peter Gordon - 0.12-2 +- Add ldconfig invocations to %%post and %%postun scriptlets. + +* Fri Aug 31 2007 Peter Gordon - 0.12-1 +- Update to new upstream release (0.12). +- Build against new mission-control stack. +- Update License tag (GPLv2+). +- Alphabetize BuildRequires list (aesthetic-only change). + +* Wed Aug 29 2007 Fedora Release Engineering - 0.8-2 +- Rebuild for selinux ppc32 issue. + +* Mon Aug 13 2007 Peter Gordon - 0.11-1 +- Update to new upstream release (0.11) + +* Fri Jun 22 2007 David Nielsen - 0.8-1 +- bump to 0.8 +- Now with aspell support (deat to teh speeling mistaks) + +* Sat Jun 9 2007 David Nielsen - 0.7-1 +- bump to 0.7 + +* Mon Jun 4 2007 David Nielsen - 0.6-3 +- Add telepathy-filesystem to Requires +- Move .desktop from autostart to applications +- Nasty hackery to make empathy launch from the menu + +* Mon Jun 4 2007 David Nielsen - 0.6-2 +- Add gettext to BuildRequires + +* Fri Jun 1 2007 David Nielsen - 0.6-1 +- Bump to 0.6 + +* Fri Jun 1 2007 David Nielsen - 0.5-2 +- Let Empathy own the directory and not just the files in it + +* Wed May 30 2007 David Nielsen - 0.5-1 +- Initial package