History log of /openbsd-current/usr.sbin/edquota/edquota.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.60 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.59 16-Sep-2018 millert

Use uid_from_user(3) and gid_from_group(3) in utilities that
do repeated lookups. OK tb@


# 1.58 26-Apr-2018 guenther

Use <fcntl.h> instead of <sys/file.h> for open() and friends.
Delete a bunch of unnecessary #includes and sort to match style(9)
while doing the above cleanup.

ok deraadt@ krw@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.57 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.56 09-Feb-2015 deraadt

clean up flags++ instances around getopt()
ok florian


# 1.55 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)


# 1.54 07-Oct-2014 guenther

When reading time intervals, start with a long long and convert from there.
Similarly, print them by casting to long long and using %lld.

ok otto@


Revision tags: OPENBSD_5_6_BASE
# 1.53 20-Jul-2014 guenther

Make sure the correct errno is reported by warn* or err* and not
the errno of an intervening cleanup operation like close/unlink/etc.

Diff from Doug Hogan (doug (at) acyclic.org)


# 1.52 18-May-2014 chl

replace some (type *)0 to NULL

ok krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.51 23-Nov-2013 deraadt

yet more unsigned char casts for ctype
checked by jca


Revision tags: OPENBSD_5_4_BASE
# 1.50 21-Apr-2013 jsing

Unbreak edquota by fixing the temporary file name template. Whilst here,
fold pathnames.h into edquota.c - we do not really need a header file for
a single define.

ok deraadt@ guenther@ millert@


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
# 1.49 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_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.48 17-Oct-2007 deraadt

- Be more careful about pre-existing SIGCHLD handlers (or SIG_IGN) by
temporarily restoring default behaviour. This is not 100% ideal.
But this fixes editor handling in mail... bah, it is really unfortunate
that got broken
- refactor the restoration code as well, to make it simpler
ok ray


# 1.47 31-Aug-2007 ray

Copy editit() from sendbug, synchronizing editor calling code.

OK otto, millert, beck, mbalmer, deraadt.


Revision tags: OPENBSD_4_2_BASE
# 1.46 06-Aug-2007 sobrado

the ellipsis is not an optional argument; while here, sync the usage
and synopsis of commands

lots of good ideas by jmc@

ok jmc@


Revision tags: OPENBSD_4_1_BASE
# 1.45 18-Oct-2006 deraadt

do not name FILE * variables "fd" since it is confusing


Revision tags: OPENBSD_4_0_BASE
# 1.44 02-Apr-2006 deraadt

use SEEK_* for lseek()


Revision tags: OPENBSD_3_9_BASE
# 1.43 12-Nov-2005 deraadt

more asprintf; ok dhill@mindcry.org


Revision tags: OPENBSD_3_8_BASE
# 1.42 01-Apr-2005 deraadt

these commands said "blocks" when they meant "KBytes" (they even calculated
it so). pointed out by janc@cyberspace.org, pr 3956


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.41 09-Mar-2004 tedu

type, Marek Blaszkowski


Revision tags: OPENBSD_3_4_BASE
# 1.40 26-Jun-2003 deraadt

strict proto cleanups


# 1.39 02-Jun-2003 millert

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


# 1.38 25-Apr-2003 avsm

replace an unbounded %s in a sscanf with a bounded one
ok millert@


# 1.37 02-Apr-2003 deraadt

strlcpy; millert ok


Revision tags: OPENBSD_3_3_BASE
# 1.36 13-Mar-2003 deraadt

lots of sprintf -> snprintf and strcpy -> strlcpy; checked by tedu


Revision tags: OPENBSD_3_2_BASE
# 1.35 06-Sep-2002 deraadt

cope with INITQFNAMES without a ;


# 1.34 06-Sep-2002 deraadt

no ; after INITQFNAMES


# 1.33 04-Jun-2002 deraadt

spelling; raj@cerias.purdue.edu


# 1.32 29-May-2002 deraadt

more snprintf


# 1.31 26-May-2002 deraadt

pid_t cleanup


Revision tags: OPENBSD_3_1_BASE
# 1.30 14-Mar-2002 mpech

kill more registers.

millert@ ok


# 1.29 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.28 04-Sep-2001 millert

Replace the deprecated BSD sigsetmask/sigblock/sigpause functions with their POSIX counterparts.


Revision tags: OPENBSD_2_9_BASE
# 1.27 15-Jan-2001 angelos

Revert previous patch (I should stop believing Theo, esp. when he's
intoxicated). Thanks to Paul Janzen for pointing this out.


# 1.26 14-Jan-2001 angelos

Handle quotas over 4G, PR 1534 (bob@prophecy.lu)


# 1.25 21-Dec-2000 pjanzen

Deal with quotas over 4G correctly; also, tidy a bit and be a touch more
paranoid with some buffers.


Revision tags: OPENBSD_2_8_BASE
# 1.24 30-Jun-2000 millert

warnx?/errx? paranoia (use "%s" not a bare string unless it is a
constant). These are not security holes but it is worth fixing
them anyway both for robustness and so folks looking for examples
in the tree are not misled into doing something potentially dangerous.
Furthermore, it is a bad idea to assume that pathnames will not
include '%' in them and that error routines don't return strings
with '%' in them (especially in light of the possibility of locales).


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE
# 1.23 15-Jun-1999 deraadt

branches: 1.23.4;
change getentry() args to solve problem


# 1.22 15-Jun-1999 millert

Check return value of getentry() for -1, not < 0 since it returns
an unsigned value; jon@oaktree.co.uk


Revision tags: OPENBSD_2_5_BASE
# 1.21 03-Jan-1999 deraadt

fix overflow; bde


Revision tags: OPENBSD_2_4_BASE
# 1.20 13-Jul-1998 millert

ftpd: sleep for an indeterminate amount for non-existant logins
to simulate a crypt, like login does.
Use SEEK_* not L_* and kill some 0L's used in lseek while we're there.


# 1.19 18-May-1998 deraadt

MAXPATHLEN not MAXPATHLEN+1


Revision tags: OPENBSD_2_3_BASE
# 1.18 22-Mar-1998 millert

Don't assume all-numeric names are id's, look up as a name in
passwd first. Noted by Solar Designer <solar@FALSE.COM>


Revision tags: OPENBSD_2_2_BASE
# 1.17 20-Aug-1997 millert

Some KNF and use warn/err.


# 1.16 30-Jun-1997 deraadt

Wall. uid & gid are not perfect .. but that is OK


Revision tags: OPENBSD_2_1_BASE
# 1.15 28-Jan-1997 deraadt

repair quotactl() types


# 1.14 17-Jan-1997 millert

r?index -> strr?chr


Revision tags: OPENBSD_2_0_BASE
# 1.13 16-Sep-1996 millert

_PATH_TMP -> _PATH_TMPFILE


# 1.12 01-Sep-1996 deraadt

fix warnings


# 1.11 29-Aug-1996 deraadt

type fixes


# 1.10 19-Jun-1996 deraadt

do not use system() to start $EDITOR, but fake system() ourselves


# 1.9 06-Jun-1996 deraadt

do not forget to unlink tmpfil


# 1.8 06-Jun-1996 deraadt

system() $EDITOR safely


# 1.7 06-Jun-1996 deraadt

use system, so that $EDITOR expansion works


# 1.6 25-Apr-1996 deraadt

permit quotas to work on mfs; problem reported by rdante@pnet.net


# 1.5 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.4 07-Jan-1996 deraadt

accept either ffs or ufs for filesystem name


# 1.3 06-Nov-1995 deraadt

