From 838c8539563f5b8cdf6a4585b99e22d9ac7b4f7e Mon Sep 17 00:00:00 2001 From: Michel Hidalgo Date: Wed, 2 Jun 2021 17:48:57 -0300 Subject: [PATCH 1/2] Resolve substitutions upon SecurityNodeActionExtension._setup_security() Signed-off-by: Michel Hidalgo --- ros2launch_security/node_action/security.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ros2launch_security/node_action/security.py b/ros2launch_security/node_action/security.py index fca08df..38dcf71 100644 --- a/ros2launch_security/node_action/security.py +++ b/ros2launch_security/node_action/security.py @@ -21,6 +21,7 @@ from launch.launch_context import LaunchContext from launch.substitutions import LocalSubstitution from launch.utilities import normalize_to_list_of_substitutions +from launch.utilities import perform_substitutions from launch_ros.actions.node import Node, NodeActionExtension import nodl @@ -50,8 +51,12 @@ def _setup_security( ) -> None: """Enable encryption, creating a key for the node if necessary.""" nodl_node = nodl.get_node_by_executable( - package_name=node_action.node_package, - executable_name=node_action.node_executable + package_name=perform_substitutions( + context, node_action.node_package + ), + executable_name=perform_substitutions( + context, node_action.node_executable + ) ) self.__enclave = node_action.node_name.replace( From 739d1b838bf709e3f76f6f31363ef0a3ecb4f2f4 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Thu, 3 Jun 2021 14:12:20 -0700 Subject: [PATCH 2/2] normalize node package and node executable before performing substitutions Signed-off-by: William Woodall --- ros2launch_security/node_action/security.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ros2launch_security/node_action/security.py b/ros2launch_security/node_action/security.py index 38dcf71..017f4c0 100644 --- a/ros2launch_security/node_action/security.py +++ b/ros2launch_security/node_action/security.py @@ -52,10 +52,12 @@ def _setup_security( """Enable encryption, creating a key for the node if necessary.""" nodl_node = nodl.get_node_by_executable( package_name=perform_substitutions( - context, node_action.node_package + context, + normalize_to_list_of_substitutions(node_action.node_package) ), executable_name=perform_substitutions( - context, node_action.node_executable + context, + normalize_to_list_of_substitutions(node_action.node_executable) ) )