From: Michael Tremer Date: Mon, 18 Nov 2019 11:18:55 +0000 (+0000) Subject: accounts: Use regex to enforce correct length of usernames X-Git-Url: http://git.ipfire.org/?p=ipfire.org.git;a=commitdiff_plain;h=48e3ea58899ab5381c4572489b93c7407f0daf62 accounts: Use regex to enforce correct length of usernames Signed-off-by: Michael Tremer --- 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.") }}