From 173e19252641be8ca58d47029b929f2071537231 Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 11 Jan 2019 19:49:01 +0100 Subject: [PATCH] plugin XEP-0060: set a 30s timeout on items get --- sat/plugins/plugin_xep_0060.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sat/plugins/plugin_xep_0060.py b/sat/plugins/plugin_xep_0060.py index bd410b2d..8fd1f505 100755 --- a/sat/plugins/plugin_xep_0060.py +++ b/sat/plugins/plugin_xep_0060.py @@ -26,7 +26,7 @@ from sat.core import exceptions from sat.tools import sat_defer from twisted.words.protocols.jabber import jid, error -from twisted.internet import defer +from twisted.internet import reactor, defer from wokkel import disco from wokkel import data_form from zope.interface import implements @@ -58,7 +58,7 @@ UNSPECIFIED = "unspecified error" Extra = namedtuple("Extra", ("rsm_request", "extra")) # rsm_request is the rsm.RSMRequest build with rsm_ prefixed keys, or None # extra is a potentially empty dict - +TIMEOUT = 30 class XEP_0060(object): OPT_ACCESS_MODEL = "pubsub#access_model" @@ -556,6 +556,7 @@ class XEP_0060(object): ) # we have no MAM data here, so we add None d.addCallback(lambda data: data + (None,)) + d.addTimeout(TIMEOUT, reactor) else: # if mam is requested, we have to do a totally different query if self._mam is None: