summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authornoiseless2015-06-09 00:54:43 +0300
committernoiseless2015-06-09 00:54:43 +0300
commit406bbe8c3ebc78199504fa7465560f4bbe5a96a0 (patch)
tree099dc1eec559e92ef9dd050b589893005a8e7cec
downloadaur-406bbe8c3ebc78199504fa7465560f4bbe5a96a0.tar.gz
Initial import
-rw-r--r--.SRCINFO29
-rw-r--r--01-fix-sasl-md5-digest-uri.patch24
-rw-r--r--03-drop-stanzas-on-fail.patch45
-rw-r--r--07-glib-single-include.patch17
-rw-r--r--08-fix-ipv6-connect.patch28
-rw-r--r--PKGBUILD49
6 files changed, 192 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..0726f88958f6
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = loudmouth-ossl
+ pkgdesc = A lightweight Jabber client library written in C/Glib. Build with OpenSSL instead of gnutsl (build with gnutls don't work with latest mcabber)
+ pkgver = 1.4.3
+ pkgrel = 5
+ url = http://groups.google.com/group/loudmouth-dev
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ makedepends = intltool
+ makedepends = pkgconfig
+ makedepends = gtk-doc
+ depends = glib2
+ depends = openssl
+ depends = libidn
+ conflicts = loudmouth
+ options = !libtool
+ source = http://ftp.gnome.org/pub/gnome/sources/loudmouth/1.4/loudmouth-1.4.3.tar.bz2
+ source = 01-fix-sasl-md5-digest-uri.patch
+ source = 03-drop-stanzas-on-fail.patch
+ source = 07-glib-single-include.patch
+ source = 08-fix-ipv6-connect.patch
+ md5sums = 55339ca42494690c3942ee1465a96937
+ md5sums = dc799cea18b24847b1e008c7424010a3
+ md5sums = b7b2d81b01a5eee5fd5e21cae67b4af7
+ md5sums = d1546ed54740de536f6bb79a18c5dccb
+ md5sums = 8e3071299776d32b9be27bba7d3f9ae0
+
+pkgname = loudmouth-ossl
+
diff --git a/01-fix-sasl-md5-digest-uri.patch b/01-fix-sasl-md5-digest-uri.patch
new file mode 100644
index 000000000000..5bca69c0c15e
--- /dev/null
+++ b/01-fix-sasl-md5-digest-uri.patch
@@ -0,0 +1,24 @@
+diff --git a/loudmouth/lm-connection.c b/loudmouth/lm-connection.c
+index 21c1bc2..ae8de94 100644
+--- a/loudmouth/lm-connection.c
++++ b/loudmouth/lm-connection.c
+@@ -1441,11 +1441,18 @@ lm_connection_authenticate (LmConnection *connection,
+ connection->effective_jid = g_strdup_printf ("%s/%s",
+ connection->jid, connection->resource);
+
+ if (connection->use_sasl) {
++ gchar *domain = NULL;
++
++ if (!connection_get_server_from_jid (connection->jid, &domain)) {
++ domain = g_strdup (connection->server);
++ }
++
+ lm_sasl_authenticate (connection->sasl,
+ username, password,
+- connection->server,
++ domain,
+ connection_sasl_auth_finished);
++ g_free (domain);
+
+ connection->features_cb =
+ lm_message_handler_new (connection_features_cb,
diff --git a/03-drop-stanzas-on-fail.patch b/03-drop-stanzas-on-fail.patch
new file mode 100644
index 000000000000..87b86a99828f
--- /dev/null
+++ b/03-drop-stanzas-on-fail.patch
@@ -0,0 +1,45 @@
+From: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
+Date: Tue, 13 Jan 2009 11:28:44 +0000
+Subject: [PATCH] Drop stanzas when failing to convert them to LmMessages
+
+when a stanza comes in that for some reason can't be parsed into an LmMessage,
+just drop them on the floor instead of blocking the parser. I've seen this
+issue happen in practise because some (buggy?) client sending an iq with a
+prefix e.g. <client:iq xmlns:client="jabber:client" ... />
+---
+ loudmouth/lm-parser.c | 15 ++++++---------
+ 1 files changed, 6 insertions(+), 9 deletions(-)
+
+diff --git a/loudmouth/lm-parser.c b/loudmouth/lm-parser.c
+index 1938d56..89f6675 100644
+--- a/loudmouth/lm-parser.c
++++ b/loudmouth/lm-parser.c
+@@ -151,19 +151,16 @@ parser_end_node_cb (GMarkupParseContext *context,
+ if (!m) {
+ g_warning ("Couldn't create message: %s\n",
+ parser->cur_root->name);
+- return;
+- }
+-
+- g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
++ } else {
++ g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER,
+ "Have a new message\n");
+- if (parser->function) {
+- (* parser->function) (parser, m, parser->user_data);
++ if (parser->function) {
++ (* parser->function) (parser, m, parser->user_data);
++ }
++ lm_message_unref (m);
+ }
+
+- lm_message_unref (m);
+ lm_message_node_unref (parser->cur_root);
+-
+-
+ parser->cur_node = parser->cur_root = NULL;
+ } else {
+ LmMessageNode *tmp_node;
+--
+1.5.6.5
+
diff --git a/07-glib-single-include.patch b/07-glib-single-include.patch
new file mode 100644
index 000000000000..074b29526a11
--- /dev/null
+++ b/07-glib-single-include.patch
@@ -0,0 +1,17 @@
+Description: Fix build failure with glib 2.32
+ where including individual glib headers is no longer allowed.
+Author: Michael Biebl <biebl@debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=665576
+Index: loudmouth-1.4.3/loudmouth/lm-error.c
+===================================================================
+--- loudmouth-1.4.3.orig/loudmouth/lm-error.c 2008-10-29 21:48:15.000000000 +0100
++++ loudmouth-1.4.3/loudmouth/lm-error.c 2012-03-26 00:24:19.518939657 +0200
+@@ -19,7 +19,7 @@
+ */
+
+ #include <config.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include "lm-error.h"
+
+ /**
diff --git a/08-fix-ipv6-connect.patch b/08-fix-ipv6-connect.patch
new file mode 100644
index 000000000000..b8815a7de0dd
--- /dev/null
+++ b/08-fix-ipv6-connect.patch
@@ -0,0 +1,28 @@
+Description: fix crash when falling back from IPv6 to IPv4
+ Previously, loudmouth would set socket->watch_connect to NULL when
+ encountering an error. When the connection attempt (to a different IPv6)
+ succeeded later on, _lm_socket_succeeded would therefore not remove the
+ socket_connect_cb watcher, leading to socket_connect_cb being called upon
+ socket activity and segfaulting the program.
+Author: Michael Stapelberg <stapelberg@debian.org>
+Bug-Debian: http://bugs.debian.org/631729
+Forwarded: no
+Last-Update: 2013-02-03
+--- a/loudmouth/lm-socket.c
++++ b/loudmouth/lm-socket.c
+@@ -529,7 +529,6 @@
+ /* error condition, but might be possible to recover
+ * from it (by connecting to the next host) */
+ if (!_lm_socket_failed_with_error (connect_data, err)) {
+- socket->watch_connect = NULL;
+ goto out;
+ }
+ }
+@@ -560,7 +559,6 @@
+ _lm_sock_close (connect_data->fd);
+ _lm_socket_failed_with_error (connect_data, err);
+
+- socket->watch_connect = NULL;
+ goto out;
+ }
+ }
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..ec862262a13d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+# Contributor: Brice Carpentier <brice.carpentier@orange.fr>
+# Contributoe: Andrew <darkseed2007@yandex.ru>
+
+pkgname=loudmouth-ossl
+pkgver=1.4.3
+pkgrel=5
+pkgdesc="A lightweight Jabber client library written in C/Glib. Build with OpenSSL instead of gnutsl (build with gnutls don't work with latest mcabber)"
+arch=('i686' 'x86_64')
+license=('LGPL')
+url="http://groups.google.com/group/loudmouth-dev"
+depends=('glib2' 'openssl' 'libidn')
+conflicts=(loudmouth)
+options=('!libtool')
+makedepends=('intltool' 'pkgconfig' 'gtk-doc')
+source=(http://ftp.gnome.org/pub/gnome/sources/loudmouth/1.4/loudmouth-${pkgver}.tar.bz2
+ 01-fix-sasl-md5-digest-uri.patch
+ 03-drop-stanzas-on-fail.patch
+ 07-glib-single-include.patch
+ 08-fix-ipv6-connect.patch)
+md5sums=('55339ca42494690c3942ee1465a96937'
+ 'dc799cea18b24847b1e008c7424010a3'
+ 'b7b2d81b01a5eee5fd5e21cae67b4af7'
+ 'd1546ed54740de536f6bb79a18c5dccb'
+ '8e3071299776d32b9be27bba7d3f9ae0')
+
+prepare() {
+ cd "${srcdir}/loudmouth-${pkgver}"
+ patch -Np1 -i ../01-fix-sasl-md5-digest-uri.patch
+ patch -Np1 -i ../03-drop-stanzas-on-fail.patch
+ patch -Np1 -i ../07-glib-single-include.patch
+ patch -Np1 -i ../08-fix-ipv6-connect.patch
+ libtoolize --force
+ aclocal
+ autoconf
+ automake --add-missing
+}
+build() {
+ cd "${srcdir}/loudmouth-${pkgver}"
+ ./configure --prefix=/usr --disable-static --with-ssl=openssl
+ make
+}
+
+package() {
+ cd "${srcdir}/loudmouth-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}