History log of /openbsd-current/usr.bin/chpass/edit.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.36 11-Aug-2023 guenther

Replace use of the old BSD st_*timespec members in struct stat with
the POSIX-standard st_*tim members.

ok millert@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
# 1.35 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.34 26-Nov-2013 deraadt

unsigned char casts for ctype
ok krw


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.33 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_6_BASE
# 1.32 05-Mar-2009 millert

Call endusershell() at the end of ok_shell(), making a copy of the
(possibly) expanded shell as needed. OK deraadt@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.31 17-Nov-2007 millert

Use mtimespec instead of mtime when comparing the timestamp of the edited
file. OK miod@


Revision tags: OPENBSD_4_2_BASE
# 1.30 20-Mar-2007 tedu

remove some bogus *p tests from charles longeau
ok deraadt millert


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.29 30-Mar-2006 robert

use size_t where needed; ok deraadt@


Revision tags: OPENBSD_3_9_BASE
# 1.28 14-Nov-2005 deraadt

use asprintf


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.27 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


# 1.26 03-Apr-2003 millert

Deal with files w/o a trailing newline before EOF. Found by mpech@


Revision tags: OPENBSD_3_3_BASE
# 1.25 07-Feb-2003 millert

More paranoia, make sure temp file owner matches real uid.


# 1.24 02-Feb-2003 millert

More paranoia when opening temp file; don't follow symlinks and
require that the link count be one. Prompted by a report from Marc
Bevand. deraadt@ OK


Revision tags: OPENBSD_3_2_BASE
# 1.23 31-Jul-2002 millert

When I got removed the use of atexit() I missed the fact that edit()
calls pw_error() which in turn calls exit(). Now edit() returns
its status so the temp file gets cleaned up nicely if the user makes
no changes or if an error occurred. Problem noticed by deraadt@


# 1.22 27-Jun-2002 deraadt

cleanup; mpech & millert ok


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.21 12-Jul-2001 deraadt

first pass at a -Wall cleanup


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.20 26-Sep-2000 aaron

Do not permit non-printable characters in the passwd file; deraadt@ ok


Revision tags: OPENBSD_2_7_BASE
# 1.19 05-Mar-2000 aaron

Change prompt string from "Location:" to "Office Location:", to disambiguate
from what is expected, and to be consistent with finger(1); from FreeBSD.


# 1.18 05-Dec-1999 millert

Fix temp file unlinking. We use atexit() since the libutil passwd
routines do their own exit.


# 1.17 28-Nov-1999 ho

Check for size change as well as change in time. Scripted changes
usually finish in less than a second. ('vipw' already does this.)


Revision tags: OPENBSD_2_6_BASE
# 1.16 06-Aug-1999 deraadt

uid_t and gid_t, and use %u


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.15 28-May-1998 deraadt

unlink tmpfile; noted by chris@dqc.org


# 1.14 28-May-1998 deraadt

permit any gecos field to be empty


Revision tags: OPENBSD_2_3_BASE
# 1.13 30-Mar-1998 deraadt

Y2K fixes from Andreas.Gunnarsson@emw.ericsson.se; culled from various places


Revision tags: OPENBSD_2_2_BASE
# 1.12 17-Jun-1997 kstailey

(foo *)NULL -> NULL


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.11 23-Sep-1996 deraadt

for errors, tell which line #


# 1.10 01-Sep-1996 deraadt

limit to around 1024 chars post expansion


# 1.9 31-Aug-1996 deraadt

constrain & expansion to LINE_MAX for safety


# 1.8 31-Aug-1996 deraadt

kill leaks; help from das33@cornell.edu


# 1.7 30-Aug-1996 deraadt

typo


# 1.6 30-Aug-1996 deraadt

watch for slimy link races, improvement by das33@cornell.edu & i


# 1.5 26-Aug-1996 deraadt

mem leak


# 1.4 12-Jul-1996 downsj

slight clarification


# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 22-May-1996 deraadt

libutil


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.35 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


Revision tags: OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.34 26-Nov-2013 deraadt

unsigned char casts for ctype
ok krw


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE
# 1.33 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_6_BASE
# 1.32 05-Mar-2009 millert

Call endusershell() at the end of ok_shell(), making a copy of the
(possibly) expanded shell as needed. OK deraadt@


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.31 17-Nov-2007 millert

Use mtimespec instead of mtime when comparing the timestamp of the edited
file. OK miod@


Revision tags: OPENBSD_4_2_BASE
# 1.30 20-Mar-2007 tedu

remove some bogus *p tests from charles longeau
ok deraadt millert


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE
# 1.29 30-Mar-2006 robert

use size_t where needed; ok deraadt@


Revision tags: OPENBSD_3_9_BASE
# 1.28 14-Nov-2005 deraadt

use asprintf


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.27 03-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


# 1.26 03-Apr-2003 millert

Deal with files w/o a trailing newline before EOF. Found by mpech@


Revision tags: OPENBSD_3_3_BASE
# 1.25 07-Feb-2003 millert

More paranoia, make sure temp file owner matches real uid.


# 1.24 02-Feb-2003 millert

More paranoia when opening temp file; don't follow symlinks and
require that the link count be one. Prompted by a report from Marc
Bevand. deraadt@ OK


Revision tags: OPENBSD_3_2_BASE
# 1.23 31-Jul-2002 millert

When I got removed the use of atexit() I missed the fact that edit()
calls pw_error() which in turn calls exit(). Now edit() returns
its status so the temp file gets cleaned up nicely if the user makes
no changes or if an error occurred. Problem noticed by deraadt@


# 1.22 27-Jun-2002 deraadt

cleanup; mpech & millert ok


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.21 12-Jul-2001 deraadt

first pass at a -Wall cleanup


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.20 26-Sep-2000 aaron

Do not permit non-printable characters in the passwd file; deraadt@ ok


Revision tags: OPENBSD_2_7_BASE
# 1.19 05-Mar-2000 aaron

Change prompt string from "Location:" to "Office Location:", to disambiguate
from what is expected, and to be consistent with finger(1); from FreeBSD.


# 1.18 05-Dec-1999 millert

Fix temp file unlinking. We use atexit() since the libutil passwd
routines do their own exit.


# 1.17 28-Nov-1999 ho

Check for size change as well as change in time. Scripted changes
usually finish in less than a second. ('vipw' already does this.)


Revision tags: OPENBSD_2_6_BASE
# 1.16 06-Aug-1999 deraadt

uid_t and gid_t, and use %u


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE
# 1.15 28-May-1998 deraadt

unlink tmpfile; noted by chris@dqc.org


# 1.14 28-May-1998 deraadt

permit any gecos field to be empty


Revision tags: OPENBSD_2_3_BASE
# 1.13 30-Mar-1998 deraadt

Y2K fixes from Andreas.Gunnarsson@emw.ericsson.se; culled from various places


Revision tags: OPENBSD_2_2_BASE
# 1.12 17-Jun-1997 kstailey

(foo *)NULL -> NULL


Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
# 1.11 23-Sep-1996 deraadt

for errors, tell which line #


# 1.10 01-Sep-1996 deraadt

limit to around 1024 chars post expansion


# 1.9 31-Aug-1996 deraadt

constrain & expansion to LINE_MAX for safety


# 1.8 31-Aug-1996 deraadt

kill leaks; help from das33@cornell.edu


# 1.7 30-Aug-1996 deraadt

typo


# 1.6 30-Aug-1996 deraadt

watch for slimy link races, improvement by das33@cornell.edu & i


# 1.5 26-Aug-1996 deraadt

mem leak


# 1.4 12-Jul-1996 downsj

slight clarification


# 1.3 26-Jun-1996 deraadt

rcsid


# 1.2 22-May-1996 deraadt

libutil


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision