History log of /openbsd-current/usr.bin/look/look.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.27 04-Dec-2022 cheloha

userspace: remove vestigial '?' cases from top-level getopt(3) loops

getopt(3) returns '?' when it encounters a flag not present in the in
the optstring or if a flag is missing its option argument. We can
handle this case with the "default" failure case with no loss of
legibility. Hence, remove all the redundant "case '?':" lines.

Prompted by dlg@. With help from dlg@ and millert@.

Link: https://marc.info/?l=openbsd-tech&m=167011979726449&w=2

ok naddy@ millert@ dlg@


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.26 10-Feb-2022 cheloha

look(1): use a stricter pledge(2) in lieu of unveil(2)

We're only reading one file here, so unveil(2) is overkill. We can
achieve the same effect with just pledge(2):

- Start with an initial pledge(2) of "stdio rpath" at the top of main().
We know we need to read a file at this point but don't yet know which
one.

- Drop the pledge(2) down to "stdio" after we open(2) and fstat(2) the
chosen file.

- Dropping "rpath" obviates unveil(2).

Thread: https://marc.info/?l=openbsd-tech&m=164437072017248&w=2

ok millert@


# 1.25 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_7_0_BASE
# 1.24 12-Jul-2021 beck

Change the error reporting pattern throughout the tree when unveil
fails to report the path that the failure occured on. Suggested by
deraadt@ after some tech discussion.

Work done and verified by Ashton Fagg <ashton@fagg.id.au>

ok deraadt@ semarie@ claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.23 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.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.26 10-Feb-2022 cheloha

look(1): use a stricter pledge(2) in lieu of unveil(2)

We're only reading one file here, so unveil(2) is overkill. We can
achieve the same effect with just pledge(2):

- Start with an initial pledge(2) of "stdio rpath" at the top of main().
We know we need to read a file at this point but don't yet know which
one.

- Drop the pledge(2) down to "stdio" after we open(2) and fstat(2) the
chosen file.

- Dropping "rpath" obviates unveil(2).

Thread: https://marc.info/?l=openbsd-tech&m=164437072017248&w=2

ok millert@


# 1.25 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_7_0_BASE
# 1.24 12-Jul-2021 beck

Change the error reporting pattern throughout the tree when unveil
fails to report the path that the failure occured on. Suggested by
deraadt@ after some tech discussion.

Work done and verified by Ashton Fagg <ashton@fagg.id.au>

ok deraadt@ semarie@ claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.23 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.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.25 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_7_0_BASE
# 1.24 12-Jul-2021 beck

Change the error reporting pattern throughout the tree when unveil
fails to report the path that the failure occured on. Suggested by
deraadt@ after some tech discussion.

Work done and verified by Ashton Fagg <ashton@fagg.id.au>

ok deraadt@ semarie@ claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.23 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.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.24 12-Jul-2021 beck

Change the error reporting pattern throughout the tree when unveil
fails to report the path that the failure occured on. Suggested by
deraadt@ after some tech discussion.

Work done and verified by Ashton Fagg <ashton@fagg.id.au>

ok deraadt@ semarie@ claudio@


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.23 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.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.23 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.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.22 11-Aug-2018 mestre

look(1) will access /usr/share/dict/words to look for the string we want, or it
may access another file instead if we mention it via argument. In order to know
which file to unveil(2) we need to push down pledge(2) a little bit after
getopt(3) and now that we know the name of the file we can unveil(2) it only
with read permissions.

OK deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.21 21-Jan-2017 krw

Nuke more whitespace caught in the headlights of "warning:"
rectification.


# 1.20 21-Jan-2017 krw

Accommodate gcc's suggestion that assignments used as truth values
should be enclosed in parentheses.

ok deraadt@


# 1.19 13-Sep-2016 millert

Eliminate the FOLD and DICT macros. There's no need to check for
isascii() with ANSI ctype macros/functions. Eliminating the macros
makes the code clearer. OK jca@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.18 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.17 07-Oct-2015 deraadt

tame "stdio rpath", for the open with O_RDONLY.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.16 06-Feb-2015 millert

SIZE_MAX is standard, we should be using it in preference to the
obsolete SIZE_T_MAX. OK miod@ beck@


Revision tags: OPENBSD_5_6_BASE
# 1.15 20-May-2014 guenther

Use errc/warnc to simplify code.
Also, in 'ftp', always put the error message last, after the hostname/ipaddr.

ok jsing@ krw@ millert@


Revision tags: OPENBSD_5_5_BASE
# 1.14 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.13 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.12 17-Jun-2009 sobrado

synchronize synopsis and usage.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE
# 1.11 25-Jun-2005 niallo

Fix typo in a comment.

ok jmc@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.10 10-Jun-2003 deraadt

mostly ansi cleanup; pval ok


# 1.9 03-Jun-2003 millert

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


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.8 01-Mar-2002 millert

Fix an err() that should really be errx()


# 1.7 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.


# 1.6 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE
# 1.5 12-Oct-2000 art

Check the mmap return value against MAP_FAILED, not NULL.


Revision tags: OPENBSD_2_7_BASE
# 1.4 21-Dec-1999 millert

Use MAP_PRIVATE for mmap() flags instead of 0. With UVM this defaults
to MAP_PRIVATE anyway but we want to avoid the kernel complaining...


Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
# 1.3 15-Jan-1997 millert

getopt(3) returns -1 when out of args, not EOF, whee!


Revision tags: OPENBSD_2_0_BASE
# 1.2 26-Jun-1996 deraadt

rcsid


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision