]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/chkname.c: Update regex for valid names
authorAlejandro Colomar <alx@kernel.org>
Mon, 13 Nov 2023 12:33:37 +0000 (13:33 +0100)
committerSerge Hallyn <serge@hallyn.com>
Sun, 26 Nov 2023 12:56:33 +0000 (06:56 -0600)
The maximum length of 32 wasn't being enforced in the code, and POSIX
doesn't specify that maximum length either, so it seems it was an
arbitrary limit of the past that doesn't exist any more.  Use a regex
that has no length limit.

Closes: <https://github.com/shadow-maint/shadow/issues/836>
Link: <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/chkname.c

index 2b83361b82bdeaa62d895a60e8d3a250a64eefe5..0a18af2bf8a8d29dd8503f0118c6b3b116163c92 100644 (file)
@@ -32,8 +32,8 @@ static bool is_valid_name (const char *name)
        }
 
        /*
-         * User/group names must match gnu e-regex:
-         *    [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
+         * User/group names must match BRE regex:
+         *    [a-zA-Z0-9_.][a-zA-Z0-9_.-]*$\?
          *
          * as a non-POSIX, extension, allow "$" as the last char for
          * sake of Samba 3.x "add machine script"