Home | History | Annotate | only in /src/usr.bin/who
History log of /src/usr.bin/who
RevisionDateAuthorComments
 1.10 21-Nov-2015  christos WARNS=6
 1.9 14-Apr-2009  lukem Enable WARNS=4 by default for usr.bin, except for:
awk bdes checknr compile_et error gss hxtool kgetcred kinit
klist ldd less lex locale login m4 man menuc mk_cmds
mklocale msgc openssl rpcgen rpcinfo sdiff spell ssh
string2key telnet tn3270 verify_krb5_conf xlint
 1.8 26-Jun-2005  christos branches: 1.8.30;
WARNS=3
 1.7 01-Aug-2002  christos abstract out utmp loading.
 1.6 28-Jul-2002  christos add utmpx support; lots of code can be shared now with w.
 1.5 20-Oct-1997  lukem fix .Nm usage, deprecate register, use ANSI string.h stuff
 1.4 23-Jul-1997  kleink Add WARNS=1.
 1.3 14-Nov-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2 30-Jul-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.2 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.8.30.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.22 26-Feb-2021  christos PR/56013: Kouichi Hashikawa: Move setutent/setutxent right before the loops.
 1.21 05-Oct-2019  mrg use memcpy() for strings that are not C strings.
destinations are already sufficiently sized and nul terminated.
 1.20 04-Oct-2019  mrg revert previous; i meant to test first and if you read the comment
immediately above, you can see it is done safely and on purpose.
 1.19 04-Oct-2019  mrg use destination buffer size not source buffer size for strncpy len.
 1.18 21-Nov-2015  christos branches: 1.18.8; 1.18.16; 1.18.18;
WARNS=6
 1.17 01-May-2009  christos PR/41313: Chris Spiegel: getutentries() in src/usr.bin/who/utmpentry.c thinks
there are no entries if only one of utmp/utmpx support is selected
mangled && -> ||
 1.16 28-Oct-2008  christos branches: 1.16.4;
pass lint.
 1.15 13-Jul-2008  dholland Clarify how one is supposed to use the pointers returned by getutentries()
(the utmpentry.c code), specifically with respect to who owns them and
when to free them. Now they're owned by utmpentry.c, only. Abolish the
freeutentries() function, which was the wrong abstraction; add instead
endutentries(), which flushes out the internally managed memory.

Update callers as necessary. Some (e.g. talkd) had been leaking memory;
others (e.g. syslogd) had been accidentally freeing and reloading utmp
more often than necessary. There are a couple untidy bits in users and
rwhod that someone should look after sometime, maybe.

Fixes PR bin/35131, which was about talkd's memory leak.
 1.14 28-Apr-2008  martin branches: 1.14.2;
Remove clause 3 and 4 from TNF licenses
 1.13 08-Mar-2008  dholland branches: 1.13.2;
Amplify comments from the previous commit. If xtos misread what was
going on, they can't have been clear enough. (And if xtos misread it,
so will anyone else passing by, and then someone will "fix" it...)

Hopefully this will help. Maybe it should be changed to use memcpy
instead of strncpy after all.
 1.12 08-Mar-2008  dholland Remove reflexive cargo-cult-style null-termination after strncpy; it is
neither needed nor particularly desirable. Add comments to explain what's
going on, and arrange to fail the build if the sizes of things get out
of whack.
Resolves PR bin/38201 from Chris Spiegel.
 1.11 27-Nov-2006  christos branches: 1.11.8; 1.11.14;
PR/35135: David A. Holland: timespec patches for utmpentry.c
 1.10 20-Sep-2006  christos set utmp entry types to user process.
 1.9 19-Sep-2006  christos Add support for the majority of the rest of the system V options, although
we don't support some of them. We might add boottime, system clock change
time, in the future, so add the code to do it.
 1.8 19-Sep-2006  hubertf Change -u behaviour to also print PID of process on terminal, and
add -d to print more information from utmpx.

OK'd by christos@
 1.7 17-Mar-2006  elad Another overrun forgotten in previous commit, also found by Coverity.
CID 1481.
 1.6 17-Mar-2006  elad Fix buffer overrun found by Coverity, CID 1482.
 1.5 22-Oct-2004  christos Check the result of stat and warn if things are not found.
