]> granicus.if.org Git - ejabberd/commitdiff
iq_query_info/1 now returns 'invalid' if XMLNS is invalid
authorEvgeniy Khramtsov <xramtsov@gmail.com>
Tue, 2 Feb 2010 12:20:19 +0000 (12:20 +0000)
committerEvgeniy Khramtsov <xramtsov@gmail.com>
Tue, 2 Feb 2010 12:20:19 +0000 (12:20 +0000)
SVN Revision: 2953

src/jlib.erl

index f0dffe08a5fc00c61e00fa29da4857b05b502710..5df54d6dd98a0b98a20916342c06dde3fe6ab47d 100644 (file)
@@ -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;