From d2da3d7773e23dcacb6cdee614b6caf2e4141c1b Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Mon, 18 May 2015 18:18:01 +0300 Subject: [PATCH] Makes sure we do not try to process incoming reply errors for xmpp ping packets. --- .../jabber/extensions/keepalive/KeepAliveManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/keepalive/KeepAliveManager.java b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/keepalive/KeepAliveManager.java index 9a4bef02c..ea56481d7 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/keepalive/KeepAliveManager.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/keepalive/KeepAliveManager.java @@ -169,10 +169,14 @@ public void processPacket(Packet packet) if(packet instanceof KeepAliveEvent) { // replay only to server pings, to avoid leak of presence + // skip if this is reply with error (like not supported) + // we can still receive errors, but as this is keep-alive ping + // we don't care for errors, as packets has already done its goal KeepAliveEvent evt = (KeepAliveEvent)packet; if(evt.getFrom() != null && evt.getFrom() - .equals(parentProvider.getAccountID().getService())) + .equals(parentProvider.getAccountID().getService()) + && evt.getError() == null) { parentProvider.getConnection().sendPacket( IQ.createResultIQ(evt));