aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2020-04-21 16:25:21 +0200
committerfiaxh <git@lightrise.org>2020-04-21 16:25:21 +0200
commit7c4260eed718961874fc0ea665263ea2ce59338b (patch)
tree7d583974ebf797e7e827836176c87735a87c39f6 /plugins
parent3a8fef7b7b3c101c4bcb8cd3d7460a009c98a41e (diff)
downloaddino-7c4260eed718961874fc0ea665263ea2ce59338b.tar.gz
dino-7c4260eed718961874fc0ea665263ea2ce59338b.zip
Remove features from service discovery module when detaching module from stream
fixes #179 fixes #812
Diffstat (limited to 'plugins')
-rw-r--r--plugins/omemo/src/jingle/jet_omemo.vala1
-rw-r--r--plugins/omemo/src/protocol/stream_module.vala4
2 files changed, 4 insertions, 1 deletions
diff --git a/plugins/omemo/src/jingle/jet_omemo.vala b/plugins/omemo/src/jingle/jet_omemo.vala
index 2ddf5d33..edca809c 100644
--- a/plugins/omemo/src/jingle/jet_omemo.vala
+++ b/plugins/omemo/src/jingle/jet_omemo.vala
@@ -26,6 +26,7 @@ public class Module : XmppStreamModule, Jet.EnvelopEncoding {
}
public override void detach(XmppStream stream) {
+ stream.get_module(ServiceDiscovery.Module.IDENTITY).remove_feature(stream, NS_URI);
}
public bool is_available(XmppStream stream, Jid full_jid) {
diff --git a/plugins/omemo/src/protocol/stream_module.vala b/plugins/omemo/src/protocol/stream_module.vala
index 83822ea2..ba6e409e 100644
--- a/plugins/omemo/src/protocol/stream_module.vala
+++ b/plugins/omemo/src/protocol/stream_module.vala
@@ -35,7 +35,9 @@ public class StreamModule : XmppStreamModule {
stream.get_module(Pubsub.Module.IDENTITY).add_filtered_notification(stream, NODE_DEVICELIST, (stream, jid, id, node) => parse_device_list(stream, jid, id, node), null);
}
- public override void detach(XmppStream stream) {}
+ public override void detach(XmppStream stream) {
+ stream.get_module(Pubsub.Module.IDENTITY).remove_filtered_notification(stream, NODE_DEVICELIST);
+ }
public async ArrayList<int32> request_user_devicelist(XmppStream stream, Jid jid) {
var future = active_devicelist_requests[jid];