aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStream.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-02-25 12:54:57 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-02-25 12:54:57 +0000
commit93b7c60780ccce1a52462fb6f8ba07e8f78e8f79 (patch)
tree40e543d7f0ecac3f5856210b02fc8c153ac3dd0a /source/QXmppStream.cpp
parente07a035d9a866ab8bed1aacf21fd6a3e8be40f42 (diff)
downloadqxmpp-93b7c60780ccce1a52462fb6f8ba07e8f78e8f79.tar.gz
don't reply with an error to error IQs, leads to infinite loops
Diffstat (limited to 'source/QXmppStream.cpp')
-rw-r--r--source/QXmppStream.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index 091a0feb..91b4c1cc 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -677,9 +677,11 @@ void QXmppStream::parser(const QByteArray& data)
iq.setFrom(to);
sendPacket(iq);
}
- else // didn't understant the iq...reply with error
+ else
{
- if(type != "result") // but not incase of result iqs
+ // if we didn't understant the iq, reply with error
+ // except for "result" and "error" iqs
+ if (type != "result" && type != "error")
{
QXmppIq iq(QXmppIq::Error);
iq.setId(id);