aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <xramtsov@gmail.com>2010-02-02 12:20:19 +0000
committerEvgeniy Khramtsov <xramtsov@gmail.com>2010-02-02 12:20:19 +0000
commitd9e345a4d85b7e3b17a476d1b00b56ed3c8ddfde (patch)
tree9400dc7cdc6453d02941e0b3914421db1b5f958c /src
parentchanged Reason to shutdown when stopping destroyed MUC room (diff)
iq_query_info/1 now returns 'invalid' if XMLNS is invalid
SVN Revision: 2953
Diffstat (limited to 'src')
-rw-r--r--src/jlib.erl22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/jlib.erl b/src/jlib.erl
index f0dffe08a..5df54d6dd 100644
--- a/src/jlib.erl
+++ b/src/jlib.erl
@@ -382,7 +382,7 @@ iq_info_internal({xmlelement, Name, Attrs, Els}, Filter) when Name == "iq" ->
"result" -> {result, reply};
"error" -> {error, reply};
_ -> {invalid, invalid}
- end,
+ end,
if
Type1 == invalid ->
invalid;
@@ -404,22 +404,26 @@ iq_info_internal({xmlelement, Name, Attrs, Els}, Filter) when Name == "iq" ->
<- FilteredEls,
SubName /= "error"],
{case NonErrorEls of
- [NonErrorEl] -> xml:get_tag_attr_s("xmlns", NonErrorEl);
- _ -> invalid
+ [NonErrorEl] ->
+ xml:get_tag_attr_s("xmlns", NonErrorEl);
+ _ ->
+ invalid
end,
FilteredEls};
_ ->
- {invalid, invalid}
+ {invalid, []}
end,
if XMLNS == "", Class == request ->
invalid;
+ XMLNS == invalid ->
+ invalid;
true ->
- #iq{id = ID,
- type = Type1,
- xmlns = XMLNS,
- lang = Lang,
+ #iq{id = ID,
+ type = Type1,
+ xmlns = XMLNS,
+ lang = Lang,
sub_el = SubEl}
- end;
+ end;
Class == reply, Filter /= any ->
reply
end;