From owner-freebsd-standards@FreeBSD.ORG Sun Apr 23 22:40:19 2006 Return-Path: X-Original-To: freebsd-standards@hub.freebsd.org Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07D2D16A408 for ; Sun, 23 Apr 2006 22:40:18 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6DDA243D48 for ; Sun, 23 Apr 2006 22:40:18 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k3NMeIEf083365 for ; Sun, 23 Apr 2006 22:40:18 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k3NMeIx7083364; Sun, 23 Apr 2006 22:40:18 GMT (envelope-from gnats) Resent-Date: Sun, 23 Apr 2006 22:40:18 GMT Resent-Message-Id: <200604232240.k3NMeIx7083364@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-standards@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Martin Nagy Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6518816A406 for ; Sun, 23 Apr 2006 22:38:17 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C1A843D49 for ; Sun, 23 Apr 2006 22:38:16 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NMcFTH095254 for ; Sun, 23 Apr 2006 22:38:15 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k3NMcFc5095253; Sun, 23 Apr 2006 22:38:15 GMT (envelope-from nobody) Message-Id: <200604232238.k3NMcFc5095253@www.freebsd.org> Date: Sun, 23 Apr 2006 22:38:15 GMT From: Martin Nagy To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: standards/96239: [PATCH] /usr/bin/id output not POSIX compliant when invoked with euid != ruid X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Apr 2006 22:40:19 -0000 >Number: 96239 >Category: standards >Synopsis: [PATCH] /usr/bin/id output not POSIX compliant when invoked with euid != ruid >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 23 22:40:17 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Martin Nagy >Release: FreeBSD 5.4-RELEASE i386 >Organization: none >Environment: All versions >Description: If /usr/bin/id is called with euid != ruid then its output doesn't comply to IEEE Std 1003.2 - euid comes before gid, while it should come after it, example: uid=0(root) euid=1(daemon) gid=0(wheel) egid=6(mail) groups=6(mail), 0(wheel), 5(operator) should really be: uid=0(root) gid=0(wheel) euid=1(daemon) egid=6(mail) groups=6(mail), 0(wheel), 5(operator) >How-To-Repeat: > su # cp /usr/bin/id /tmp # chown daemon:mail /tmp/id # chmod ug+s /tmp/id # /tmp/id >Fix: Apply the patch to CURRENT version: --- id.c.orig Sun Apr 23 12:16:28 2006 +++ id.c Sun Apr 23 13:22:51 2006 @@ -252,14 +252,14 @@ } printf("uid=%u(%s)", uid, pw->pw_name); + printf(" gid=%u", gid); + if ((gr = getgrgid(gid))) + (void)printf("(%s)", gr->gr_name); if (p_euid && (euid = geteuid()) != uid) { (void)printf(" euid=%u", euid); if ((pw = getpwuid(euid))) (void)printf("(%s)", pw->pw_name); } - printf(" gid=%u", gid); - if ((gr = getgrgid(gid))) - (void)printf("(%s)", gr->gr_name); if (p_egid && (egid = getegid()) != gid) { (void)printf(" egid=%u", egid); if ((gr = getgrgid(egid))) >Release-Note: >Audit-Trail: >Unformatted: