From 5779a1d2ebffd400cf98737ec970939a15c6246f Mon Sep 17 00:00:00 2001 From: kuba00739 <71528484+kuba00739@users.noreply.github.com> Date: Tue, 10 Aug 2021 15:33:47 +0200 Subject: [PATCH 1/2] Update plugin_loader.py Sanity checks to ensure that none of the frontend and backend names are the same. --- src/satosa/plugin_loader.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/satosa/plugin_loader.py b/src/satosa/plugin_loader.py index b7eb4cf46..e0c842199 100644 --- a/src/satosa/plugin_loader.py +++ b/src/satosa/plugin_loader.py @@ -46,6 +46,14 @@ def load_backends(config, callback, internal_attributes): config["BACKEND_MODULES"], backend_filter, config["BASE"], internal_attributes, callback) + + for backend in backend_modules: + if backend.name in names: + raise SATOSAConfigurationError("The name " + backend.name + " is taken!") + + else: + names.append(backend.name) + logger.info("Setup backends: {}".format([backend.name for backend in backend_modules])) return backend_modules @@ -67,6 +75,13 @@ def load_frontends(config, callback, internal_attributes): """ frontend_modules = _load_plugins(config.get("CUSTOM_PLUGIN_MODULE_PATHS"), config["FRONTEND_MODULES"], frontend_filter, config["BASE"], internal_attributes, callback) + + for frontend in frontend_modules: + if frontend.name in names: + raise SATOSAConfigurationError("The name " + frontend.name + " is taken!") + else: + names.append(frontend.name) + logger.info("Setup frontends: {}".format([frontend.name for frontend in frontend_modules])) return frontend_modules From c0fac445145a56142bcba0cf5631bd7247356625 Mon Sep 17 00:00:00 2001 From: kuba00739 <71528484+kuba00739@users.noreply.github.com> Date: Tue, 10 Aug 2021 15:40:09 +0200 Subject: [PATCH 2/2] Update plugin_loader.py Added missing variable --- src/satosa/plugin_loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/satosa/plugin_loader.py b/src/satosa/plugin_loader.py index e0c842199..f22608b6f 100644 --- a/src/satosa/plugin_loader.py +++ b/src/satosa/plugin_loader.py @@ -16,7 +16,7 @@ from .micro_services.base import (MicroService, RequestMicroService, ResponseMicroService) logger = logging.getLogger(__name__) - +names = [] @contextmanager def prepend_to_import_path(import_paths):