aboutsummaryrefslogtreecommitdiffstats
path: root/main/loudmouth/03-drop-stanzas-on-fail.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-02-20 09:52:01 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-02-20 09:54:19 +0000
commitf1e2848544e198ef0f35acb3dcfd5c7d48153b51 (patch)
tree2c7edd5fd09b1060fac2f744762134fe7e6e46f4 /main/loudmouth/03-drop-stanzas-on-fail.patch
parent4917c6fd5f8db34e84adeb09a992fdd490a75404 (diff)
downloadaports-f1e2848544e198ef0f35acb3dcfd5c7d48153b51.tar.gz
aports-f1e2848544e198ef0f35acb3dcfd5c7d48153b51.tar.bz2
aports-f1e2848544e198ef0f35acb3dcfd5c7d48153b51.tar.xz
main/loudmouth: moved from testing
and add compile fix
Diffstat (limited to 'main/loudmouth/03-drop-stanzas-on-fail.patch')
-rw-r--r--main/loudmouth/03-drop-stanzas-on-fail.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/main/loudmouth/03-drop-stanzas-on-fail.patch b/main/loudmouth/03-drop-stanzas-on-fail.patch
new file mode 100644
index 0000000000..05f4248de0
--- /dev/null
+++ b/main/loudmouth/03-drop-stanzas-on-fail.patch
@@ -0,0 +1,46 @@
+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
+
+