From 331e7dc5c437fb32b432d88edea537179a9b0508 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 15 May 2025 17:45:19 +0200 Subject: [PATCH] plugin identity: add a timeout when getting identities. --- libervia/backend/plugins/plugin_misc_identity.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libervia/backend/plugins/plugin_misc_identity.py b/libervia/backend/plugins/plugin_misc_identity.py index 0edf9088..0bc27239 100644 --- a/libervia/backend/plugins/plugin_misc_identity.py +++ b/libervia/backend/plugins/plugin_misc_identity.py @@ -20,9 +20,10 @@ import io from pathlib import Path from base64 import b64encode import hashlib -from typing import Any, Coroutine, Dict, List, Optional, Union +from typing import Any, Coroutine, Dict, List, Optional, Union, cast -from twisted.internet import defer, threads +from twisted.internet import defer, reactor, threads +from twisted.internet.interfaces import IReactorCore from twisted.words.protocols.jabber import jid from libervia.backend.core import exceptions @@ -790,7 +791,9 @@ class Identity: ) ) ) - identities_result = await defer.DeferredList(get_identity_list) + deferred_list = defer.DeferredList(get_identity_list) + deferred_list.addTimeout(5, cast(IReactorCore, reactor)) + identities_result = await deferred_list for idx, (success, identity) in enumerate(identities_result): entity_jid = entities[idx] if not success: