aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2020-10-12 18:23:15 +0200
committerfiaxh <git@lightrise.org>2020-10-12 18:23:15 +0200
commit4f636dbd8e28237241232e1fe37fff37fbb43c6c (patch)
tree70bd761430476295f5415da0d8b0c1d8e74dd279
parente0d81f98e306445f676823a61a3c6601da62ee3b (diff)
downloaddino-4f636dbd8e28237241232e1fe37fff37fbb43c6c.tar.gz
dino-4f636dbd8e28237241232e1fe37fff37fbb43c6c.zip
Service Discovery Module: Clear cached disco info requests when detaching from stream
If a info request did not receive a response in some stream (e.g. due to network errors), any requests to the same entity in subsequent streams waited indefinitively.
-rw-r--r--xmpp-vala/src/module/xep/0030_service_discovery/module.vala2
1 files changed, 2 insertions, 0 deletions
diff --git a/xmpp-vala/src/module/xep/0030_service_discovery/module.vala b/xmpp-vala/src/module/xep/0030_service_discovery/module.vala
index 85fe2d50..42547f62 100644
--- a/xmpp-vala/src/module/xep/0030_service_discovery/module.vala
+++ b/xmpp-vala/src/module/xep/0030_service_discovery/module.vala
@@ -100,6 +100,8 @@ public class Module : XmppStreamModule, Iq.Handler {
}
public override void detach(XmppStream stream) {
+ active_info_requests.clear();
+
remove_identity(stream, own_identity);
stream.get_module(Iq.Module.IDENTITY).unregister_from_namespace(NS_URI_INFO, this);