From e388bb9b11ddd9b06e7d68985bffc309f73d3886 Mon Sep 17 00:00:00 2001 From: cecinestpasunepipe <110607403+cecinestpasunepipe@users.noreply.github.com> Date: Fri, 22 Sep 2023 13:10:45 +0200 Subject: [PATCH] Allow DefaultOS to access all plugins (#398) --- dissect/target/plugin.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dissect/target/plugin.py b/dissect/target/plugin.py index 4ebbed88a..33f0dc38f 100644 --- a/dissect/target/plugin.py +++ b/dissect/target/plugin.py @@ -19,6 +19,7 @@ from flow.record import Record, RecordDescriptor +import dissect.target.plugins.general as general from dissect.target.exceptions import PluginError, UnsupportedPluginError from dissect.target.helpers import cache from dissect.target.helpers.record import EmptyRecord @@ -527,7 +528,7 @@ def decorator(obj): return decorator -def plugins(osfilter: str = None) -> Iterator[PluginDescriptor]: +def plugins(osfilter: Optional[type[OSPlugin]] = None) -> Iterator[PluginDescriptor]: """Retrieve all plugin descriptors. Args: @@ -553,6 +554,7 @@ def _walk(osfilter: str = None, root: dict = None) -> Iterator[PluginDescriptor] if ( osfilter + and not isinstance(osfilter, general.default.DefaultPlugin) and isinstance(osfilter, type) and issubclass(osfilter, OSPlugin) and osfilter.__module__.startswith(MODULE_PATH) @@ -607,7 +609,7 @@ def lookup(func_name: str, osfilter: str = None) -> Iterator[PluginDescriptor]: yield from get_plugins_by_namespace(func_name, osfilter=osfilter) -def get_plugins_by_func_name(func_name: str, osfilter: str = None) -> Iterator[PluginDescriptor]: +def get_plugins_by_func_name(func_name: str, osfilter: Optional[type[OSPlugin]] = None) -> Iterator[PluginDescriptor]: """Get a plugin descriptor by function name. Args: @@ -619,7 +621,7 @@ def get_plugins_by_func_name(func_name: str, osfilter: str = None) -> Iterator[P yield plugin_desc -def get_plugins_by_namespace(namespace: str, osfilter: str = None) -> Iterator[PluginDescriptor]: +def get_plugins_by_namespace(namespace: str, osfilter: Optional[type[OSPlugin]] = None) -> Iterator[PluginDescriptor]: """Get a plugin descriptor by namespace. Args: