From 9d346d7cadc3b35bd5a8615f92722ff72e3edb78 Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Tue, 9 Dec 2025 19:07:40 +0530 Subject: [PATCH] mgr/smb: Allow whitespace in share login names Whitespaces are perfectly valid in Windows AD user or group names. Signed-off-by: Anoop C S --- src/pybind/mgr/smb/tests/test_resources.py | 4 ++-- src/pybind/mgr/smb/tests/test_validation.py | 6 +++--- src/pybind/mgr/smb/validation.py | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pybind/mgr/smb/tests/test_resources.py b/src/pybind/mgr/smb/tests/test_resources.py index fda7654a55c..c42d7ea84e4 100644 --- a/src/pybind/mgr/smb/tests/test_resources.py +++ b/src/pybind/mgr/smb/tests/test_resources.py @@ -724,7 +724,7 @@ login_control: - name: itstaff category: group access: rw - - name: caldor + - name: "caldor hart" category: user access: admin - name: delbard @@ -742,7 +742,7 @@ login_control: assert share.login_control[1].name == 'itstaff' assert share.login_control[1].category == enums.LoginCategory.GROUP assert share.login_control[1].access == enums.LoginAccess.READ_WRITE - assert share.login_control[2].name == 'caldor' + assert share.login_control[2].name == 'caldor hart' assert share.login_control[2].category == enums.LoginCategory.USER assert share.login_control[2].access == enums.LoginAccess.ADMIN assert share.login_control[3].name == 'delbard' diff --git a/src/pybind/mgr/smb/tests/test_validation.py b/src/pybind/mgr/smb/tests/test_validation.py index 3c30b6b02f6..cc0c6cdb301 100644 --- a/src/pybind/mgr/smb/tests/test_validation.py +++ b/src/pybind/mgr/smb/tests/test_validation.py @@ -117,9 +117,9 @@ def test_clean_custom_options(): [ ("tim", True, ""), ("britons\\arthur", True, ""), - ("lance a lot", False, "spaces, tabs, or newlines"), - ("tabs\ta\tlot", False, "spaces, tabs, or newlines"), - ("bed\nivere", False, "spaces, tabs, or newlines"), + ("lance a lot", True, ""), + ("tabs\ta\tlot", False, "tabs or newlines"), + ("bed\nivere", False, "tabs or newlines"), ("runawa" + ("y" * 122), True, ""), ("runawa" + ("y" * 123), False, "128"), ], diff --git a/src/pybind/mgr/smb/validation.py b/src/pybind/mgr/smb/validation.py index 41d76b77d3f..02fab2a642a 100644 --- a/src/pybind/mgr/smb/validation.py +++ b/src/pybind/mgr/smb/validation.py @@ -108,10 +108,8 @@ def clean_custom_options( def check_access_name(name: str) -> None: - if ' ' in name or '\t' in name or '\n' in name: - raise ValueError( - 'login name may not contain spaces, tabs, or newlines' - ) + if '\t' in name or '\n' in name: + raise ValueError('login name may not contain tabs or newlines') if len(name) > 128: raise ValueError('login name may not exceed 128 characters') -- 2.47.3