diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-20 09:52:01 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-02-20 09:54:19 +0000 |
commit | f1e2848544e198ef0f35acb3dcfd5c7d48153b51 (patch) | |
tree | 2c7edd5fd09b1060fac2f744762134fe7e6e46f4 /main/loudmouth/03-drop-stanzas-on-fail.patch | |
parent | 4917c6fd5f8db34e84adeb09a992fdd490a75404 (diff) | |
download | 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.patch | 46 |
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 + + |