3838# define PATH_SEPARATOR " \\ "
3939#endif
4040
41- #define TEST_ENCLAVE_MULTIPLE_TOKENS \
42- " /group1" PATH_SEPARATOR TEST_ENCLAVE
41+ #define TEST_ENCLAVE_MULTIPLE_TOKENS_ABSOLUTE \
42+ " /group1" TEST_ENCLAVE_ABSOLUTE
43+ #define TEST_ENCLAVE_MULTIPLE_TOKENS_DIR \
44+ " group1" PATH_SEPARATOR TEST_ENCLAVE
4345
4446char g_envstring[512 ] = {0 };
4547
@@ -74,8 +76,8 @@ class TestGetSecureRoot : public ::testing::Test
7476 rcl_reset_error ();
7577
7678 // Always make sure the variable we set is unset at the beginning of a test
77- unsetenv_wrapper (ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME );
78- unsetenv_wrapper (ROS_SECURITY_DIRECTORY_OVERRIDE );
79+ unsetenv_wrapper (ROS_SECURITY_KEYSTORE_VAR_NAME );
80+ unsetenv_wrapper (ROS_SECURITY_ENCLAVE_OVERRIDE );
7981 unsetenv_wrapper (ROS_SECURITY_STRATEGY_VAR_NAME);
8082 unsetenv_wrapper (ROS_SECURITY_ENABLE_VAR_NAME);
8183 allocator = rcl_get_default_allocator ();
@@ -104,7 +106,7 @@ class TestGetSecureRoot : public ::testing::Test
104106 {
105107 base_lookup_dir_fqn = rcutils_join_path (
106108 resource_dir, resource_dir_name, allocator);
107- std::string putenv_input = ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " =" ;
109+ std::string putenv_input = ROS_SECURITY_KEYSTORE_VAR_NAME " =" ;
108110 putenv_input += base_lookup_dir_fqn;
109111 memcpy (
110112 g_envstring, putenv_input.c_str (),
@@ -124,7 +126,7 @@ TEST_F(TestGetSecureRoot, failureScenarios) {
124126 (char *) NULL );
125127 rcl_reset_error ();
126128
127- putenv_wrapper (ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " =" TEST_RESOURCES_DIRECTORY);
129+ putenv_wrapper (ROS_SECURITY_KEYSTORE_VAR_NAME " =" TEST_RESOURCES_DIRECTORY);
128130
129131 /* Security directory is set, but there's no matching directory */
130132 // / Wrong enclave
@@ -136,7 +138,7 @@ TEST_F(TestGetSecureRoot, failureScenarios) {
136138
137139TEST_F (TestGetSecureRoot, successScenarios_local_root_enclave) {
138140 putenv_wrapper (
139- ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " ="
141+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
140142 TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
141143
142144 secure_root = rcl_get_secure_root (" /" , &allocator);
@@ -148,7 +150,7 @@ TEST_F(TestGetSecureRoot, successScenarios_local_root_enclave) {
148150
149151TEST_F (TestGetSecureRoot, successScenarios_local_exactMatch) {
150152 putenv_wrapper (
151- ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " ="
153+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
152154 TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
153155
154156 secure_root = rcl_get_secure_root (TEST_ENCLAVE_ABSOLUTE, &allocator);
@@ -161,42 +163,43 @@ TEST_F(TestGetSecureRoot, successScenarios_local_exactMatch) {
161163
162164TEST_F (TestGetSecureRoot, successScenarios_local_exactMatch_multipleTokensName) {
163165 putenv_wrapper (
164- ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " ="
166+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
165167 TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
166168
167169 secure_root = rcl_get_secure_root (
168- TEST_ENCLAVE_MULTIPLE_TOKENS , &allocator);
170+ TEST_ENCLAVE_MULTIPLE_TOKENS_ABSOLUTE , &allocator);
169171 ASSERT_NE (nullptr , secure_root);
170172 std::string secure_root_str (secure_root);
171173 ASSERT_STREQ (
172174 TEST_ENCLAVE,
173175 secure_root_str.substr (secure_root_str.size () - strlen (TEST_ENCLAVE)).c_str ());
174176}
175177
176- TEST_F (TestGetSecureRoot, nodeSecurityDirectoryOverride_validDirectory) {
177- /* Specify a valid directory */
178- putenv_wrapper (ROS_SECURITY_DIRECTORY_OVERRIDE " =" TEST_RESOURCES_DIRECTORY);
178+ TEST_F (TestGetSecureRoot, nodeSecurityEnclaveOverride_validEnclave) {
179+ putenv_wrapper (
180+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
181+ TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
182+
183+ /* Specify a valid enclave */
184+ putenv_wrapper (ROS_SECURITY_ENCLAVE_OVERRIDE " =" TEST_ENCLAVE_ABSOLUTE);
179185 root_path = rcl_get_secure_root (
180186 " name shouldn't matter" , &allocator);
181- ASSERT_STREQ (root_path, TEST_RESOURCES_DIRECTORY);
187+ ASSERT_STREQ (
188+ TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME
189+ PATH_SEPARATOR " enclaves" PATH_SEPARATOR TEST_ENCLAVE,
190+ root_path);
182191}
183192
184- TEST_F (
185- TestGetSecureRoot,
186- nodeSecurityDirectoryOverride_validDirectory_overrideRootDirectoryAttempt) {
187- /* Setting root dir has no effect */
188- putenv_wrapper (ROS_SECURITY_DIRECTORY_OVERRIDE " =" TEST_RESOURCES_DIRECTORY);
189- root_path = rcl_get_secure_root (" name shouldn't matter" , &allocator);
190- putenv_wrapper (ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " =" TEST_RESOURCES_DIRECTORY);
191- ASSERT_STREQ (root_path, TEST_RESOURCES_DIRECTORY);
192- }
193+ TEST_F (TestGetSecureRoot, nodeSecurityEnclaveOverride_invalidEnclave) {
194+ putenv_wrapper (
195+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
196+ TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
193197
194- TEST_F (TestGetSecureRoot, nodeSecurityDirectoryOverride_invalidDirectory) {
195198 /* The override provided should exist. Providing correct node/namespace/root dir won't help
196199 * if the node override is invalid. */
197200 putenv_wrapper (
198- ROS_SECURITY_DIRECTORY_OVERRIDE
199- " =TheresN_oWayThi_sDirectory_Exists_hence_this_should_fail " );
201+ ROS_SECURITY_ENCLAVE_OVERRIDE
202+ " =TheresN_oWayThi_sEnclave_Exists_hence_this_should_fail " );
200203 EXPECT_EQ (
201204 rcl_get_secure_root (TEST_ENCLAVE_ABSOLUTE, &allocator),
202205 (char *) NULL );
@@ -215,20 +218,26 @@ TEST_F(TestGetSecureRoot, test_get_security_options) {
215218
216219 putenv_wrapper (ROS_SECURITY_ENABLE_VAR_NAME " =true" );
217220 putenv_wrapper (ROS_SECURITY_STRATEGY_VAR_NAME " =Enforce" );
221+ putenv_wrapper (
222+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
223+ TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
218224
219225 putenv_wrapper (
220- ROS_SECURITY_DIRECTORY_OVERRIDE " =" TEST_RESOURCES_DIRECTORY );
226+ ROS_SECURITY_ENCLAVE_OVERRIDE " =" TEST_ENCLAVE_MULTIPLE_TOKENS_ABSOLUTE );
221227 ret = rcl_get_security_options_from_environment (
222228 " doesn't matter at all" , &allocator, &options);
223229 ASSERT_EQ (RMW_RET_OK, ret) << rmw_get_error_string ().str ;
224230 EXPECT_EQ (RMW_SECURITY_ENFORCEMENT_ENFORCE, options.enforce_security );
225- EXPECT_STREQ (TEST_RESOURCES_DIRECTORY, options.security_root_path );
231+ EXPECT_STREQ (
232+ TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME
233+ PATH_SEPARATOR " enclaves" PATH_SEPARATOR TEST_ENCLAVE_MULTIPLE_TOKENS_DIR,
234+ options.security_root_path );
226235 EXPECT_EQ (RMW_RET_OK, rmw_security_options_fini (&options, &allocator));
227236
228237 options = rmw_get_zero_initialized_security_options ();
229- unsetenv_wrapper (ROS_SECURITY_DIRECTORY_OVERRIDE );
238+ unsetenv_wrapper (ROS_SECURITY_ENCLAVE_OVERRIDE );
230239 putenv_wrapper (
231- ROS_SECURITY_ROOT_DIRECTORY_VAR_NAME " ="
240+ ROS_SECURITY_KEYSTORE_VAR_NAME " ="
232241 TEST_RESOURCES_DIRECTORY TEST_SECURITY_DIRECTORY_RESOURCES_DIR_NAME);
233242 ret = rcl_get_security_options_from_environment (
234243 TEST_ENCLAVE_ABSOLUTE, &allocator, &options);
0 commit comments