From 48e3ea58899ab5381c4572489b93c7407f0daf62 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 18 Nov 2019 11:18:55 +0000 Subject: [PATCH] accounts: Use regex to enforce correct length of usernames Signed-off-by: Michael Tremer --- src/backend/accounts.py | 6 +----- src/templates/auth/register.html | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/backend/accounts.py b/src/backend/accounts.py index 67bb1894..5251ef33 100644 --- a/src/backend/accounts.py +++ b/src/backend/accounts.py @@ -127,12 +127,8 @@ class Accounts(Object): return result def uid_is_valid(self, uid): - # UID must be at least four characters - if len(uid) < 4: - return False - # https://unix.stackexchange.com/questions/157426/what-is-the-regex-to-validate-linux-users - m = re.match(r"^[a-z_][a-z0-9_-]{0,31}$", uid) + m = re.match(r"^[a-z_][a-z0-9_-]{3,31}$", uid) if m: return True diff --git a/src/templates/auth/register.html b/src/templates/auth/register.html index 6b252784..c72607a1 100644 --- a/src/templates/auth/register.html +++ b/src/templates/auth/register.html @@ -23,10 +23,10 @@ + pattern="[a-z_][a-z0-9_-]{3,31}">
- {{ _("Please choose a username in UNIX format: Starting with a lowercase letter, followed by only lowercase ASCII characters and digits only.") }} + {{ _("Please choose a username in UNIX format with at least four characters, starting with a lowercase letter, followed by only lowercase letters, digits, dash and underscore.") }}
{{ _("This username is not available.") }} -- 2.39.2