From 84925ed56fb4a299998773293b92c920779ccbec Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 5 Oct 2024 07:10:47 -0500 Subject: Refactor handling of valid account names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move our system_names and system_groups out to a util header. * Qt UI: Validate that the user's chosen account name is not contained in either system_names nor system_groups. Closes: #388 Acked-by: Síle Ekaterin Liszka --- hscript/user.cc | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'hscript/user.cc') diff --git a/hscript/user.cc b/hscript/user.cc index 5a1d6cf..eb8813a 100644 --- a/hscript/user.cc +++ b/hscript/user.cc @@ -3,7 +3,7 @@ * libhscript, the HorizonScript library for * Project Horizon * - * Copyright (c) 2019-2020 Adélie Linux and contributors. All rights reserved. + * Copyright (c) 2019-2024 Adélie Linux and contributors. All rights reserved. * This code is licensed under the AGPL 3.0 license, as noted in the * LICENSE-code file in the root directory of this repository. * @@ -21,26 +21,10 @@ #include "util/filesystem.hh" #include "util/net.hh" #include "util/output.hh" +#include "util/user.hh" using namespace Horizon::Keys; -const static std::set system_names = { - "root", "bin", "daemon", "adm", "lp", "sync", "shutdown", "halt", "mail", - "news", "uucp", "operator", "man", "postmaster", "cron", "ftp", "sshd", - "at", "squid", "xfs", "games", "postgres", "cyrus", "vpopmail", "utmp", - "catchlog", "alias", "qmaild", "qmailp", "qmailq", "qmailr", "qmails", - "qmaill", "ntp", "smmsp", "guest", "nobody" -}; - -const static std::set system_groups = { - "root", "bin", "daemon", "sys", "adm", "tty", "disk", "lp", "mem", "kmem", - "wheel", "floppy", "mail", "news", "uucp", "man", "cron", "console", - "audio", "cdrom", "dialout", "ftp", "sshd", "input", "at", "tape", "video", - "netdev", "readproc", "squid", "xfs", "kvm", "games", "shadow", "postgres", - "cdrw", "usb", "vpopmail", "users", "catchlog", "ntp", "nofiles", "qmail", - "qmaill", "smmsp", "locate", "abuild", "utmp", "ping", "nogroup", "nobody" -}; - /* * is_valid_name is from shadow libmisc/chkname.c: -- cgit v1.2.3-70-g09d2