Commit b94b52e5 authored by Tom Evans's avatar Tom Evans

OF-772: Ignore error/result IQ packets

IQ packet handlers generally should not try to route error and result
packet types. This patch addresses the issue for certain MUC IQs and
Ping
parent 58df7bd4
...@@ -22,6 +22,7 @@ import java.util.Iterator; ...@@ -22,6 +22,7 @@ import java.util.Iterator;
import org.jivesoftware.openfire.IQHandlerInfo; import org.jivesoftware.openfire.IQHandlerInfo;
import org.jivesoftware.openfire.disco.ServerFeaturesProvider; import org.jivesoftware.openfire.disco.ServerFeaturesProvider;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.IQ.Type;
/** /**
* Implements the XMPP Ping as defined by XEP-0199. This protocol offers an * Implements the XMPP Ping as defined by XEP-0199. This protocol offers an
...@@ -55,7 +56,10 @@ public class IQPingHandler extends IQHandler implements ServerFeaturesProvider { ...@@ -55,7 +56,10 @@ public class IQPingHandler extends IQHandler implements ServerFeaturesProvider {
*/ */
@Override @Override
public IQ handleIQ(IQ packet) { public IQ handleIQ(IQ packet) {
return IQ.createResultIQ(packet); if (packet.getType().equals(Type.get)) {
return IQ.createResultIQ(packet);
}
return null;
} }
/* /*
......
...@@ -369,7 +369,7 @@ public class LocalMUCUser implements MUCUser { ...@@ -369,7 +369,7 @@ public class LocalMUCUser implements MUCUser {
public void process(IQ packet) { public void process(IQ packet) {
// Ignore IQs of type ERROR or RESULT sent to a room // Ignore IQs of type ERROR or RESULT sent to a room
if (IQ.Type.error == packet.getType()) { if (IQ.Type.error == packet.getType() || IQ.Type.result == packet.getType()) {
return; return;
} }
lastPacketTime = System.currentTimeMillis(); lastPacketTime = System.currentTimeMillis();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment