From nobody Thu Oct 30 23:52:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cyLWX4wykz6FnQk; Thu, 30 Oct 2025 23:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cyLWX0B7tz3c6r; Thu, 30 Oct 2025 23:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761868344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ya/IBRVxhbyQV4334z7M9rHtsLYKROURAshiq/Y+5v4=; b=RE5TUD1RENyhtbAmryUd7kQ3KtUO8NCYhObx85NAHvgQdtMly70QtvnFKrGk9AaZ88d2dF FT0+usk+d3cyEcrI+5ylujRCOIl0z8Sj6Rzjvs6+wJUQSrQ6AKOZu1ayL/i4T7f7yKhy7w 44nkIaemosTvZhkDYy5P+kZpEWSSKxh9dx/X6vbTMtH9iv1cgnSRA57SgS7BUEeHbS0dTS 2UPLQ0IT29lYpeAZhC8vfDl+srJe6Q3LoLAhTHS04VoNPZv1gB70x+Poaf/bvsIrz0IJoF tm2krd3K/+nFmMcg4kiC99t9XDSDosVFc8/FTPgIEQwjqGTQGAMd/4TTOzFB2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761868344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ya/IBRVxhbyQV4334z7M9rHtsLYKROURAshiq/Y+5v4=; b=W2AImBp/AcaGMwD17XInJ/J101Dd8/omtWhgNBZSoPA+Unu+8vKPljHjCRVO/tpE11I9p3 JzjIXOENXe4eAyloCzWCKI1by5g0TeH2Co+iKl3b6ANq7shbs9w0rpABSHu7MO5mqKLPPJ NvF64ymqyHAp8aiK9zrGrMUSmo+8OLlO9s8EFSHwg0Obq4tPw4CPJzIyXSW1PvgRBbbIka 02VwJTeB/4zi0ZCqv4LTXAaBBquR8OHh5x+8z2lNGiGSXzxuxbJkZf+cUBrqDSgw9+2EJe i1pGooRu7+qG8LfMR/UCxeLIb96yh5oja9tar4vV4idvhrV3aEP5afooqZIjNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761868344; a=rsa-sha256; cv=none; b=ubyPx6qQ+BbnCgDDxcOfXQdBMfx6B1m0bPSFlg5LK67SAOhbuBRKzdEVaMWlDbfhIYg7BH HJd5nNWo+ZnY8TXEo6JrU0d5Z5XD9Ur/VxFeQRbsPWKRmIjwDQhuONoU4jOhS1ypoZ+ncW +iF6TqlERRnfTngD7iUP33D/MhnuIK7ZkYEAZZcx05E3o3QABkGO1uEOL8CVG0+PLijp+y lgmGfSmkV4vNJyeRjwUw9eMyWNogylQ26GuVSRAct1TWXzoSNUoDIYnVqRkSaOABc/bEZs pzOtcWnYpEkRFy4Gr1xDruJUkgL7D3kwBmY/aUoF4K+PkU3Qx/sDN7a3bUoX7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cyLWW6twSzl3W; Thu, 30 Oct 2025 23:52:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59UNqNIa087071; Thu, 30 Oct 2025 23:52:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59UNqN9B087068; Thu, 30 Oct 2025 23:52:23 GMT (envelope-from git) Date: Thu, 30 Oct 2025 23:52:23 GMT Message-Id: <202510302352.59UNqN9B087068@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: e392a6d78ddb - releng/15.0 - id: Clean up List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: e392a6d78ddbcee12a34f0a46b135f9ca1a2857b Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=e392a6d78ddbcee12a34f0a46b135f9ca1a2857b commit e392a6d78ddbcee12a34f0a46b135f9ca1a2857b Author: Dag-Erling Smørgrav AuthorDate: 2025-10-28 16:51:50 +0000 Commit: Colin Percival CommitDate: 2025-10-30 23:48:03 +0000 id: Clean up No functional change intended. Approved by: re (cperciva) Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D53300 (cherry picked from commit 70b72ede982f3aebe03a2bf7a8245ee6bcde352c) (cherry picked from commit 758e4565a9d61644a3a7e5dc517612df1617f231) --- usr.bin/id/id.c | 114 +++++++++++++++++++++++++++----------------------------- 1 file changed, 55 insertions(+), 59 deletions(-) diff --git a/usr.bin/id/id.c b/usr.bin/id/id.c index 7112e0dddb91..a326aa14c7c7 100644 --- a/usr.bin/id/id.c +++ b/usr.bin/id/id.c @@ -53,79 +53,86 @@ static void pretty(struct passwd *); #ifdef USE_BSM_AUDIT static void auditid(void); #endif -static void group(struct passwd *, int); +static void group(struct passwd *, bool); static void maclabel(void); static void usage(void); static struct passwd *who(char *); -static int isgroups, iswhoami; +static bool isgroups, iswhoami; int main(int argc, char *argv[]) { struct group *gr; struct passwd *pw; - int Gflag, Mflag, Pflag, ch, gflag, id, nflag, pflag, rflag, uflag; - int Aflag, cflag; - int error; - const char *myname; +#ifdef USE_BSM_AUDIT + bool Aflag; +#endif + bool Gflag, Mflag, Pflag; + bool cflag, gflag, nflag, pflag, rflag, uflag; + int ch, combo, error, id; + const char *myname, *optstr; char loginclass[MAXLOGNAME]; - Gflag = Mflag = Pflag = gflag = nflag = pflag = rflag = uflag = 0; - Aflag = cflag = 0; +#ifdef USE_BSM_AUDIT + Aflag = false; +#endif + Gflag = Mflag = Pflag = false; + cflag = gflag = nflag = pflag = rflag = uflag = false; - myname = strrchr(argv[0], '/'); - myname = (myname != NULL) ? myname + 1 : argv[0]; + myname = getprogname(); + optstr = "AGMPacgnpru"; if (strcmp(myname, "groups") == 0) { - isgroups = 1; - Gflag = nflag = 1; + isgroups = true; + optstr = ""; + Gflag = nflag = true; } else if (strcmp(myname, "whoami") == 0) { - iswhoami = 1; - uflag = nflag = 1; + iswhoami = true; + optstr = ""; + uflag = nflag = true; } - while ((ch = getopt(argc, argv, - (isgroups || iswhoami) ? "" : "APGMacgnpru")) != -1) + while ((ch = getopt(argc, argv, optstr)) != -1) { switch(ch) { #ifdef USE_BSM_AUDIT case 'A': - Aflag = 1; + Aflag = true; break; #endif case 'G': - Gflag = 1; + Gflag = true; break; case 'M': - Mflag = 1; + Mflag = true; break; case 'P': - Pflag = 1; + Pflag = true; break; case 'a': break; case 'c': - cflag = 1; + cflag = true; break; case 'g': - gflag = 1; + gflag = true; break; case 'n': - nflag = 1; + nflag = true; break; case 'p': - pflag = 1; + pflag = true; break; case 'r': - rflag = 1; + rflag = true; break; case 'u': - uflag = 1; + uflag = true; break; - case '?': default: usage(); } + } argc -= optind; argv += optind; @@ -134,16 +141,11 @@ main(int argc, char *argv[]) if ((cflag || Aflag || Mflag) && argc > 0) usage(); - switch(Aflag + Gflag + Mflag + Pflag + gflag + pflag + uflag) { - case 1: - break; - case 0: - if (!nflag && !rflag) - break; - /* FALLTHROUGH */ - default: + combo = Aflag + Gflag + Mflag + Pflag + gflag + pflag + uflag; + if (combo > 1) + usage(); + if (combo == 0 && (nflag || rflag)) usage(); - } pw = *argv ? who(*argv) : NULL; @@ -217,7 +219,7 @@ pretty(struct passwd *pw) if (pw) { (void)printf("uid\t%s\n", pw->pw_name); (void)printf("groups\t"); - group(pw, 1); + group(pw, true); } else { if ((login = getlogin()) == NULL) err(1, "getlogin"); @@ -243,7 +245,7 @@ pretty(struct passwd *pw) (void)printf("rgid\t%u\n", rid); } (void)printf("groups\t"); - group(NULL, 1); + group(NULL, true); } } @@ -366,7 +368,7 @@ auditid(void) #endif static void -group(struct passwd *pw, int nflag) +group(struct passwd *pw, bool nflag) { struct group *gr; int cnt, id, lastid, ngroups; @@ -452,41 +454,35 @@ who(char *u) static void pline(struct passwd *pw) { - - if (!pw) { + if (pw == NULL) { if ((pw = getpwuid(getuid())) == NULL) err(1, "getpwuid"); } - (void)printf("%s:%s:%d:%d:%s:%ld:%ld:%s:%s:%s\n", pw->pw_name, - pw->pw_passwd, pw->pw_uid, pw->pw_gid, pw->pw_class, - (long)pw->pw_change, (long)pw->pw_expire, pw->pw_gecos, - pw->pw_dir, pw->pw_shell); + pw->pw_passwd, pw->pw_uid, pw->pw_gid, pw->pw_class, + (long)pw->pw_change, (long)pw->pw_expire, pw->pw_gecos, + pw->pw_dir, pw->pw_shell); } - static void usage(void) { - if (isgroups) (void)fprintf(stderr, "usage: groups [user]\n"); else if (iswhoami) (void)fprintf(stderr, "usage: whoami\n"); else - (void)fprintf(stderr, "%s\n%s%s\n%s\n%s\n%s\n%s\n%s\n%s\n", - "usage: id [user]", + (void)fprintf(stderr, + "usage: id [user]\n" #ifdef USE_BSM_AUDIT - " id -A\n", -#else - "", + " id -A\n" #endif - " id -G [-n] [user]", - " id -M", - " id -P [user]", - " id -c", - " id -g [-nr] [user]", - " id -p [user]", - " id -u [-nr] [user]"); + " id -G [-n] [user]\n" + " id -M\n" + " id -P [user]\n" + " id -c\n" + " id -g [-nr] [user]\n" + " id -p [user]\n" + " id -u [-nr] [user]\n"); exit(1); }