Complete change from ufs -> ffs; (From Tatoku Ogaito; PR #1679)


# 1.2 24-Oct-1995 deraadt

ufs -> ffs


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.59 16-Sep-2018 millert

Use uid_from_user(3) and gid_from_group(3) in utilities that
do repeated lookups. OK tb@


# 1.58 26-Apr-2018 guenther

Use <fcntl.h> instead of <sys/file.h> for open() and friends.
Delete a bunch of unnecessary #includes and sort to match style(9)
while doing the above cleanup.

ok deraadt@ krw@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.57 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.56 09-Feb-2015 deraadt

clean up flags++ instances around getopt()
ok florian


# 1.55 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)


# 1.54 07-Oct-2014 guenther

When reading time intervals, start with a long long and convert from there.
Similarly, print them by casting to long long and using %lld.

ok otto@


Revision tags: OPENBSD_5_6_BASE
# 1.53 20-Jul-2014 guenther

Make sure the correct errno is reported by warn* or err* and not
the errno of an intervening cleanup operation like close/unlink/etc.

Diff from Doug Hogan (doug (at) acyclic.org)


# 1.52 18-May-2014 chl

replace some (type *)0 to NULL

ok krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.51 23-Nov-2013 deraadt

yet more unsigned char casts for ctype
checked by jca


Revision tags: OPENBSD_5_4_BASE
# 1.50 21-Apr-2013 jsing

Unbreak edquota by fixing the temporary file name template. Whilst here,
fold pathnames.h into edquota.c - we do not really need a header file for
a single define.

ok deraadt@ guenther@ millert@


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
# 1.49 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_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.48 17-Oct-2007 deraadt

- Be more careful about pre-existing SIGCHLD handlers (or SIG_IGN) by
temporarily restoring default behaviour. This is not 100% ideal.
But this fixes editor handling in mail... bah, it is really unfortunate
that got broken
- refactor the restoration code as well, to make it simpler
ok ray


# 1.47 31-Aug-2007 ray

Copy editit() from sendbug, synchronizing editor calling code.

OK otto, millert, beck, mbalmer, deraadt.


Revision tags: OPENBSD_4_2_BASE
# 1.46 06-Aug-2007 sobrado

the ellipsis is not an optional argument; while here, sync the usage
and synopsis of commands

lots of good ideas by jmc@

ok jmc@


Revision tags: OPENBSD_4_1_BASE
# 1.45 18-Oct-2006 deraadt

do not name FILE * variables "fd" since it is confusing


Revision tags: OPENBSD_4_0_BASE
# 1.44 02-Apr-2006 deraadt

use SEEK_* for lseek()


Revision tags: OPENBSD_3_9_BASE
# 1.43 12-Nov-2005 deraadt

more asprintf; ok dhill@mindcry.org


Revision tags: OPENBSD_3_8_BASE
# 1.42 01-Apr-2005 deraadt

these commands said "blocks" when they meant "KBytes" (they even calculated
it so). pointed out by janc@cyberspace.org, pr 3956


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.41 09-Mar-2004 tedu

type, Marek Blaszkowski


Revision tags: OPENBSD_3_4_BASE
# 1.40 26-Jun-2003 deraadt

strict proto cleanups


# 1.39 02-Jun-2003 millert

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


# 1.38 25-Apr-2003 avsm

replace an unbounded %s in a sscanf with a bounded one
ok millert@


# 1.37 02-Apr-2003 deraadt

strlcpy; millert ok


Revision tags: OPENBSD_3_3_BASE
# 1.36 13-Mar-2003 deraadt

lots of sprintf -> snprintf and strcpy -> strlcpy; checked by tedu


Revision tags: OPENBSD_3_2_BASE
# 1.35 06-Sep-2002 deraadt

cope with INITQFNAMES without a ;


# 1.34 06-Sep-2002 deraadt

no ; after INITQFNAMES


# 1.33 04-Jun-2002 deraadt

spelling; raj@cerias.purdue.edu


# 1.32 29-May-2002 deraadt

more snprintf


# 1.31 26-May-2002 deraadt

pid_t cleanup


Revision tags: OPENBSD_3_1_BASE
# 1.30 14-Mar-2002 mpech

kill more registers.

millert@ ok


# 1.29 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.28 04-Sep-2001 millert

Replace the deprecated BSD sigsetmask/sigblock/sigpause functions with their POSIX counterparts.


Revision tags: OPENBSD_2_9_BASE
# 1.27 15-Jan-2001 angelos

Revert previous patch (I should stop believing Theo, esp. when he's
intoxicated). Thanks to Paul Janzen for pointing this out.


# 1.26 14-Jan-2001 angelos

Handle quotas over 4G, PR 1534 (bob@prophecy.lu)


# 1.25 21-Dec-2000 pjanzen

Deal with quotas over 4G correctly; also, tidy a bit and be a touch more
paranoid with some buffers.


Revision tags: OPENBSD_2_8_BASE
# 1.24 30-Jun-2000 millert

warnx?/errx? paranoia (use "%s" not a bare string unless it is a
constant). These are not security holes but it is worth fixing
them anyway both for robustness and so folks looking for examples
in the tree are not misled into doing something potentially dangerous.
Furthermore, it is a bad idea to assume that pathnames will not
include '%' in them and that error routines don't return strings
with '%' in them (especially in light of the possibility of locales).


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE
# 1.23 15-Jun-1999 deraadt

branches: 1.23.4;
change getentry() args to solve problem


# 1.22 15-Jun-1999 millert

Check return value of getentry() for -1, not < 0 since it returns
an unsigned value; jon@oaktree.co.uk


Revision tags: OPENBSD_2_5_BASE
# 1.21 03-Jan-1999 deraadt

fix overflow; bde


Revision tags: OPENBSD_2_4_BASE
# 1.20 13-Jul-1998 millert

ftpd: sleep for an indeterminate amount for non-existant logins
to simulate a crypt, like login does.
Use SEEK_* not L_* and kill some 0L's used in lseek while we're there.


# 1.19 18-May-1998 deraadt

MAXPATHLEN not MAXPATHLEN+1


Revision tags: OPENBSD_2_3_BASE
# 1.18 22-Mar-1998 millert

Don't assume all-numeric names are id's, look up as a name in
passwd first. Noted by Solar Designer <solar@FALSE.COM>


Revision tags: OPENBSD_2_2_BASE
# 1.17 20-Aug-1997 millert

Some KNF and use warn/err.


# 1.16 30-Jun-1997 deraadt

Wall. uid & gid are not perfect .. but that is OK


Revision tags: OPENBSD_2_1_BASE
# 1.15 28-Jan-1997 deraadt

repair quotactl() types


# 1.14 17-Jan-1997 millert

r?index -> strr?chr


Revision tags: OPENBSD_2_0_BASE
# 1.13 16-Sep-1996 millert

_PATH_TMP -> _PATH_TMPFILE


# 1.12 01-Sep-1996 deraadt

fix warnings


# 1.11 29-Aug-1996 deraadt

type fixes


# 1.10 19-Jun-1996 deraadt

do not use system() to start $EDITOR, but fake system() ourselves


# 1.9 06-Jun-1996 deraadt

do not forget to unlink tmpfil


# 1.8 06-Jun-1996 deraadt

system() $EDITOR safely


# 1.7 06-Jun-1996 deraadt

use system, so that $EDITOR expansion works


# 1.6 25-Apr-1996 deraadt

permit quotas to work on mfs; problem reported by rdante@pnet.net


# 1.5 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.4 07-Jan-1996 deraadt

accept either ffs or ufs for filesystem name


# 1.3 06-Nov-1995 deraadt

Complete change from ufs -> ffs; (From Tatoku Ogaito; PR #1679)


# 1.2 24-Oct-1995 deraadt

ufs -> ffs


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.58 26-Apr-2018 guenther

Use <fcntl.h> instead of <sys/file.h> for open() and friends.
Delete a bunch of unnecessary #includes and sort to match style(9)
while doing the above cleanup.

ok deraadt@ krw@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.57 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.56 09-Feb-2015 deraadt

clean up flags++ instances around getopt()
ok florian


# 1.55 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)


# 1.54 07-Oct-2014 guenther

When reading time intervals, start with a long long and convert from there.
Similarly, print them by casting to long long and using %lld.

ok otto@


Revision tags: OPENBSD_5_6_BASE
# 1.53 20-Jul-2014 guenther

Make sure the correct errno is reported by warn* or err* and not
the errno of an intervening cleanup operation like close/unlink/etc.

Diff from Doug Hogan (doug (at) acyclic.org)


# 1.52 18-May-2014 chl

replace some (type *)0 to NULL

ok krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.51 23-Nov-2013 deraadt

yet more unsigned char casts for ctype
checked by jca


Revision tags: OPENBSD_5_4_BASE
# 1.50 21-Apr-2013 jsing

Unbreak edquota by fixing the temporary file name template. Whilst here,
fold pathnames.h into edquota.c - we do not really need a header file for
a single define.

ok deraadt@ guenther@ millert@


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
# 1.49 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_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.48 17-Oct-2007 deraadt

- Be more careful about pre-existing SIGCHLD handlers (or SIG_IGN) by
temporarily restoring default behaviour. This is not 100% ideal.
But this fixes editor handling in mail... bah, it is really unfortunate
that got broken
- refactor the restoration code as well, to make it simpler
ok ray


# 1.47 31-Aug-2007 ray

Copy editit() from sendbug, synchronizing editor calling code.

OK otto, millert, beck, mbalmer, deraadt.


Revision tags: OPENBSD_4_2_BASE
# 1.46 06-Aug-2007 sobrado

the ellipsis is not an optional argument; while here, sync the usage
and synopsis of commands

lots of good ideas by jmc@

ok jmc@


Revision tags: OPENBSD_4_1_BASE
# 1.45 18-Oct-2006 deraadt

do not name FILE * variables "fd" since it is confusing


Revision tags: OPENBSD_4_0_BASE
# 1.44 02-Apr-2006 deraadt

use SEEK_* for lseek()


Revision tags: OPENBSD_3_9_BASE
# 1.43 12-Nov-2005 deraadt

more asprintf; ok dhill@mindcry.org


Revision tags: OPENBSD_3_8_BASE
# 1.42 01-Apr-2005 deraadt

these commands said "blocks" when they meant "KBytes" (they even calculated
it so). pointed out by janc@cyberspace.org, pr 3956


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.41 09-Mar-2004 tedu

type, Marek Blaszkowski


Revision tags: OPENBSD_3_4_BASE
# 1.40 26-Jun-2003 deraadt

strict proto cleanups


# 1.39 02-Jun-2003 millert

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


# 1.38 25-Apr-2003 avsm

replace an unbounded %s in a sscanf with a bounded one
ok millert@


# 1.37 02-Apr-2003 deraadt

strlcpy; millert ok


Revision tags: OPENBSD_3_3_BASE
# 1.36 13-Mar-2003 deraadt

lots of sprintf -> snprintf and strcpy -> strlcpy; checked by tedu


Revision tags: OPENBSD_3_2_BASE
# 1.35 06-Sep-2002 deraadt

cope with INITQFNAMES without a ;


# 1.34 06-Sep-2002 deraadt

no ; after INITQFNAMES


# 1.33 04-Jun-2002 deraadt

spelling; raj@cerias.purdue.edu


# 1.32 29-May-2002 deraadt

more snprintf


# 1.31 26-May-2002 deraadt

pid_t cleanup


Revision tags: OPENBSD_3_1_BASE
# 1.30 14-Mar-2002 mpech

kill more registers.

millert@ ok


# 1.29 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.28 04-Sep-2001 millert

Replace the deprecated BSD sigsetmask/sigblock/sigpause functions with their POSIX counterparts.


Revision tags: OPENBSD_2_9_BASE
# 1.27 15-Jan-2001 angelos

Revert previous patch (I should stop believing Theo, esp. when he's
intoxicated). Thanks to Paul Janzen for pointing this out.


# 1.26 14-Jan-2001 angelos

Handle quotas over 4G, PR 1534 (bob@prophecy.lu)


# 1.25 21-Dec-2000 pjanzen

Deal with quotas over 4G correctly; also, tidy a bit and be a touch more
paranoid with some buffers.


Revision tags: OPENBSD_2_8_BASE
# 1.24 30-Jun-2000 millert

warnx?/errx? paranoia (use "%s" not a bare string unless it is a
constant). These are not security holes but it is worth fixing
them anyway both for robustness and so folks looking for examples
in the tree are not misled into doing something potentially dangerous.
Furthermore, it is a bad idea to assume that pathnames will not
include '%' in them and that error routines don't return strings
with '%' in them (especially in light of the possibility of locales).


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE
# 1.23 15-Jun-1999 deraadt

branches: 1.23.4;
change getentry() args to solve problem


# 1.22 15-Jun-1999 millert

Check return value of getentry() for -1, not < 0 since it returns
an unsigned value; jon@oaktree.co.uk


Revision tags: OPENBSD_2_5_BASE
# 1.21 03-Jan-1999 deraadt

fix overflow; bde


Revision tags: OPENBSD_2_4_BASE
# 1.20 13-Jul-1998 millert

ftpd: sleep for an indeterminate amount for non-existant logins
to simulate a crypt, like login does.
Use SEEK_* not L_* and kill some 0L's used in lseek while we're there.


# 1.19 18-May-1998 deraadt

MAXPATHLEN not MAXPATHLEN+1


Revision tags: OPENBSD_2_3_BASE
# 1.18 22-Mar-1998 millert

Don't assume all-numeric names are id's, look up as a name in
passwd first. Noted by Solar Designer <solar@FALSE.COM>


Revision tags: OPENBSD_2_2_BASE
# 1.17 20-Aug-1997 millert

Some KNF and use warn/err.


# 1.16 30-Jun-1997 deraadt

Wall. uid & gid are not perfect .. but that is OK


Revision tags: OPENBSD_2_1_BASE
# 1.15 28-Jan-1997 deraadt

repair quotactl() types


# 1.14 17-Jan-1997 millert

r?index -> strr?chr


Revision tags: OPENBSD_2_0_BASE
# 1.13 16-Sep-1996 millert

_PATH_TMP -> _PATH_TMPFILE


# 1.12 01-Sep-1996 deraadt

fix warnings


# 1.11 29-Aug-1996 deraadt

type fixes


# 1.10 19-Jun-1996 deraadt

do not use system() to start $EDITOR, but fake system() ourselves


# 1.9 06-Jun-1996 deraadt

do not forget to unlink tmpfil


# 1.8 06-Jun-1996 deraadt

system() $EDITOR safely


# 1.7 06-Jun-1996 deraadt

use system, so that $EDITOR expansion works


# 1.6 25-Apr-1996 deraadt

permit quotas to work on mfs; problem reported by rdante@pnet.net


# 1.5 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.4 07-Jan-1996 deraadt

accept either ffs or ufs for filesystem name


# 1.3 06-Nov-1995 deraadt

Complete change from ufs -> ffs; (From Tatoku Ogaito; PR #1679)


# 1.2 24-Oct-1995 deraadt

ufs -> ffs


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.57 20-Aug-2015 deraadt

stdlib.h is in scope; do not cast malloc/calloc/realloc*
ok millert krw


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.56 09-Feb-2015 deraadt

clean up flags++ instances around getopt()
ok florian


# 1.55 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)


# 1.54 07-Oct-2014 guenther

When reading time intervals, start with a long long and convert from there.
Similarly, print them by casting to long long and using %lld.

ok otto@


Revision tags: OPENBSD_5_6_BASE
# 1.53 20-Jul-2014 guenther

Make sure the correct errno is reported by warn* or err* and not
the errno of an intervening cleanup operation like close/unlink/etc.

Diff from Doug Hogan (doug (at) acyclic.org)


# 1.52 18-May-2014 chl

replace some (type *)0 to NULL

ok krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.51 23-Nov-2013 deraadt

yet more unsigned char casts for ctype
checked by jca


Revision tags: OPENBSD_5_4_BASE
# 1.50 21-Apr-2013 jsing

Unbreak edquota by fixing the temporary file name template. Whilst here,
fold pathnames.h into edquota.c - we do not really need a header file for
a single define.

ok deraadt@ guenther@ millert@


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
# 1.49 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_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.48 17-Oct-2007 deraadt

- Be more careful about pre-existing SIGCHLD handlers (or SIG_IGN) by
temporarily restoring default behaviour. This is not 100% ideal.
But this fixes editor handling in mail... bah, it is really unfortunate
that got broken
- refactor the restoration code as well, to make it simpler
ok ray


# 1.47 31-Aug-2007 ray

Copy editit() from sendbug, synchronizing editor calling code.

OK otto, millert, beck, mbalmer, deraadt.


Revision tags: OPENBSD_4_2_BASE
# 1.46 06-Aug-2007 sobrado

the ellipsis is not an optional argument; while here, sync the usage
and synopsis of commands

lots of good ideas by jmc@

ok jmc@


Revision tags: OPENBSD_4_1_BASE
# 1.45 18-Oct-2006 deraadt

do not name FILE * variables "fd" since it is confusing


Revision tags: OPENBSD_4_0_BASE
# 1.44 02-Apr-2006 deraadt

use SEEK_* for lseek()


Revision tags: OPENBSD_3_9_BASE
# 1.43 12-Nov-2005 deraadt

more asprintf; ok dhill@mindcry.org


Revision tags: OPENBSD_3_8_BASE
# 1.42 01-Apr-2005 deraadt

these commands said "blocks" when they meant "KBytes" (they even calculated
it so). pointed out by janc@cyberspace.org, pr 3956


Revision tags: OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.41 09-Mar-2004 tedu

type, Marek Blaszkowski


Revision tags: OPENBSD_3_4_BASE
# 1.40 26-Jun-2003 deraadt

strict proto cleanups


# 1.39 02-Jun-2003 millert

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


# 1.38 25-Apr-2003 avsm

replace an unbounded %s in a sscanf with a bounded one
ok millert@


# 1.37 02-Apr-2003 deraadt

strlcpy; millert ok


Revision tags: OPENBSD_3_3_BASE
# 1.36 13-Mar-2003 deraadt

lots of sprintf -> snprintf and strcpy -> strlcpy; checked by tedu


Revision tags: OPENBSD_3_2_BASE
# 1.35 06-Sep-2002 deraadt

cope with INITQFNAMES without a ;


# 1.34 06-Sep-2002 deraadt

no ; after INITQFNAMES


# 1.33 04-Jun-2002 deraadt

spelling; raj@cerias.purdue.edu


# 1.32 29-May-2002 deraadt

more snprintf


# 1.31 26-May-2002 deraadt

pid_t cleanup


Revision tags: OPENBSD_3_1_BASE
# 1.30 14-Mar-2002 mpech

kill more registers.

millert@ ok


# 1.29 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.28 04-Sep-2001 millert

Replace the deprecated BSD sigsetmask/sigblock/sigpause functions with their POSIX counterparts.


Revision tags: OPENBSD_2_9_BASE
# 1.27 15-Jan-2001 angelos

Revert previous patch (I should stop believing Theo, esp. when he's
intoxicated). Thanks to Paul Janzen for pointing this out.


# 1.26 14-Jan-2001 angelos

Handle quotas over 4G, PR 1534 (bob@prophecy.lu)


# 1.25 21-Dec-2000 pjanzen

Deal with quotas over 4G correctly; also, tidy a bit and be a touch more
paranoid with some buffers.


Revision tags: OPENBSD_2_8_BASE
# 1.24 30-Jun-2000 millert

warnx?/errx? paranoia (use "%s" not a bare string unless it is a
constant). These are not security holes but it is worth fixing
them anyway both for robustness and so folks looking for examples
in the tree are not misled into doing something potentially dangerous.
Furthermore, it is a bad idea to assume that pathnames will not
include '%' in them and that error routines don't return strings
with '%' in them (especially in light of the possibility of locales).


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE
# 1.23 15-Jun-1999 deraadt

branches: 1.23.4;
change getentry() args to solve problem


# 1.22 15-Jun-1999 millert

Check return value of getentry() for -1, not < 0 since it returns
an unsigned value; jon@oaktree.co.uk


Revision tags: OPENBSD_2_5_BASE
# 1.21 03-Jan-1999 deraadt

fix overflow; bde


Revision tags: OPENBSD_2_4_BASE
# 1.20 13-Jul-1998 millert

ftpd: sleep for an indeterminate amount for non-existant logins
to simulate a crypt, like login does.
Use SEEK_* not L_* and kill some 0L's used in lseek while we're there.


# 1.19 18-May-1998 deraadt

MAXPATHLEN not MAXPATHLEN+1


Revision tags: OPENBSD_2_3_BASE
# 1.18 22-Mar-1998 millert

Don't assume all-numeric names are id's, look up as a name in
passwd first. Noted by Solar Designer <solar@FALSE.COM>


Revision tags: OPENBSD_2_2_BASE
# 1.17 20-Aug-1997 millert

Some KNF and use warn/err.


# 1.16 30-Jun-1997 deraadt

Wall. uid & gid are not perfect .. but that is OK


Revision tags: OPENBSD_2_1_BASE
# 1.15 28-Jan-1997 deraadt

repair quotactl() types


# 1.14 17-Jan-1997 millert

r?index -> strr?chr


Revision tags: OPENBSD_2_0_BASE
# 1.13 16-Sep-1996 millert

_PATH_TMP -> _PATH_TMPFILE


# 1.12 01-Sep-1996 deraadt

fix warnings


# 1.11 29-Aug-1996 deraadt

type fixes


# 1.10 19-Jun-1996 deraadt

do not use system() to start $EDITOR, but fake system() ourselves


# 1.9 06-Jun-1996 deraadt

do not forget to unlink tmpfil


# 1.8 06-Jun-1996 deraadt

system() $EDITOR safely


# 1.7 06-Jun-1996 deraadt

use system, so that $EDITOR expansion works


# 1.6 25-Apr-1996 deraadt

permit quotas to work on mfs; problem reported by rdante@pnet.net


# 1.5 21-Apr-1996 deraadt

sync to netbsd 960418


# 1.4 07-Jan-1996 deraadt

accept either ffs or ufs for filesystem name


# 1.3 06-Nov-1995 deraadt

Complete change from ufs -> ffs; (From Tatoku Ogaito; PR #1679)


# 1.2 24-Oct-1995 deraadt

ufs -> ffs


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision