History log of /freebsd-current/usr.bin/id/id.c
Revision Date Author Comments
# 0b8224d1 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

Remove copyright strings ifdef'd out

We've ifdef'd out the copyright strings for some time now. Go ahead and
remove the ifdefs. Plus whatever other detritis was left over from other
recent removals. These copyright strings are present in the comments and
are largely from CSRG's attempt at adding their copyright to every
binary file (which modern interpretations of the license doesn't
require).

Sponsored by: Netflix


# bdcbfde3 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

usr.bin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 4a06e937 11-Jun-2021 Alan Somers <asomers@FreeBSD.org>

id: sanitize arguments better

The -[AMc] flags ignore the user argument. Better if id rejects
invocations that include a user argument along with any of those flags.

PR: 256554
MFC after: 2 weeks
Reviewed by: trasz
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D30734


# 8a16b7a1 20-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.


# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96


# 9b337054 17-Dec-2014 Gleb Kurtsou <gleb@FreeBSD.org>

Adjust printf format specifiers for dev_t and ino_t in user space.

ino_t and dev_t are about to become uint64_t.

Reviewed by: kib, mckusick


# 6291cd02 06-Nov-2011 Ed Schouten <ed@FreeBSD.org>

Correct the change made in r227166.

This function is only compiled in when building WITH_AUDIT.


# f82c82df 06-Nov-2011 Ed Schouten <ed@FreeBSD.org>

Add missing static keywords to id(1)


# 2bfc50bc 04-Mar-2011 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add two new system calls, setloginclass(2) and getloginclass(2). This makes
it possible for the kernel to track login class the process is assigned to,
which is required for RCTL. This change also make setusercontext(3) call
setloginclass(2) and makes it possible to retrieve current login class using
id(1).

Reviewed by: kib (as part of a larger patch)


# da52b4ca 11-Dec-2010 Joel Dahl <joel@FreeBSD.org>

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 54404cfb 19-Jun-2009 Brooks Davis <brooks@FreeBSD.org>

In preparation for raising NGROUPS and NGROUPS_MAX, change base
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically. Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups(). In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages. We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after: 2 weeks


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 2e61a3d0 13-Oct-2007 Christian S.J. Peron <csjp@FreeBSD.org>

Fix id -A when the subject has an extended subject token associated with
them (for example when they have logged in from an ip6 source).

- Stick with the initial call to getaudit(2), if it returns E2BIG, use
getaudit_addr(2) instead and set the "extended" flag to indicate that
we the calling credential has an extended subject state.
- Additionally, add the printing of the machine/at_addr (the ip/ip6
addresses)

MFC after: 1 week
Obtained from: TrustedBSD Project


# 703dfcbe 28-Dec-2006 Stefan Farfeleder <stefanf@FreeBSD.org>

Fix SUSv3 compliance: Use a single comma instead of comma and space to separate
additional group entries.

PR: 107298
Submitted by: Joost Bekkers


# f2588359 08-Dec-2006 Mike Pritchard <mpp@FreeBSD.org>

Do not exit without printing the id information if the uid of the
user executing the command cannot be looked up in the password file.


# de5e5e6e 26-Sep-2006 Ceri Davies <ceri@FreeBSD.org>

Add a -a option as a no-op for Solaris compatibility, as briefly
discussed on src-committers. This is intentionally not included in the
usage() function as it would confuse the output too much.

Approved by: jhb
MFC after: 1 week


# acc17cb5 25-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Fix both arguments to err().


# f4882b24 23-Sep-2006 Robert Watson <rwatson@FreeBSD.org>

Rename "-a" flag to "-A" in order to avoid conflicting with the "-a" flag
as found on Solaris.

Requested by: ceri
MFC after: 3 days


# 5bae3124 22-Sep-2006 Robert Watson <rwatson@FreeBSD.org>

Add a -a argument to id(1), which causes id(1) to print out process
audit properties, including the audit user id. This can be quite
helpful in debugging audit problems.

Obtained from: TrustedBSD Project
MFC after: 3 days


# 311e80b1 27-May-2006 Stefan Farfeleder <stefanf@FreeBSD.org>

Print the euid after the gid as demanded by POSIX.

Submitted by: Martin Nagy <nagy.martin@gmail.com>
PR: 96239
MFC after: 2 weeks


# 7f313541 29-Apr-2005 Robert Drehmel <robert@FreeBSD.org>

Add flag to choose whether to use getgrouplist(3) or getgroups(2)
to the id_print() function.

Use getgrouplist(3) for the case when an user was specified,
and getgroups(2) when no user was given.
That reverts to the expected behaviour and makes it easy to
implement an option later to force using getgrouplist(3).


# 58b6761d 28-Apr-2005 Robert Drehmel <robert@FreeBSD.org>

We need to pass NGROUPS + 1 to getgrouplist(3) to display
NGROUPS groups. getgrouplist(3) may put a duplicate group
id into the passed array (it sets [0] and [1] to the value
of the gid argument), but id_print() sorts them out.


# 68b9b81e 28-Apr-2005 Robert Drehmel <robert@FreeBSD.org>

- Merge two functions for printing `id' output.
Showing the ids of both an user given by an argument to `id',
and the current user, is now handled in a single function.
Displaying the current user's ids was inaccurate because
getgroups(2) had been used. getgroups(2) returns the current
kernel state of a user's groups, which may not always be
correct if /etc/group was recently changed.
- Fix a few style bugs.

PR: bin/78085


# 6c97c3d1 09-Apr-2005 Stefan Farfeleder <stefanf@FreeBSD.org>

Remove unused variables.


# 950cc395 02-Oct-2004 Stefan Farfeleder <stefanf@FreeBSD.org>

Pass an array of gid_t rather than an array of int to getgroups().

PR: 56646


# f2ab33b6 19-May-2004 David Malone <dwmalone@FreeBSD.org>

Add missing %s so that all of the usage message gets printed.
Bump WARNS to 6 while I'm here.


# 300b40af 03-May-2004 Robert Watson <rwatson@FreeBSD.org>

Add "-M" argument to id(1), which permits the id command to be used
to print the MAC label of the current process. "-M" selected as that's
what is used in Trusted IRIX.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, McAfee Research


# f4ac32de 04-Sep-2002 David Malone <dwmalone@FreeBSD.org>

ANSIify function definitions.
Add some constness to avoid some warnings.
Remove use register keyword.
Deal with missing/unneeded extern/prototypes.
Some minor type changes/casts to avoid warnings.

Reviewed by: md5


# 3a7fc8ce 18-Aug-2002 Juli Mallett <jmallett@FreeBSD.org>

Remove local prototypes for main().


# e026a48c 29-Jun-2002 David E. O'Brien <obrien@FreeBSD.org>

Consistently use FBSDID


# f1bb2cd2 21-Mar-2002 Warner Losh <imp@FreeBSD.org>

remove __P


# 4bf12cb9 14-Sep-2001 Ruslan Ermilov <ru@FreeBSD.org>

Fold groups(1) and whoami(1) into id(1).


# da3082d4 28-May-2001 Dima Dorfman <dd@FreeBSD.org>

Silence warnings (most about constness) and clamp down with WARNS=2.
Tested on i386 and alpha.


# 387acdd9 20-May-2001 Dima Dorfman <dd@FreeBSD.org>

Print commas in the group list in user(). current() already did this.

Reviewed by: ru, sheldonh
Inspired by: OpenBSD, NetBSD


# 15b09e65 06-Sep-1999 Bill Fumerola <billf@FreeBSD.org>

Cast pw_change and pw_expire to long and fix the format specifier accordingly.


# 45e46bb1 05-Sep-1999 Chris Costello <chris@FreeBSD.org>

Remove unused variables.


# f72286af 01-Sep-1999 Chris Costello <chris@FreeBSD.org>

Properly document -P and -p flags.


# c3aac50f 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 9ef5c48b 04-Jul-1999 Bill Fumerola <billf@FreeBSD.org>

Clean up some ambiguous nested if/elses.


# bd706105 21-Aug-1998 David E. O'Brien <obrien@FreeBSD.org>

Add "-P" display the id as a password file entry.

Submitted by: terry


# a81b76b3 18-Feb-1998 Steve Price <steve@FreeBSD.org>

Missing newline when euid != ruid.

PR: 5778
Submitted by: Martin Kammerhofer <dada@sbox.tu-graz.ac.at>


# d48dbc78 15-Jul-1997 Philippe Charnier <charnier@FreeBSD.org>

Use err(3) instead of local redefinition. Silent -Wall.


# c44252b6 06-Jul-1997 Bruce Evans <bde@FreeBSD.org>

Finish importing Lite2's src/usr.bin, except for ex, diff, grep, mail,
pascal and vmstat.sparc. All changed files on the vendor branch should
already have been imported.


# 1c8af878 28-Mar-1997 Warner Losh <imp@FreeBSD.org>

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# b5203ad0 28-Aug-1995 David Greenman <dg@FreeBSD.org>

Fixed bug where 'id <user>' output the wrong group name (the user name
was output instead). Pointed out by Chael Hall <nowhere@chaos.taylored.com>.


# 7799f52a 30-May-1995 Rodney W. Grimes <rgrimes@FreeBSD.org>

Remove trailing whitespace.


# 9b50d902 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Usr.bin Sources