Change all err/x to warn/x
 1.4 12-Feb-2003  christos PR/20317: Johnny Billquist: Clear timestamps upon freeing entries.
 1.3 01-Aug-2002  christos make this compile with either utmp or utmpx there.
 1.2 01-Aug-2002  christos - don't hide a global.
 1.1 01-Aug-2002  christos abstract out utmp loading.
 1.11.14.1 24-Mar-2008  keiichi sync with head.
 1.11.8.1 23-Mar-2008  matt sync with HEAD
 1.13.2.1 18-May-2008  yamt sync with head.
 1.14.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.16.4.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.18.18.1 18-Apr-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1833):

usr.bin/who/utmpentry.c: revision 1.22

PR/56013: Kouichi Hashikawa: Move setutent/setutxent right before the loops.
 1.18.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.18.8.1 18-Apr-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1958):

usr.bin/who/utmpentry.c: revision 1.22

PR/56013: Kouichi Hashikawa: Move setutent/setutxent right before the loops.
 1.8 21-Nov-2015  christos WARNS=6
 1.7 13-Jul-2008  dholland Clarify how one is supposed to use the pointers returned by getutentries()
(the utmpentry.c code), specifically with respect to who owns them and
when to free them. Now they're owned by utmpentry.c, only. Abolish the
freeutentries() function, which was the wrong abstraction; add instead
endutentries(), which flushes out the internally managed memory.

Update callers as necessary. Some (e.g. talkd) had been leaking memory;
others (e.g. syslogd) had been accidentally freeing and reloading utmp
more often than necessary. There are a couple untidy bits in users and
rwhod that someone should look after sometime, maybe.

Fixes PR bin/35131, which was about talkd's memory leak.
 1.6 28-Apr-2008  martin branches: 1.6.2;
Remove clause 3 and 4 from TNF licenses
 1.5 20-Sep-2006  christos branches: 1.5.16;
unbreak the build by including the appropriate header files here.
 1.4 19-Sep-2006  christos Add support for the majority of the rest of the system V options, although
we don't support some of them. We might add boottime, system clock change
time, in the future, so add the code to do it.
 1.3 19-Sep-2006  hubertf Change -u behaviour to also print PID of process on terminal, and
add -d to print more information from utmpx.

OK'd by christos@
 1.2 28-Nov-2003  wiz Use $NetBSD$ instead of $Header$.
 1.1 01-Aug-2002  christos abstract out utmp loading.
 1.5.16.1 18-May-2008  yamt sync with head.
 1.6.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.26 23-Feb-2021  wiz Fix Fl argument.

From Kouichi Hashikawa in PR 56009.
 1.25 01-Sep-2019  sevan Update URL
 1.24 11-May-2018  sevan branches: 1.24.2; 1.24.4;
Match sequence of flags with usage()
Following on from mandoc -Tlint, drop Pp macro before Bl and Tn macro.
 1.23 26-Dec-2014  christos branches: 1.23.14;
Correct provenance of who(1) (from Marcin F. Michalski)
 1.22 18-Jan-2007  wiz Use Pq.
 1.21 17-Jan-2007  christos Sync with reality. Delete unsupported and describe run level chars.
 1.20 23-Sep-2006  wiz Mark up flags in -a description. Start sentences with upper-case letters.
 1.19 19-Sep-2006  christos Add support for the majority of the rest of the system V options, although
we don't support some of them. We might add boottime, system clock change
time, in the future, so add the code to do it.
 1.18 19-Sep-2006  wiz Document /var/log/wtmpx.[0-9] too.
 1.17 19-Sep-2006  hubertf Change -u behaviour to also print PID of process on terminal, and
add -d to print more information from utmpx.

OK'd by christos@
 1.16 22-Jul-2005  peter Implement the following two XSI extensions:

-q: quick mode, list only the names and the number of users currently
logged on.

-s: default mode, list only the name, line and time fields.
 1.15 22-Nov-2004  peter Sort options.

ok wiz@
 1.14 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.13 27-Jun-2003  wiz Quote question mark.
 1.12 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.11 30-Sep-2002  grant New sentence, new line.
 1.10 01-Dec-2001  wiz Whitespace cleanup.
 1.9 20-Oct-1997  lukem fix .Nm usage, deprecate register, use ANSI string.h stuff
 1.8 09-Sep-1997  jtc Changed order of STANDARDS and HISTORY subheads to conform with
