From d7b996ff85f8d2fa1f7402f33a7810070568be69 Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sat, 16 Nov 2019 11:13:10 +0000 Subject: [PATCH] ResourceAccessor: Only list the handlers once. --- volatility/framework/layers/resources.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/volatility/framework/layers/resources.py b/volatility/framework/layers/resources.py index c1f3f50b6..5bbdf3aae 100644 --- a/volatility/framework/layers/resources.py +++ b/volatility/framework/layers/resources.py @@ -40,6 +40,8 @@ class ResourceAccessor(object): """Object for openning URLs as files (downloading locally first if necessary)""" + list_handlers = True + def __init__(self, progress_callback: Optional[constants.ProgressCallback] = None, context: Optional[ssl.SSLContext] = None) -> None: @@ -50,8 +52,10 @@ class ResourceAccessor(object): self._progress_callback = progress_callback self._context = context self._handlers = list(framework.class_subclasses(urllib.request.BaseHandler)) - vollog.log(constants.LOGLEVEL_VVV, - "Available URL handlers: {}".format(", ".join([x.__name__ for x in self._handlers]))) + if self.list_handlers: + vollog.log(constants.LOGLEVEL_VVV, + "Available URL handlers: {}".format(", ".join([x.__name__ for x in self._handlers]))) + self.__class__.list_handlers = False def open(self, url, mode = "rb"): """Returns a file-like object for a particular URL opened in mode."""