From 56b3d949936b6c0f5b3681e1cfb1dba1dc1044dc Mon Sep 17 00:00:00 2001 From: Marat Salimzianov Date: Wed, 27 Dec 2023 18:01:28 +0100 Subject: [PATCH 1/2] changed the validation rules for DirectoryService.DomainName --- cli/src/pcluster/validators/directory_service_validators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/pcluster/validators/directory_service_validators.py b/cli/src/pcluster/validators/directory_service_validators.py index 2ee4962b53..b1f0ba03a0 100644 --- a/cli/src/pcluster/validators/directory_service_validators.py +++ b/cli/src/pcluster/validators/directory_service_validators.py @@ -60,7 +60,7 @@ class DomainNameValidator(Validator): """Domain name validator.""" FQDN_PATTERN = "^([a-zA-Z0-9_-]+)(\\.[a-zA-Z0-9_-]+)*$" - LDAP_DN_PATTERN = "^((DC|dc)=[a-zA-Z0-9_-]+)(,(DC|dc)=[a-zA-Z0-9_-]+)*$" + LDAP_DN_PATTERN = "^((DC|dc|O|o)=[a-zA-Z0-9_-]+)(,(DC|dc)=[a-zA-Z0-9_-]+)*$" def _validate(self, domain_name): """Validate that domain address is a Fully Qualified Domain Name (FQDN) or a LDAP Distinguished Name (DN).""" From 657187e559d64c6bea45d289babd2306b945418e Mon Sep 17 00:00:00 2001 From: Marat Salimzianov Date: Tue, 3 Dec 2024 15:09:41 +0100 Subject: [PATCH 2/2] fix: tests --- .../pcluster/validators/test_directory_service_validators.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cli/tests/pcluster/validators/test_directory_service_validators.py b/cli/tests/pcluster/validators/test_directory_service_validators.py index 232f68f324..6f1e2e2407 100644 --- a/cli/tests/pcluster/validators/test_directory_service_validators.py +++ b/cli/tests/pcluster/validators/test_directory_service_validators.py @@ -35,12 +35,15 @@ ("DC=corp,DC=example,DC=com", None), ("dc=corp,dc=example,dc=com", None), ("dc=corp,DC=example,dc=com", None), + ("O=org,dc=corp,dc=example,dc=com", None), + ("o=org,dc=corp,dc=example,dc=com", None), ("", DOMAIN_NAME_ERROR_MESSAGE), (" ", DOMAIN_NAME_ERROR_MESSAGE), ("corp.", DOMAIN_NAME_ERROR_MESSAGE), ("DC=corp,", DOMAIN_NAME_ERROR_MESSAGE), ("corp.examp/e.com", DOMAIN_NAME_ERROR_MESSAGE), ("DC=corp,DC=examp/e,DC=com", DOMAIN_NAME_ERROR_MESSAGE), + ("o=or/g,dc=corp,dc=example,dc=com", DOMAIN_NAME_ERROR_MESSAGE), ], ) def test_domain_name(domain_name, expected_message):