specification in mdoc(7).
 1.7 23-Jul-1997  kleink Document `-H' flag.
 1.6 08-Mar-1997  mouse alternate -> alternative, per PR 2643
 1.5 07-Dec-1994  jtc Added code for POSIX.2's -m, -T, and -u options.
 1.4 14-Nov-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.3 08-Apr-1994  deraadt fix from <dgy@mcs.com>
 1.2 01-Aug-1993  mycroft Add RCS indentifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.2 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.23.14.1 21-May-2018  pgoyette Sync with HEAD
 1.24.4.1 05-Sep-2019  martin Pull up following revision(s) (requested by sevan in ticket #174):
lib/libc/sys/chmod.2: revision 1.48
lib/libc/sys/stat.2: revision 1.59
lib/libc/sys/unlink.2: revision 1.30
lib/libc/sys/lseek.2: revision 1.25
lib/libc/sys/getuid.2: revision 1.18
lib/libc/sys/chown.2: revision 1.37
lib/libm/man/exp.3: revision 1.32
lib/libm/man/log.3: revision 1.7
lib/libc/sys/open.2: revision 1.60
lib/libc/stdio/fopen.3: revision 1.36
lib/libc/stdio/putc.3: revision 1.14
lib/libc/sys/mount.2: revision 1.51
share/man/man9/copy.9: revision 1.22
share/man/man9/uiomove.9: revision 1.20
lib/libc/sys/setuid.2: revision 1.23
lib/libc/sys/close.2: revision 1.18
sbin/init/init.8: revision 1.61
lib/libc/sys/write.2: revision 1.36
lib/libc/sys/read.2: revision 1.39
sbin/init/init.8: revision 1.62
lib/libc/sys/wait.2: revision 1.40
usr.bin/tty/tty.1: revision 1.10
lib/libc/sys/link.2: revision 1.33
usr.bin/du/du.1: revision 1.24
lib/libc/stdlib/exit.3: revision 1.17
usr.bin/su/su.1: revision 1.53
usr.bin/mail/mail.1: revision 1.66
lib/libc/sys/fork.2: revision 1.25
usr.bin/su/su.1: revision 1.54
usr.bin/mail/mail.1: revision 1.67
lib/libm/man/sin.3: revision 1.15
share/man/man9/intro.9: revision 1.26
share/man/man5/utmp.5: revision 1.17
lib/libc/compat-43/creat.3: revision 1.17
lib/libc/time/ctime.3: revision 1.61
lib/libcompat/4.1/stty.3: revision 1.10
usr.bin/dc/dc.1: revision 1.3
lib/libm/man/cos.3: revision 1.17
lib/libc/sys/chdir.2: revision 1.23
lib/libc/gen/exec.3: revision 1.30
lib/libc/gen/exec.3: revision 1.31
games/bcd/bcd.6: revision 1.18
games/bcd/bcd.6: revision 1.19
usr.bin/write/write.1: revision 1.7
usr.bin/wc/wc.1: revision 1.18
usr.bin/pr/pr.1: revision 1.24
usr.bin/who/who.1: revision 1.25
lib/libc/sys/mkdir.2: revision 1.30
lib/libc/stdio/getc.3: revision 1.13
usr.bin/sort/sort.1: revision 1.40
usr.bin/mesg/mesg.1: revision 1.11
share/man/man5/passwd.5: revision 1.34
sort was there since v1
https://www.bell-labs.com/usr/dmr/www/man61.pdf

dc was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

du was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

mail was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

mesg was in v1
https://www.bell-labs.com/usr/dmr/www/man12.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man13.pdf

su was in v1
https://www.bell-labs.com/usr/dmr/www/man13.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man13.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man14.pdf
Update URL

write was in v1
https://www.bell-labs.com/usr/dmr/www/man14.pdf
grammar

passwd(5) was in v1
https://www.bell-labs.com/usr/dmr/www/man51.pdf

utmp(5) was present in v1
https://www.bell-labs.com/usr/dmr/www/man51.pdf

Earliest version of wtmp I could find was in v3
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man5/wtmp.5

Document history of chdir(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of chmod(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of chown(2)
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

create was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history of exec()
Move statement on execlpe() & execvpe() to HISTORY section.

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

fork was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf
stat() was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

document history of fstat()
https://www.bell-labs.com/usr/dmr/www/man21.pdf

getuid was present in v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

Document history
https://www.bell-labs.com/usr/dmr/www/man21.pdf

stty & gtty were around since v1
https://www.bell-labs.com/usr/dmr/www/man21.pdf
https://www.bell-labs.com/usr/dmr/www/man22.pdf

mount & umount were present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

Open was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

read was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

seek was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

setuid was in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

unlink was presen in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

wait was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

write was present in v1
https://www.bell-labs.com/usr/dmr/www/man22.pdf

start documenting history
exp was present in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

log appeared in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

putc & putw were in v1
https://www.bell-labs.com/usr/dmr/www/man31.pdf

putchar was in v4
https://minie.tuhs.org/cgi-bin/utree.pl?file=V4/man/man3/putchr.3

Start documenting history
https://www.bell-labs.com/usr/dmr/www/man31.pdf

Document history.
https://www.bell-labs.com/usr/dmr/www/man11.pdf
Between v1 & v6 UNIX, bcd was rewritten in C, but I don't know if which
version,
hence I've skipped mentioning it.
End sentence with a dot.
Remove superfluous Pp.
Remove superfluous Pp.
Remove superfluous Ns.
Remove superfluous Pp.
fetch(9) -> ufetch(9)
fetch(9) -> ufetch(9). Remove superfluous Pp.
fetch(9) -> ufetch(9). Remove reference to unimplemented ppi(9).
 1.24.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.25 21-Nov-2015  christos WARNS=6
 1.24 08-Jun-2014  mlelstv Handle ctime() failure.
 1.23 24-Jul-2008  christos branches: 1.23.24; 1.23.36;
PR/39201: Brian Marcotte: "who am i" problem when using ptyfs, because it
strips pts/
 1.22 21-Jul-2008  lukem Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.21 15-Dec-2007  perry branches: 1.21.6;
convert __attribute__s to applicable cdefs.h macros
 1.20 28-Sep-2006  christos branches: 1.20.2; 1.20.8;
better format for run level entries.
 1.19 22-Sep-2006  christos add definition for down time.
 1.18 19-Sep-2006  christos Add support for the majority of the rest of the system V options, although
we don't support some of them. We might add boottime, system clock change
time, in the future, so add the code to do it.
 1.17 19-Sep-2006  hubertf Change -u behaviour to also print PID of process on terminal, and
add -d to print more information from utmpx.

OK'd by christos@
 1.16 22-Jul-2005  peter Implement the following two XSI extensions:

-q: quick mode, list only the names and the number of users currently
logged on.

-s: default mode, list only the name, line and time fields.
 1.15 26-Jun-2005  christos WARNS=3
 1.14 22-Nov-2004  peter Sort options.

ok wiz@
 1.13 05-Jan-2004  jmmv Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
 1.12 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.11 17-Feb-2003  christos fix static length variables.
 1.10 01-Aug-2002  christos abstract out utmp loading.
 1.9 28-Jul-2002  christos add utmpx support; lots of code can be shared now with w.
 1.8 17-Jul-1999  christos How did this bug survive for so long? 'who am i' was busted because
it checked for valid utmp entries with usr.ut_name != NULL which can
never happen ofcourse, instead of usr.ut_name[0] != '\0'
 1.7 20-Dec-1998  christos cast field sizes to ints.
 1.6 20-Oct-1997  lukem fix .Nm usage, deprecate register, use ANSI string.h stuff
 1.5 23-Jul-1997  kleink * __RCSID()/__COPYRIGHT() police.
* Prototypes; fix compiler warnings.
* setlocale(LC_ALL, "") on startup.
* Add XPG4.2 `-H' flag.
 1.4 07-Dec-1994  jtc Added code for POSIX.2's -m, -T, and -u options.
 1.3 14-Nov-1994  jtc Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
 1.2 01-Aug-1993  mycroft Add RCS identifiers.
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.2 14-Nov-1994  jtc imported from 4.4lite
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.20.8.1 09-Jan-2008  matt sync with HEAD
 1.20.2.1 28-Nov-2008  snj Pull up following revision(s) (requested by dholland in ticket #1242):
usr.bin/who/who.c: revision 1.23
PR/39201: Brian Marcotte: "who am i" problem when using ptyfs, because it
strips pts/
 1.21.6.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.23.36.1 10-Aug-2014  tls Rebase.
 1.23.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed