OpenBSD CVS

CVS log for src/usr.sbin/kvm_mkdb/kvm_mkdb.c


[BACK] Up to [local] / src / usr.sbin / kvm_mkdb

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 24 21:24:18 2021 UTC (2 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, HEAD
Changes since 1.32: +4 -4 lines
Diff to previous 1.32 (colored)

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 1.32 / (download) - annotate - [select for diffs], Mon Jul 12 15:09:21 2021 UTC (2 years, 10 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.31: +5 -5 lines
Diff to previous 1.31 (colored)

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 1.31 / (download) - annotate - [select for diffs], Fri Jun 28 13:32:48 2019 UTC (4 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

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 1.30 / (download) - annotate - [select for diffs], Fri Oct 26 17:11:33 2018 UTC (5 years, 7 months ago) by mestre
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.29: +17 -3 lines
Diff to previous 1.29 (colored)

If we pass `file' via args then we need to unveil(2) it with read permission,
otherwise if omitted we need to unveil(2) both _PATH_UNIX and _PATH_KSYMS with
same permissions.

Unconditionally we need to also unveil(2) dbdir, which by default is
_PATH_VARDB but can be changed via args (-o directory), with read/write/create
permissions. There are a couple of temp files that will be created but it's
inside dbdir so there's no need to unveil(2) them individually.

Since we already call pledge(2) before, twice, we need to add "unveil" promise
to both of them, and finally call pledge(2) once again with the needed promises
except "unveil".

OK millert@

Revision 1.29 / (download) - annotate - [select for diffs], Tue Nov 21 12:07:00 2017 UTC (6 years, 6 months ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

The call to setegid(2) was replaced with setresgid(2) a while ago.
Adjust error message accordingly.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Apr 25 16:03:57 2016 UTC (8 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

use setresgid() rather than setegid, all 3 gids can go the same way.
discussion with millert

Revision 1.27 / (download) - annotate - [select for diffs], Mon Nov 23 21:06:14 2015 UTC (8 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

missing pledge "getpw" for getgrnam(3)

Revision 1.26 / (download) - annotate - [select for diffs], Sun Nov 8 17:48:48 2015 UTC (8 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.25: +28 -16 lines
Diff to previous 1.25 (colored)

Set the effective gid to kmem so the fchown of kvm_bsd.db is allowed
by pledge(2).  This requires pledge "id" but that can be dropped
immediately after the setegid() call.  From Theo Buehler

Revision 1.25 / (download) - annotate - [select for diffs], Thu Nov 5 16:15:47 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.24: +4 -5 lines
Diff to previous 1.24 (colored)

there is a retry path in here which contains rename() and fchown().
Use a slightly larger pledge, earlier on.
from gregor best

Revision 1.24 / (download) - annotate - [select for diffs], Fri Oct 16 13:37:44 2015 UTC (8 years, 7 months ago) by millert
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored)

Implement real "flock" request and add it to userland programs that
use pledge and file locking.  OK deraadt@

Revision 1.23 / (download) - annotate - [select for diffs], Tue Oct 13 15:55:44 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.22: +2 -6 lines
Diff to previous 1.22 (colored)

semarie points out i am already forgetting the rules are very tight around
*chown, even "proc fattr" won't let you do such a job.  remove early pledge(),
only leave call after fchown, before when symbol table work gets done.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Oct 13 15:43:19 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.21: +16 -9 lines
Diff to previous 1.21 (colored)

oops, a chown appears late on the code.  to satisfy this pledge
"stdio rpath wpath cpath getpw fattr proc" early on; "proc fattr"
allows doing work with other uids on the file.  after opening the
db, do the chown (replace with fchown since we know fd) and then
pledge "stdio rpath"; "rpath" due to tmpfile rename() at the end.
mistake spotted by mpi

Revision 1.21 / (download) - annotate - [select for diffs], Mon Oct 12 16:01:53 2015 UTC (8 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.20: +4 -1 lines
Diff to previous 1.20 (colored)

kvm_mkdb & dev_mkdb are quite similar.  pledge "stdio rpath wpath cpath"
except kvm_mkdb also does "getpw".

Revision 1.20 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:17 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.19: +3 -4 lines
Diff to previous 1.19 (colored)

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 1.19 / (download) - annotate - [select for diffs], Tue Dec 23 03:29:52 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
Changes since 1.18: +15 -6 lines
Diff to previous 1.18 (colored)

the kvm database only needs to be readable by kmem group. make it so.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jul 20 01:38:40 2014 UTC (9 years, 10 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

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)

Revision 1.17 / (download) - annotate - [select for diffs], Tue Oct 27 23:59:51 2009 UTC (14 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.16: +1 -15 lines
Diff to previous 1.16 (colored)

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 1.16 / (download) - annotate - [select for diffs], Thu Apr 14 22:21:24 2005 UTC (19 years, 1 month ago) by djm
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2, OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0, OPENBSD_3_9_BASE, OPENBSD_3_9, OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.15: +4 -4 lines
Diff to previous 1.15 (colored)

fix off-by-ones in path truncation checks. from Han Boetes; ok deraadt@

Revision 1.15 / (download) - annotate - [select for diffs], Fri Nov 21 09:11:25 2003 UTC (20 years, 6 months ago) by djm
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7, OPENBSD_3_6_BASE, OPENBSD_3_6, OPENBSD_3_5_BASE, OPENBSD_3_5
Changes since 1.14: +35 -13 lines
Diff to previous 1.14 (colored)

add -o option to generate kvm database in alternate directory;
manpage nits jmc@ ok tedu@

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jun 26 21:36:39 2003 UTC (20 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_3_4_BASE, OPENBSD_3_4
Changes since 1.13: +5 -11 lines
Diff to previous 1.13 (colored)

ansi and protos

Revision 1.13 / (download) - annotate - [select for diffs], Mon Jun 2 23:36:53 2003 UTC (21 years ago) by millert
Branch: MAIN
Changes since 1.12: +3 -7 lines
Diff to previous 1.12 (colored)

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

Revision 1.12 / (download) - annotate - [select for diffs], Sun Apr 6 23:21:41 2003 UTC (21 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

use snamesize and realloc properly.  ok tdeval@

Revision 1.11 / (download) - annotate - [select for diffs], Sat Feb 16 21:28:03 2002 UTC (22 years, 3 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_3_3_BASE, OPENBSD_3_3, OPENBSD_3_2_BASE, OPENBSD_3_2, OPENBSD_3_1_BASE, OPENBSD_3_1
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)

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 1.10 / (download) - annotate - [select for diffs], Sun Apr 18 17:11:11 1999 UTC (25 years, 1 month ago) by espie
Branch: MAIN
CVS Tags: OPENBSD_3_0_BASE, OPENBSD_3_0, OPENBSD_2_9_BASE, OPENBSD_2_9, OPENBSD_2_8_BASE, OPENBSD_2_8, OPENBSD_2_7_BASE, OPENBSD_2_7, OPENBSD_2_6_BASE, OPENBSD_2_6
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored)

Document -v

Give more precise error messages in case of failure

Revision 1.9 / (download) - annotate - [select for diffs], Mon Mar 29 20:42:50 1999 UTC (25 years, 2 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_5_BASE, OPENBSD_2_5
Changes since 1.8: +5 -5 lines
Diff to previous 1.8 (colored)

Only print "already up to date" if in verbose mode

Revision 1.8 / (download) - annotate - [select for diffs], Wed Mar 24 05:25:55 1999 UTC (25 years, 2 months ago) by millert
Branch: MAIN
Changes since 1.7: +18 -17 lines
Diff to previous 1.7 (colored)

Only exit in nlist.c due to a memory error, otherwise just return.  A return value of 1 indicates an incorrect executable type, a return value of -1 indicates some other problem.  This gives us better fallback from /dev/ksyms to /bsd.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Mar 24 04:51:23 1999 UTC (25 years, 2 months ago) by millert
Branch: MAIN
Changes since 1.6: +49 -21 lines
Diff to previous 1.6 (colored)

Better fallback from /dev/ksyms to /bsd if there are problems with an nlist of /dev/ksyms

Revision 1.6 / (download) - annotate - [select for diffs], Tue Oct 6 18:09:50 1998 UTC (25 years, 8 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_4_BASE, OPENBSD_2_4
Changes since 1.5: +14 -2 lines
Diff to previous 1.5 (colored)

crank RLIMIT_DATA, seems to be necessary for some people

Revision 1.5 / (download) - annotate - [select for diffs], Sun Aug 23 00:57:14 1998 UTC (25 years, 9 months ago) by millert
Branch: MAIN
Changes since 1.4: +15 -6 lines
Diff to previous 1.4 (colored)

o If the user doesn't specify a file, use /dev/ksyms in preference to
  /bsd if it exists and we can open it.
o Fix a bug where kvm_mkdb would leave a temp file in /var/db if the
  file argument didn't exit.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Aug 19 07:43:37 1998 UTC (25 years, 9 months ago) by millert
Branch: MAIN
Changes since 1.3: +12 -6 lines
Diff to previous 1.3 (colored)

clean up our temp files on failure

Revision 1.3 / (download) - annotate - [select for diffs], Wed Aug 19 06:47:53 1998 UTC (25 years, 9 months ago) by millert
Branch: MAIN
Changes since 1.2: +18 -11 lines
Diff to previous 1.2 (colored)

Make kvm_mkdb work again
 o testdb() needs to take as an arg the name of the kernel so it can do
   the version test correctly.
 o add undocumented verbose flag to tell when we are rebuilding the .db file
 o DO_* -> _NLIST_DO_*, this prevented kvm_mkdb from doing anything at all.
 o preserve a few error messages so you get error output when none of
   the exec types match the target.
 o check malloc return values
 o get_kerntext should not subtract the sizeof(struct exec) from kernel_text

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jan 15 22:08:15 1997 UTC (27 years, 4 months ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_2_3_BASE, OPENBSD_2_3, OPENBSD_2_2_BASE, OPENBSD_2_2, OPENBSD_2_1_BASE, OPENBSD_2_1
Changes since 1.1: +9 -4 lines
Diff to previous 1.1 (colored)

From NetBSD: make testdb() fail if database version string has length zero.
Also, KNF, b* -> mem*, getopt tests against -1, not EOF, and index -> strchr.
Added OpenBSD tags.

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Wed Oct 18 08:47:39 1995 UTC (28 years, 7 months ago) by deraadt
CVS Tags: netbsd_1_1, OPENBSD_2_0_BASE, OPENBSD_2_0
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

initial import of NetBSD tree

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 18 08:47:39 1995 UTC (28 years, 7 months ago) by deraadt
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.