From 0a4a938b6bf60903475d85cad399f874f8afe51c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 23 Apr 2008 11:45:38 +0200 Subject: id: do print the AFS-specific nameless group ID (called a PAG) In 6.11, we mistakenly suppressed the printing of certain group IDs, thinking they were useless AFS-specific artifacts. This change reverts that, so now they are printed once again. http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13345 This also reverts the bug-fix that applied solely to the new code used to avoid printing those IDs Revert "id bug fix: don't point to potentially clobbered static storage" This reverts commit f7d1c59c224f81a8bab5fa2afcaf815988f50467. Revert "Work around AFS bug: id and groups would print invalid group number." This reverts commit b7a836c0a3524cda8ef79c30c3fe7ea759ae4656. Revert "* src/c99-to-c89.diff: Accommodate a C99-ism in id.c." This reverts commit d44893c5dba4150b4ded9cf6aad316c1ef620c9f. --- NEWS | 9 +++++++++ src/c99-to-c89.diff | 19 ------------------- src/groups.c | 2 +- src/id.c | 11 +++-------- 4 files changed, 13 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index 04893c622..5b4676d21 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,14 @@ GNU coreutils NEWS -*- outline -*- +* Noteworthy changes in release 6.12 (????-??-??) [stable] + +** Bug fixes + + id and groups once again print the AFS-specific nameless group-ID (PAG). + Printing of such large-numbered, kernel-only (not in /etc/group) group-IDs + was suppressed in 6.11 due to ignorance that they are useful. + + * Noteworthy changes in release 6.11 (2008-04-19) [stable] ** Bug fixes diff --git a/src/c99-to-c89.diff b/src/c99-to-c89.diff index 81580197c..b0594fd36 100644 --- a/src/c99-to-c89.diff +++ b/src/c99-to-c89.diff @@ -1,22 +1,3 @@ ---- src/id.c 2008-03-04 18:50:55.000000000 +0100 -+++ src/id.c 2008-03-04 19:32:24.000000000 +0100 -@@ -196,6 +196,7 @@ of a different user")); - error (EXIT_FAILURE, 0, - _("cannot print only names or real IDs in default format")); - -+ { - char const *user_name; - if (argc - optind == 1) - { -@@ -239,6 +240,7 @@ of a different user")); - { - print_full_info (user_name); - } -+ } - putchar ('\n'); - - exit (ok ? EXIT_SUCCESS : EXIT_FAILURE); -diff -upr src/remove.c src/remove.c --- src/remove.c 2007-07-23 12:56:20.000000000 +0200 +++ src/remove.c 2007-07-23 13:03:12.000000000 +0200 @@ -264,9 +264,10 @@ pop_dir (Dirstack_state *ds) diff --git a/src/groups.c b/src/groups.c index c8e617b58..baac7b931 100644 --- a/src/groups.c +++ b/src/groups.c @@ -102,7 +102,7 @@ main (int argc, char **argv) egid = getegid (); rgid = getgid (); - if (!print_group_list (getlogin (), ruid, rgid, egid, true)) + if (!print_group_list (NULL, ruid, rgid, egid, true)) ok = false; putchar ('\n'); } diff --git a/src/id.c b/src/id.c index a178714fd..e4eda4071 100644 --- a/src/id.c +++ b/src/id.c @@ -196,22 +196,17 @@ of a different user")); error (EXIT_FAILURE, 0, _("cannot print only names or real IDs in default format")); - char const *user_name; if (argc - optind == 1) { - struct passwd const *pwd = getpwnam (argv[optind]); + struct passwd *pwd = getpwnam (argv[optind]); if (pwd == NULL) error (EXIT_FAILURE, 0, _("%s: No such user"), argv[optind]); - user_name = argv[optind]; ruid = euid = pwd->pw_uid; rgid = egid = pwd->pw_gid; } else { - struct passwd const *pwd; euid = geteuid (); - pwd = getpwuid (euid); - user_name = pwd ? xstrdup (pwd->pw_name) : NULL; ruid = getuid (); egid = getegid (); rgid = getgid (); @@ -228,7 +223,7 @@ of a different user")); } else if (just_group_list) { - if (!print_group_list (user_name, ruid, rgid, egid, use_name)) + if (!print_group_list (argv[optind], ruid, rgid, egid, use_name)) ok = false; } else if (just_context) @@ -237,7 +232,7 @@ of a different user")); } else { - print_full_info (user_name); + print_full_info (argv[optind]); } putchar ('\n'); -- cgit v1.2.3-54-g00ecf