mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-libs/loudmouth: Drop old
Package-Manager: Portage-2.3.28, Repoman-2.3.9
This commit is contained in:
@@ -1,3 +1,2 @@
|
||||
DIST loudmouth-1.4.3.tar.bz2 366818 BLAKE2B bd51261de4b998c699971ccdf3e02dcdea00d05cfc1f85b6712322de80179ea3fb2585d84fbbe0abc60a1ec351e22f51f37aee443027a6dbbdd484cdf3e4b5cc SHA512 02d1de14a4d626a4c9100bd24c06d4b4203eabb0f95bab40ee18ea5e68ed81d47aa977625140157b2d9f7974ac748af857c2ee3a916f0db700e2a2d0934940ec
|
||||
DIST loudmouth-1.5.2.tar.gz 115940 BLAKE2B cf9134fb68e09c4f03e605227a42b9fc092d5f4f5524a39e044f6bd573e7b9a0e7ba1161cda2655cdc513a05673dfa3600d0548209230314a9455c7a912123b7 SHA512 54c3eb7ef99604d7e2d5560dc6e5be176a188e6a0d82ae6c2f488e30f06553039aa03d6f818cec25f354479a2624f60f2233d7e63b54f331e934d554de9bfc87
|
||||
DIST loudmouth-1.5.3.tar.gz 114676 BLAKE2B 7a73e4e65046608fc8ec571b5448ab8344a8aed554fee1ecf7badd2ca5ed382ddb27e6ba7bd5d0a76d978d3079415b307f1b4ca77da450003ae936191cdbd33e SHA512 afae8b4ad1e9e5558cffa8f6b9f25331b01cfa09ea0b3defb74cac7d39477744e6d9181d3adefe242038020759df43558de0e61305fbc8e12a3b293b82856bf7
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
--- a/loudmouth/lm-socket.c
|
||||
+++ b/loudmouth/lm-socket.c
|
||||
@@ -1022,7 +1022,7 @@ _lm_socket_create_phase2 (LmSocket *socket, struct addrinfo *ans)
|
||||
if (socket->connect_func) {
|
||||
(socket->connect_func) (socket, FALSE, socket->user_data;
|
||||
}
|
||||
- g_free (socket->connect_data);
|
||||
+ g_free (socket->connect_data);
|
||||
socket->connect_data = NULL;
|
||||
return;
|
||||
}
|
||||
@@ -1107,6 +1107,10 @@ lm_socket_create (GMainContext *context,
|
||||
_lm_socket_create_phase1 (socket, NULL, 0);
|
||||
}
|
||||
|
||||
+#ifndef HAVE_ASYNCNS
|
||||
+ /* Only do this check if we are not using asyncns or it will crash.
|
||||
+ * Report and patch by Senko.
|
||||
+ */
|
||||
if (socket->connect_data == NULL) {
|
||||
/* Open failed synchronously, probably a DNS lookup problem */
|
||||
lm_socket_unref(socket);
|
||||
@@ -1118,6 +1122,7 @@ lm_socket_create (GMainContext *context,
|
||||
|
||||
return NULL;
|
||||
}
|
||||
+#endif /* HAVE_ASYNCNS */
|
||||
|
||||
|
||||
/* If the connection fails synchronously, we don't want to call the
|
||||
@@ -1,83 +0,0 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9369e55..17a9e1d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -199,19 +199,31 @@ AM_CONDITIONAL(USE_GNUTLS, test x$enable_ssl = xGnuTLS)
|
||||
dnl +-------------------------------------------------------------------+
|
||||
dnl | Checking for libasyncns |
|
||||
dnl +-------------------------------------------------------------------+
|
||||
-AC_ARG_WITH(asyncns, [ --with-asyncns=yes/no define whether to use libasyncns, default=no],
|
||||
- ac_asyncns=$withval,
|
||||
- ac_asyncns=no
|
||||
- )
|
||||
+AC_ARG_WITH(asyncns,
|
||||
+ AS_HELP_STRING([--with-asyncns],
|
||||
+ [define whether to use libasyncns, @<:@default=no@:>@ (internal/system/no)]),
|
||||
+ ac_asyncns=$withval,
|
||||
+ ac_asyncns=no)
|
||||
|
||||
enable_asyncns=no
|
||||
+have_asyncns_system=no
|
||||
if test x$ac_asyncns != xno; then
|
||||
enable_asyncns=yes
|
||||
AC_DEFINE(HAVE_ASYNCNS, 1, [Whether to use libasyncns])
|
||||
+
|
||||
+ if test x$ac_asyncns = xsystem; then
|
||||
+ PKG_CHECK_MODULES(ASYNCNS, [libasyncns >= 0.3],
|
||||
+ [have_asyncns_system=yes],
|
||||
+ [have_asyncns_system=no])
|
||||
+ fi
|
||||
else
|
||||
echo "Not using asynchronous dns lookups"
|
||||
fi
|
||||
|
||||
+AC_SUBST(ASYNCNS_CFLAGS)
|
||||
+AC_SUBST(ASYNCNS_LIBS)
|
||||
+AM_CONDITIONAL(USE_SYSTEM_ASYNCNS, test x$have_asyncns_system = xyes)
|
||||
+
|
||||
dnl +-------------------------------------------------------------------+
|
||||
dnl | Checking for Linux TCP/IP stack |
|
||||
dnl +-------------------------------------------------------------------+
|
||||
diff --git a/loudmouth/Makefile.am b/loudmouth/Makefile.am
|
||||
index f73aa0c..e308e1c 100644
|
||||
--- a/loudmouth/Makefile.am
|
||||
+++ b/loudmouth/Makefile.am
|
||||
@@ -6,6 +6,7 @@ AM_CPPFLAGS = \
|
||||
-I. \
|
||||
-I$(top_srcdir) \
|
||||
$(LOUDMOUTH_CFLAGS) \
|
||||
+ $(ASYNCNS_CFLAGS) \
|
||||
$(LIBIDN_CFLAGS) \
|
||||
-DLM_COMPILATION \
|
||||
-DRUNTIME_ENDIAN \
|
||||
@@ -51,8 +52,6 @@ libloudmouth_1_la_SOURCES = \
|
||||
lm-sock.c \
|
||||
lm-socket.c \
|
||||
lm-socket.h \
|
||||
- asyncns.c \
|
||||
- asyncns.h \
|
||||
lm-sasl.c \
|
||||
lm-sasl.h \
|
||||
md5.c \
|
||||
@@ -61,6 +60,13 @@ libloudmouth_1_la_SOURCES = \
|
||||
base64.h \
|
||||
$(NULL)
|
||||
|
||||
+if ! USE_SYSTEM_ASYNCNS
|
||||
+libloudmouth_1_la_SOURCES += \
|
||||
+ asyncns.c \
|
||||
+ asyncns.h \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
+
|
||||
libloudmouthinclude_HEADERS = \
|
||||
lm-connection.h \
|
||||
lm-error.h \
|
||||
@@ -75,6 +81,7 @@ libloudmouthinclude_HEADERS = \
|
||||
|
||||
libloudmouth_1_la_LIBADD = \
|
||||
$(LOUDMOUTH_LIBS) \
|
||||
+ $(ASYNCNS_LIBS) \
|
||||
$(LIBIDN_LIBS) \
|
||||
-lresolv
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
|
||||
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
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
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,
|
||||
@@ -1,137 +0,0 @@
|
||||
From ff113220df9073c3e6078487e87b6a7b86e2d952 Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Hallendal <micke@imendio.com>
|
||||
Date: Sun, 30 Nov 2008 09:27:21 +0100
|
||||
Subject: [PATCH] Don't free connection internals before it's closed. [#34]
|
||||
|
||||
When the connection freed up internal states (in this case the handler
|
||||
lists) before closing itself it segfaulted when trying to unregister the
|
||||
SASL handlers.
|
||||
|
||||
Reported by Julien Puydt.
|
||||
---
|
||||
loudmouth/lm-connection.c | 30 +++++++++++++++++-------------
|
||||
loudmouth/lm-sasl.c | 18 +++++++++---------
|
||||
2 files changed, 26 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/loudmouth/lm-connection.c b/loudmouth/lm-connection.c
|
||||
index 915c0ad..dda2978 100644
|
||||
--- a/loudmouth/lm-connection.c
|
||||
+++ b/loudmouth/lm-connection.c
|
||||
@@ -191,13 +191,21 @@ connection_free (LmConnection *connection)
|
||||
{
|
||||
int i;
|
||||
|
||||
+ /* This needs to be run before starting to free internal states.
|
||||
+ * It used to be run after the handlers where freed which lead to a crash
|
||||
+ * when the connection was freed prior to running lm_connection_close.
|
||||
+ */
|
||||
+ if (connection->state >= LM_CONNECTION_STATE_OPENING) {
|
||||
+ connection_do_close (connection);
|
||||
+ }
|
||||
+
|
||||
g_free (connection->server);
|
||||
g_free (connection->jid);
|
||||
g_free (connection->effective_jid);
|
||||
g_free (connection->stream_id);
|
||||
g_free (connection->resource);
|
||||
|
||||
- if (connection->sasl) {
|
||||
+ if (connection->sasl) {
|
||||
lm_sasl_free (connection->sasl);
|
||||
}
|
||||
|
||||
@@ -218,13 +226,9 @@ connection_free (LmConnection *connection)
|
||||
|
||||
g_slist_free (connection->handlers[i]);
|
||||
}
|
||||
-
|
||||
g_hash_table_destroy (connection->id_handlers);
|
||||
- if (connection->state >= LM_CONNECTION_STATE_OPENING) {
|
||||
- connection_do_close (connection);
|
||||
- }
|
||||
|
||||
- if (connection->open_cb) {
|
||||
+ if (connection->open_cb) {
|
||||
_lm_utils_free_callback (connection->open_cb);
|
||||
}
|
||||
|
||||
@@ -2030,11 +2034,11 @@ lm_connection_unregister_message_handler (LmConnection *connection,
|
||||
g_return_if_fail (handler != NULL);
|
||||
g_return_if_fail (type != LM_MESSAGE_TYPE_UNKNOWN);
|
||||
|
||||
- for (l = connection->handlers[type]; l; l = l->next) {
|
||||
- HandlerData *hd = (HandlerData *) l->data;
|
||||
-
|
||||
+ for (l = connection->handlers[type]; l; l = l->next) {
|
||||
+ HandlerData *hd = (HandlerData *) l->data;
|
||||
+
|
||||
if (handler == hd->handler) {
|
||||
- connection->handlers[type] = g_slist_remove_link (connection->handlers[type], l);
|
||||
+ connection->handlers[type] = g_slist_remove_link (connection->handlers[type], l);
|
||||
g_slist_free (l);
|
||||
lm_message_handler_unref (hd->handler);
|
||||
g_free (hd);
|
||||
@@ -2140,7 +2144,7 @@ lm_connection_ref (LmConnection *connection)
|
||||
g_return_val_if_fail (connection != NULL, NULL);
|
||||
|
||||
connection->ref_count++;
|
||||
-
|
||||
+
|
||||
return connection;
|
||||
}
|
||||
|
||||
@@ -2157,8 +2161,8 @@ lm_connection_unref (LmConnection *connection)
|
||||
g_return_if_fail (connection != NULL);
|
||||
|
||||
connection->ref_count--;
|
||||
-
|
||||
+
|
||||
if (connection->ref_count == 0) {
|
||||
- connection_free (connection);
|
||||
+ connection_free (connection);
|
||||
}
|
||||
}
|
||||
diff --git a/loudmouth/lm-sasl.c b/loudmouth/lm-sasl.c
|
||||
index 42ee0e1..e6a72f5 100644
|
||||
--- a/loudmouth/lm-sasl.c
|
||||
+++ b/loudmouth/lm-sasl.c
|
||||
@@ -807,27 +807,27 @@ lm_sasl_free (LmSASL *sasl)
|
||||
g_free (sasl->server);
|
||||
|
||||
if (sasl->features_cb) {
|
||||
- lm_connection_unregister_message_handler (sasl->connection,
|
||||
- sasl->features_cb,
|
||||
- LM_MESSAGE_TYPE_STREAM_FEATURES);
|
||||
+ lm_connection_unregister_message_handler (sasl->connection,
|
||||
+ sasl->features_cb,
|
||||
+ LM_MESSAGE_TYPE_STREAM_FEATURES);
|
||||
}
|
||||
|
||||
if (sasl->challenge_cb) {
|
||||
lm_connection_unregister_message_handler (sasl->connection,
|
||||
- sasl->challenge_cb,
|
||||
- LM_MESSAGE_TYPE_CHALLENGE);
|
||||
+ sasl->challenge_cb,
|
||||
+ LM_MESSAGE_TYPE_CHALLENGE);
|
||||
}
|
||||
|
||||
if (sasl->success_cb) {
|
||||
lm_connection_unregister_message_handler (sasl->connection,
|
||||
- sasl->success_cb,
|
||||
- LM_MESSAGE_TYPE_SUCCESS);
|
||||
+ sasl->success_cb,
|
||||
+ LM_MESSAGE_TYPE_SUCCESS);
|
||||
}
|
||||
|
||||
if (sasl->failure_cb) {
|
||||
lm_connection_unregister_message_handler (sasl->connection,
|
||||
- sasl->failure_cb,
|
||||
- LM_MESSAGE_TYPE_FAILURE);
|
||||
+ sasl->failure_cb,
|
||||
+ LM_MESSAGE_TYPE_FAILURE);
|
||||
}
|
||||
|
||||
g_free (sasl);
|
||||
--
|
||||
1.7.7.1
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
Index: loudmouth-1.4.3/loudmouth/lm-error.c
|
||||
===================================================================
|
||||
--- loudmouth-1.4.3.orig/loudmouth/lm-error.c
|
||||
+++ loudmouth-1.4.3/loudmouth/lm-error.c
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
-#include <glib/gerror.h>
|
||||
+#include <glib.h>
|
||||
#include "lm-error.h"
|
||||
|
||||
/**
|
||||
@@ -1,15 +0,0 @@
|
||||
# Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=272027
|
||||
# Patch from mandriva
|
||||
--- a/configure.ac 2009-05-30 17:59:03.000000000 +0200
|
||||
+++ b/configure.ac 2009-05-30 18:02:24.000000000 +0200
|
||||
@@ -146,8 +146,9 @@
|
||||
enable_ssl=no
|
||||
if test "x$ac_ssl" = "xgnutls"; then
|
||||
dnl Look for GnuTLS
|
||||
- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no)
|
||||
+ PKG_CHECK_EXISTS([gnutls >= $GNUTLS_REQUIRED], have_libgnutls=yes, have_libgnutls=no)
|
||||
if test "x$have_libgnutls" = "xyes"; then
|
||||
+ PKG_CHECK_MODULES(LIBGNUTLS, [gnutls >= $GNUTLS_REQUIRED])
|
||||
CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
|
||||
LIBS="$LIBS $LIBGNUTLS_LIBS"
|
||||
AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
|
||||
@@ -1,35 +0,0 @@
|
||||
From 6f3a168d985d37af42e747412b5d6d427b4d1ab8 Mon Sep 17 00:00:00 2001
|
||||
From: Will Thompson <will.thompson@collabora.co.uk>
|
||||
Date: Wed, 5 Nov 2008 23:19:42 +0100
|
||||
Subject: [PATCH] Don't append the 'id'-tag in opening stream headers. [#30]
|
||||
|
||||
According to RFC 3920 (section 4.4) the id attribute SHOULD NOT be added
|
||||
by the initiating party.
|
||||
|
||||
[#30 responsible:Hallski state:resolved milestone:Loudmouth 1.4.4 tagged:committed]
|
||||
---
|
||||
loudmouth/lm-message.c | 8 +++++---
|
||||
1 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/loudmouth/lm-message.c b/loudmouth/lm-message.c
|
||||
index a7d1b46..e2fdcc2 100644
|
||||
--- a/loudmouth/lm-message.c
|
||||
+++ b/loudmouth/lm-message.c
|
||||
@@ -223,9 +223,11 @@ lm_message_new (const gchar *to, LmMessageType type)
|
||||
|
||||
m->node = _lm_message_node_new (_lm_message_type_to_string (type));
|
||||
|
||||
- id = _lm_utils_generate_id ();
|
||||
- lm_message_node_set_attribute (m->node, "id", id);
|
||||
- g_free (id);
|
||||
+ if (type != LM_MESSAGE_TYPE_STREAM) {
|
||||
+ id = _lm_utils_generate_id ();
|
||||
+ lm_message_node_set_attribute (m->node, "id", id);
|
||||
+ g_free (id);
|
||||
+ }
|
||||
|
||||
if (to) {
|
||||
lm_message_node_set_attribute (m->node, "to", to);
|
||||
--
|
||||
1.7.7.1
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
From e08dbcca6cf50c834e2fe4e7290cce642903251d Mon Sep 17 00:00:00 2001
|
||||
From: Hermitifier <quantifier666@gmail.com>
|
||||
Date: Mon, 3 Oct 2011 17:06:18 +0200
|
||||
Subject: [PATCH] Protect GMarkup parser against invalid unicode characters
|
||||
|
||||
[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 1.4.3]
|
||||
|
||||
http://loudmouth.lighthouseapp.com/projects/17276/tickets/61
|
||||
---
|
||||
loudmouth/lm-parser.c | 94 ++++++++++++++++++++++++++++++++++++++++++++-----
|
||||
1 files changed, 85 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/loudmouth/lm-parser.c b/loudmouth/lm-parser.c
|
||||
index 89f6675..0a61a56 100644
|
||||
--- a/loudmouth/lm-parser.c
|
||||
+++ b/loudmouth/lm-parser.c
|
||||
@@ -43,6 +43,8 @@ struct LmParser {
|
||||
|
||||
GMarkupParser *m_parser;
|
||||
GMarkupParseContext *context;
|
||||
+ gchar *incomplete; /* incomplete utf-8 character
|
||||
+ found at the end of buffer */
|
||||
};
|
||||
|
||||
|
||||
@@ -233,25 +235,98 @@ lm_parser_new (LmParserMessageFunction function,
|
||||
parser->cur_root = NULL;
|
||||
parser->cur_node = NULL;
|
||||
|
||||
+ parser->incomplete = NULL;
|
||||
+
|
||||
return parser;
|
||||
}
|
||||
|
||||
+static gchar *
|
||||
+_lm_parser_make_valid (const gchar *buffer, gchar **incomplete)
|
||||
+{
|
||||
+ GString *string;
|
||||
+ const gchar *remainder, *invalid;
|
||||
+ gint remaining_bytes, valid_bytes;
|
||||
+ gunichar code; /*error code for invalid character*/
|
||||
+
|
||||
+ g_return_val_if_fail (buffer != NULL, NULL);
|
||||
+
|
||||
+ string = NULL;
|
||||
+ remainder = buffer;
|
||||
+ remaining_bytes = strlen (buffer);
|
||||
+
|
||||
+ while (remaining_bytes != 0)
|
||||
+ {
|
||||
+ if (g_utf8_validate (remainder, remaining_bytes, &invalid))
|
||||
+ break;
|
||||
+ valid_bytes = invalid - remainder;
|
||||
+
|
||||
+ if (string == NULL)
|
||||
+ string = g_string_sized_new (remaining_bytes);
|
||||
+
|
||||
+ g_string_append_len (string, remainder, valid_bytes);
|
||||
+
|
||||
+ remainder = g_utf8_find_next_char(invalid, NULL);
|
||||
+ remaining_bytes -= valid_bytes + (remainder - invalid);
|
||||
+
|
||||
+ code = g_utf8_get_char_validated (invalid, -1);
|
||||
+
|
||||
+ if (code == -1) {
|
||||
+ /* A complete but invalid codepoint */
|
||||
+ /* append U+FFFD REPLACEMENT CHARACTER */
|
||||
+ g_string_append (string, "\357\277\275");
|
||||
+#ifndef LM_NO_DEBUG
|
||||
+ g_debug ("invalid character!\n");
|
||||
+#endif
|
||||
+ } else if (code == -2) {
|
||||
+ /* Beginning of what could be a character */
|
||||
+ *incomplete = g_strdup (invalid);
|
||||
+#ifndef LM_NO_DEBUG
|
||||
+ g_debug ("incomplete character: %s\n", *incomplete);
|
||||
+#endif
|
||||
+
|
||||
+ g_assert (remaining_bytes == 0);
|
||||
+ g_assert (*(g_utf8_find_next_char(invalid, NULL)) == '\0');
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (string == NULL)
|
||||
+ return g_strdup (buffer);
|
||||
+
|
||||
+ g_string_append (string, remainder);
|
||||
+
|
||||
+ g_assert (g_utf8_validate (string->str, -1, NULL));
|
||||
+
|
||||
+ return g_string_free (string, FALSE);
|
||||
+}
|
||||
+
|
||||
+
|
||||
void
|
||||
lm_parser_parse (LmParser *parser, const gchar *string)
|
||||
{
|
||||
+ gchar *valid, *completed;
|
||||
g_return_if_fail (parser != NULL);
|
||||
|
||||
- if (!parser->context) {
|
||||
- parser->context = g_markup_parse_context_new (parser->m_parser, 0,
|
||||
- parser, NULL);
|
||||
- }
|
||||
-
|
||||
- if (g_markup_parse_context_parse (parser->context, string,
|
||||
- (gssize)strlen (string), NULL)) {
|
||||
- } else {
|
||||
+ if (!parser->context) {
|
||||
+ parser->context = g_markup_parse_context_new (parser->m_parser, 0,
|
||||
+ parser, NULL);
|
||||
+ }
|
||||
+
|
||||
+ if (parser->incomplete) {
|
||||
+ completed = g_strdup_printf("%s%s", parser->incomplete, string);
|
||||
+ g_free(parser->incomplete);
|
||||
+ parser->incomplete = NULL;
|
||||
+ } else {
|
||||
+ completed = g_strdup(string);
|
||||
+ }
|
||||
+ valid = _lm_parser_make_valid (completed, &parser->incomplete);
|
||||
+ g_free(completed);
|
||||
+ if (g_markup_parse_context_parse (parser->context, valid,
|
||||
+ (gssize)strlen (valid), NULL)) {
|
||||
+ } else {
|
||||
g_markup_parse_context_free (parser->context);
|
||||
parser->context = NULL;
|
||||
- }
|
||||
+ }
|
||||
+ g_free(valid);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -264,6 +339,7 @@ lm_parser_free (LmParser *parser)
|
||||
if (parser->context) {
|
||||
g_markup_parse_context_free (parser->context);
|
||||
}
|
||||
+ g_free (parser->incomplete);
|
||||
g_free (parser->m_parser);
|
||||
g_free (parser);
|
||||
}
|
||||
--
|
||||
1.7.7.1
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
From 4d8a5ea64abb65ed086efc3e32125c529068acbe Mon Sep 17 00:00:00 2001
|
||||
From: Mikael Hallendal <micke@imendio.com>
|
||||
Date: Wed, 19 Nov 2008 10:16:40 +0100
|
||||
Subject: [PATCH] Silence chdir by catching return value
|
||||
|
||||
---
|
||||
loudmouth/asyncns.c | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/loudmouth/asyncns.c b/loudmouth/asyncns.c
|
||||
index 9b238fa..55cb471 100644
|
||||
--- a/loudmouth/asyncns.c
|
||||
+++ b/loudmouth/asyncns.c
|
||||
@@ -382,6 +382,7 @@ static int process_worker(int in_fd, int out_fd) {
|
||||
int have_death_sig = 0;
|
||||
assert(in_fd > 2);
|
||||
assert(out_fd > 2);
|
||||
+ int no_warn;
|
||||
|
||||
close(0);
|
||||
close(1);
|
||||
@@ -391,7 +392,7 @@ static int process_worker(int in_fd, int out_fd) {
|
||||
open("/dev/null", O_WRONLY);
|
||||
open("/dev/null", O_WRONLY);
|
||||
|
||||
- chdir("/");
|
||||
+ no_warn = chdir("/");
|
||||
|
||||
if (geteuid() == 0) {
|
||||
struct passwd *pw;
|
||||
--
|
||||
1.7.7.1
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
GNOME_TARBALL_SUFFIX="bz2"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
# Not using gnome macro, but behavior is similar, #434736
|
||||
GCONF_DEBUG="yes"
|
||||
|
||||
inherit autotools eutils gnome2
|
||||
|
||||
DESCRIPTION="Lightweight C Jabber library"
|
||||
HOMEPAGE="https://github.com/engineyard/loudmouth"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86 ~ppc-macos"
|
||||
|
||||
IUSE="asyncns ssl static-libs test"
|
||||
|
||||
# Automagic libidn dependency
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.4:2
|
||||
net-dns/libidn
|
||||
ssl? ( >=net-libs/gnutls-1.4.0 )
|
||||
asyncns? ( net-libs/libasyncns )
|
||||
"
|
||||
# FIXME:
|
||||
# openssl dropped because of bug #216705
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/check )
|
||||
virtual/pkgconfig
|
||||
>=dev-util/gtk-doc-am-1
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
# Use system libasyncns, bug #236844
|
||||
epatch "${FILESDIR}/${P}-asyncns-system.patch"
|
||||
|
||||
# Fix detection of gnutls-2.8, bug #272027
|
||||
epatch "${FILESDIR}/${P}-gnutls28.patch"
|
||||
|
||||
# Fix digest auth with SRV (or similar)
|
||||
# Upstream: http://loudmouth.lighthouseapp.com/projects/17276-libloudmouth/tickets/44-md5-digest-uri-not-set-correctly-when-using-srv
|
||||
epatch "${FILESDIR}/${P}-fix-sasl-md5-digest-uri.patch"
|
||||
|
||||
# Drop stanzas when failing to convert them to LmMessages
|
||||
# From debian..
|
||||
epatch "${FILESDIR}/${P}-drop-stanzas-on-fail.patch"
|
||||
|
||||
# Don't check for sync dns problems when using asyncns [#33]
|
||||
# From debian..
|
||||
epatch "${FILESDIR}/${P}-async-fix.patch"
|
||||
|
||||
# Don't append id tag in opening headers [#30]
|
||||
epatch "${FILESDIR}/${P}-id-tag-in-opening-headers.patch"
|
||||
|
||||
# Silence chdir, from engineyard git
|
||||
epatch "${FILESDIR}/${P}-silence-chdir.patch"
|
||||
|
||||
# Don't free connection internals before connection is closed [#34]
|
||||
epatch "${FILESDIR}/${P}-free-before-closed.patch"
|
||||
|
||||
# Check for invalid utf8, bug #389127
|
||||
# Upstream: http://loudmouth.lighthouseapp.com/projects/17276/tickets/61
|
||||
epatch "${FILESDIR}/${P}-invalid-unicode.patch"
|
||||
|
||||
# http://loudmouth.lighthouseapp.com/projects/17276/tickets/63
|
||||
epatch "${FILESDIR}/${P}-glib-2.32.patch"
|
||||
|
||||
sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467694
|
||||
|
||||
eautoreconf
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf
|
||||
|
||||
if use ssl; then
|
||||
myconf="${myconf} --with-ssl=gnutls"
|
||||
else
|
||||
myconf="${myconf} --with-ssl=no"
|
||||
fi
|
||||
|
||||
if use asyncns; then
|
||||
myconf="${myconf} --with-asyncns=system"
|
||||
else
|
||||
myconf="${myconf} --without-asyncns"
|
||||
fi
|
||||
gnome2_src_configure \
|
||||
$(use_enable static-libs static) \
|
||||
${myconf}
|
||||
}
|
||||
Reference in New Issue
Block a user