millert [Mon, 5 Oct 2015 20:15:00 +0000 (20:15 +0000)]
Remove the non-standard -l flag that pipes the output through pr(1).
Based on a diff from and OK deraadt@
nicm [Mon, 5 Oct 2015 20:05:52 +0000 (20:05 +0000)]
Add support for !:strength modifier to adjust strength of a test.
nicm [Mon, 5 Oct 2015 19:50:38 +0000 (19:50 +0000)]
Offset into the file can be size_t and add some casts to remove warnings.
uebayasi [Mon, 5 Oct 2015 19:05:09 +0000 (19:05 +0000)]
Revert if_oqdrops accounting changes done in kernel, per request from mpi@.
(Especially adding IF_DROP() after IFQ_ENQUEUE() was completely wrong because
IFQ_ENQUEUE() already does it. Oops.)
After this revert, the situation becomes:
- if_snd.ifq_drops is incremented in either IFQ_ENQUEUE() or IF_DROP(), but
it is not shown to userland, and
- if_data.ifi_oqdrops is shown to userland, but it is not incremented by
anyone.
nicm [Mon, 5 Oct 2015 17:53:56 +0000 (17:53 +0000)]
Style nits on a couple of casts.
millert [Mon, 5 Oct 2015 17:31:17 +0000 (17:31 +0000)]
Use explicit_bzero() instead of memset() for zeroing out secrets.
OK deraadt@
deraadt [Mon, 5 Oct 2015 17:26:22 +0000 (17:26 +0000)]
this process deserves -fstack-protector-all
djm [Mon, 5 Oct 2015 17:11:21 +0000 (17:11 +0000)]
some more bzero->explicit_bzero, from Michael McConville
jmc [Mon, 5 Oct 2015 16:41:51 +0000 (16:41 +0000)]
correct picasso's birth date;
from comet (freebsd 116952), via richard
deraadt [Mon, 5 Oct 2015 16:29:55 +0000 (16:29 +0000)]
alpha ramdisk ran out of space, very slightly. Probably due to the
development of tame? option CD9660 and mount_cd9660 are already
absent, so remove the cd(4) driver
ok miod
deraadt [Mon, 5 Oct 2015 16:16:41 +0000 (16:16 +0000)]
tame "stdio inet cmsg" should work well in the session engine.
ok benno
deraadt [Mon, 5 Oct 2015 16:09:56 +0000 (16:09 +0000)]
KNF a switch statement, moving a local variable up a frame as well -
carefully.
krw [Mon, 5 Oct 2015 16:07:57 +0000 (16:07 +0000)]
Out, damned whitespace!
uebayasi [Mon, 5 Oct 2015 15:57:27 +0000 (15:57 +0000)]
Count IFQ_ENQUEUE() failure as output drop.
mpi@ prefers checking IFQ_ENQUEUE() error, and this matches that.
OK dlg@
uebayasi [Mon, 5 Oct 2015 15:52:46 +0000 (15:52 +0000)]
Don't count IF_DROP()'ed packets as if_oerrors too.
mpi@ plans to clean-up IF_DROP()'s, but fix consistent use of it for now.
OK dlg@
millert [Mon, 5 Oct 2015 15:50:01 +0000 (15:50 +0000)]
Remove unused errstr variable.
semarie [Mon, 5 Oct 2015 15:42:54 +0000 (15:42 +0000)]
use different tame requests if TMPDIR is in env:
- tmppath for when mktemp() operates in /tmp proper
- cpath+wpath for use of $TMPDIR
based on log-message from previous commit
ok deraadt@
uebayasi [Mon, 5 Oct 2015 15:40:39 +0000 (15:40 +0000)]
Handle ifi_oqdrops in netstat(8).
OK mpi@ dlg@
uebayasi [Mon, 5 Oct 2015 15:39:01 +0000 (15:39 +0000)]
Accumulate ifq_drops into if_oqdrops if if_start().
mpi@ questioned usefulness of if_snd.ifq_drops, but this is what exists now.
This area is going to be readily polished.
OK dlg@
uebayasi [Mon, 5 Oct 2015 15:29:14 +0000 (15:29 +0000)]
Teach snmpd(8) about if_oqdrops.
OK mpi@ dlg@
deraadt [Mon, 5 Oct 2015 15:25:16 +0000 (15:25 +0000)]
If expression omits -exec/execdir/-ok primaries, then find will never
enter the fork+execve codepath. That allows use of "stdio getpw rpath"!
Use of -exec methods have been discouraged for years anyways, with
-print0/xargs -0 now considered safer practice.
ok guenther millert
uebayasi [Mon, 5 Oct 2015 15:19:29 +0000 (15:19 +0000)]
Add ifi_oqdrops and its alias to struct if_data.
Necessary bumps in Ports will be handled by sthen@.
OK mpi@ dlg@
deraadt [Mon, 5 Oct 2015 15:16:23 +0000 (15:16 +0000)]
If the -l flag is set, diff will fork/execve pr on a pipe. But other
uses can tame "stdio wpath rpath cpath tmppath". tmppath for when
mktemp() operates in /tmp proper, but cpath+wpath for use of $TMPDIR.
ok sthen millert
semarie [Mon, 5 Oct 2015 14:58:37 +0000 (14:58 +0000)]
correct a rtget() error check
this function could only return 0 or 1, and 1 on error.
avoid to deref an uninitialised variable if rtget() return an error.
ok millert@ benno@ deraadt@
deraadt [Mon, 5 Oct 2015 14:18:33 +0000 (14:18 +0000)]
these 3 files do not need sys/socket.h
deraadt [Mon, 5 Oct 2015 13:30:30 +0000 (13:30 +0000)]
tame "stdio rpath" or tame "stdio" suffices for all of these programs.
fairly easy to audit by running nm and noticing nothing beyond base
stdio except for fopen/freopen. Then review all callpaths to those
functions, and place the tame() calls.
ok sthen
deraadt [Mon, 5 Oct 2015 13:27:45 +0000 (13:27 +0000)]
This can use tame "stdio rpath" from the top. If we are only working on
stdin, an additional tame "stdio" is easy.
same diff from sthen
deraadt [Mon, 5 Oct 2015 13:24:39 +0000 (13:24 +0000)]
tame "stdio rpath" works. (Someone could refactor the processing loop
to handle the stdin case without rpath, but it looks a bit invasive.
ok sthen
stsp [Mon, 5 Oct 2015 13:05:08 +0000 (13:05 +0000)]
Simplify iwm(4) newstate task by only queuing one state transition
at a time. The newstate task now always transitions to the most
recently requested state, rather than hopping along with every request.
This allows us get rid of the silly newstate generation counter, and
we can now task_del() a pending transition when the interface goes down.
While several issues with this driver remain, I believe this change
does not introduce new problems.
Tested by myself, jasper@, and zhuk@
mikeb [Mon, 5 Oct 2015 13:00:04 +0000 (13:00 +0000)]
Factor LACP frame processing out to a separate task
This is slightly refactored version of the diff by jmatthew@
that makes use of a single per-trunk task but retains per-port
mbuf queues.
Running LACP frame processing in a task context allows a simple
way to synchronize changes to the trunk ports and trunk itself
performed from the ioctl, timeout and task contexts with a kernel
lock.
OK mpi
krw [Mon, 5 Oct 2015 12:49:58 +0000 (12:49 +0000)]
Remove 'landisk' from the comment about NUMBOOT archs. Only one
NUMBOOT arch is left: Vax.
sobrado [Mon, 5 Oct 2015 10:25:59 +0000 (10:25 +0000)]
fix some spelling messes.
sobrado [Mon, 5 Oct 2015 10:25:19 +0000 (10:25 +0000)]
typo.
ratchov [Mon, 5 Oct 2015 07:18:03 +0000 (07:18 +0000)]
Fix missing checks for truncation of long file names. Rather than
checking for truncation every time we touch the string, simply allocate
a memory chunk large enough to store the full path.
deraadt [Mon, 5 Oct 2015 07:16:03 +0000 (07:16 +0000)]
tame "stdio rpath" works fine, as long as we sidestep the demangling
process which involves fork+execve....
ok doug
deraadt [Mon, 5 Oct 2015 07:09:46 +0000 (07:09 +0000)]
Since the dawn of time, this has contained freopen() for the tty path
with mode "w", as root, since "w" implies O_CREAT. That will create
the raw file in /dev if it does not yet exist (due to a lie in utmp).
It should use "r+", to open it for for O_RDWR only.
Oh man this reminds me of 1988, how old is this bug?
ok doug
deraadt [Mon, 5 Oct 2015 06:59:18 +0000 (06:59 +0000)]
tame "stdio rpath" initially; if we find out the only file operated on
is stdin, then we can drop directly to tame "stdio"
ok doug
deraadt [Mon, 5 Oct 2015 06:57:01 +0000 (06:57 +0000)]
tame "stdio rpath wpath cpath fattr", because this creates new files,
fchmod's them, and possibly renames them.
ok doug
deraadt [Mon, 5 Oct 2015 06:54:59 +0000 (06:54 +0000)]
refactor, so we don't a C function in a .h file, yuck!
yasuoka [Mon, 5 Oct 2015 06:51:50 +0000 (06:51 +0000)]
Fix ip_is_idle_packet() to parse packets properly.
diff from Yuuichi Someya
deraadt [Mon, 5 Oct 2015 06:43:31 +0000 (06:43 +0000)]
tame "stdio getpw" right at the top; this runs the whole gamut of
getpw/gr type functions allowed in that set.
ok doug
deraadt [Mon, 5 Oct 2015 06:36:18 +0000 (06:36 +0000)]
tame "stdio rpath" for the entire lifetime. newsyntax() could open a file
very early on, but next() can open one quite late.
ok doug
deraadt [Mon, 5 Oct 2015 06:30:37 +0000 (06:30 +0000)]
small KNF
deraadt [Mon, 5 Oct 2015 06:26:33 +0000 (06:26 +0000)]
tame "stdio rpath" early on, but if we discover only stdin is being
operated on switch to tame "stdio". Reformat a very ugly code block
without braces to squeeze the tame calls in.
ok doug
deraadt [Mon, 5 Oct 2015 06:23:34 +0000 (06:23 +0000)]
use the normal -1 check for tame failure
deraadt [Mon, 5 Oct 2015 06:21:15 +0000 (06:21 +0000)]
use the normal -1 check for tame failure
deraadt [Mon, 5 Oct 2015 06:17:05 +0000 (06:17 +0000)]
tame "stdio rpath" is enough for the general case, which opens file
after file from argv. If it is discovered to be reading from stdin only,
go to tame "stdio"
ok doug
jsing [Mon, 5 Oct 2015 06:13:58 +0000 (06:13 +0000)]
Make sure dot is not set after tz - fixes incorrect handling, which allows
20151005171301+1.09Z to be treated as a valid time.
ok beck@
deraadt [Mon, 5 Oct 2015 06:05:42 +0000 (06:05 +0000)]
tame "stdio rpath" works here. It may look like the stdin case can avoid
opening files, but no... a file could indicate nested import of another
file, so rpath is needed.
ok doug
deraadt [Mon, 5 Oct 2015 06:04:18 +0000 (06:04 +0000)]
col can be locked down with tame "stdio", in case it is fed nasty input,
or if it has bugs. The previous commits by schwarze indicate the latter
case was very true until recently...
ok doug
deraadt [Mon, 5 Oct 2015 05:33:29 +0000 (05:33 +0000)]
banner can be restricted to tame "stdio". if this program is put into a
foreign-data pipeline, and happens to contain a string handling bug, i do
not want it being controlled to open a socket.
ok doug
deraadt [Mon, 5 Oct 2015 05:24:12 +0000 (05:24 +0000)]
tame "stdio rpath" works for all use cases of pwd(1). In part this
success could be because our getcwd() is backed by a system call, unlike
historical practice. Didn't think it through competely, but this could
burn someone else later, if they try to port this code to another system.
Anyways, good enough for us.
all cases tested by doug
miod [Mon, 5 Oct 2015 04:43:03 +0000 (04:43 +0000)]
Remove disklabel -B support on landisk - superseded by MI installboot.
miod [Mon, 5 Oct 2015 04:38:27 +0000 (04:38 +0000)]
No need to create {sd,wd}boot links to xxboot anymore.
miod [Mon, 5 Oct 2015 04:31:21 +0000 (04:31 +0000)]
Use MI installboot instead of disklabel -B to put boot blocks on installation
media.
miod [Mon, 5 Oct 2015 04:30:35 +0000 (04:30 +0000)]
Copy the stage2 file to / in md_installboot().
krw [Mon, 5 Oct 2015 03:13:25 +0000 (03:13 +0000)]
Oops. Missed file in fdisk commit.
guenther [Mon, 5 Oct 2015 02:57:16 +0000 (02:57 +0000)]
Wrap <resolv.h> so that internal calls go direct
ok millert@
renato [Mon, 5 Oct 2015 01:59:33 +0000 (01:59 +0000)]
When the SIA state is declared for a given destination, reset the
adjacency with the unresponsive neighbor(s).
krw [Mon, 5 Oct 2015 01:48:48 +0000 (01:48 +0000)]
Tweak man page to describe newly enhanced '-g' operation.
krw [Mon, 5 Oct 2015 01:39:07 +0000 (01:39 +0000)]
Enhance '-g' to create a default GPT label in addition to the protective
MBR. If '-b' is specified an EFI System partition of the requested size is
created. All remaining space is put into an OpenBSD partition.
Minimal enhancement necessary for upcoming UEFI install support.
Committed first to flush out any unexpected impacts on 'normal' MBR
operation and install media.
ok deraadt@
deraadt [Mon, 5 Oct 2015 01:23:17 +0000 (01:23 +0000)]
user land -> userland; from Rob Pierce
deraadt [Mon, 5 Oct 2015 01:22:34 +0000 (01:22 +0000)]
user land -> userland; from Rob Pierce
renato [Sun, 4 Oct 2015 23:08:57 +0000 (23:08 +0000)]
Ignore IPv4 TLVs in IPv6 instances and vice-versa.
renato [Sun, 4 Oct 2015 23:00:10 +0000 (23:00 +0000)]
Fix warnings and add safeguards to protect against corrupted data.
renato [Sun, 4 Oct 2015 22:54:38 +0000 (22:54 +0000)]
Add option to configure or disable the DUAL active timeout.
djm [Sun, 4 Oct 2015 20:47:16 +0000 (20:47 +0000)]
mention sendto(2) destination address restriction for "rw"
subset; ok deraadt, feedback & ok jmc
jung [Sun, 4 Oct 2015 20:00:50 +0000 (20:00 +0000)]
tweak initial output a bit: do not show number of light sensors, just show if
some is found or not, also remove kbdled output as there is no (known) way to
test if (not) available at all
deraadt [Sun, 4 Oct 2015 18:49:30 +0000 (18:49 +0000)]
dmesg has two modes. The normal sysctl mode, and the -M/-N kvm searcher.
In both cases once the relevant setup is done, it can drop to tame "stdio".
deraadt [Sun, 4 Oct 2015 18:11:22 +0000 (18:11 +0000)]
remove tame "proc". it is not useful, because the "ed" diffs require
fork+execve, and execve is not going to become available in this fashion.
ed diffs should be handled using a built-in handler, and various folks
have been discussing this behind the scenes.
deraadt [Sun, 4 Oct 2015 17:55:21 +0000 (17:55 +0000)]
Move getcwd to a seperate area, with a hand-waving explanation for why
it is RPATH|WPATH... nothing changes, just the new explanation.
deraadt [Sun, 4 Oct 2015 16:50:29 +0000 (16:50 +0000)]
Also needs "rpath" for some circumstances.
deraadt [Sun, 4 Oct 2015 16:35:01 +0000 (16:35 +0000)]
add _eigrpd user/group
deraadt [Sun, 4 Oct 2015 16:01:07 +0000 (16:01 +0000)]
expr can use tame "stdio"
ok semarie
deraadt [Sun, 4 Oct 2015 16:00:43 +0000 (16:00 +0000)]
ls can use tame "stdio rpath getpw". It does uid/gid lookups, using
the 4.4bsd libc caching varients called user_from_uid/group_from_uid,
which are backed by getpw*/getgr* type functions.
ok semarie
deraadt [Sun, 4 Oct 2015 15:54:15 +0000 (15:54 +0000)]
df is a tame "stdio rpath" program, the rpath due to getfsstat and statfs.
those two system calls were put into the "rpath" catagory because they
expose pathname information.
millert [Sun, 4 Oct 2015 15:23:24 +0000 (15:23 +0000)]
Remove useless pattern_t typedef, POSIX regex is here to stay so
just use regex_t directly.
jsing [Sun, 4 Oct 2015 15:15:11 +0000 (15:15 +0000)]
Apply some style(9), tweak a few things for readability and add some
additional bounds checks.
ok beck@
millert [Sun, 4 Oct 2015 15:03:24 +0000 (15:03 +0000)]
Remove #ifdefs for non-POSIX systems. Also remove #ifdef for
SIGWINCH, it is not POSIX but it is a defacto standard.
OK deraadt@
deraadt [Sun, 4 Oct 2015 15:01:47 +0000 (15:01 +0000)]
after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie
ajacoutot [Sun, 4 Oct 2015 13:38:25 +0000 (13:38 +0000)]
Plural.
ajacoutot [Sun, 4 Oct 2015 13:38:11 +0000 (13:38 +0000)]
Make it possible to give the same action to several daemons at once.
e.g.
# rcctl restart sshd ntpd
from Martijn van Duren with tweaks
ok sthen@
jung [Sun, 4 Oct 2015 12:07:58 +0000 (12:07 +0000)]
a macmini has no light sensor, but reading from light sensor keys is
successful, while info/type reading from same keys fails and avoids
initialization;
so check the validity flag earlier and do not try to attach invalid
(non-existing) keys
debugged with help from kettenis
tedu [Sun, 4 Oct 2015 11:58:09 +0000 (11:58 +0000)]
fix custom popen to return pid to caller instead of tracking in a giant
array. this implies we can't use a function pointer for close, but also
means we get to repair some abuse of the comma operator.
ok miod
jung [Sun, 4 Oct 2015 11:41:24 +0000 (11:41 +0000)]
remove duplicate key, found by kettenis
tedu [Sun, 4 Oct 2015 09:08:46 +0000 (09:08 +0000)]
remove stale comment. there is no need to avoid side effects from a "list"
command, because this is not the ftp daemon
guenther [Sun, 4 Oct 2015 08:52:10 +0000 (08:52 +0000)]
Clarify a point. Adjust punctuation after discussion w/ jmc@
guenther [Sun, 4 Oct 2015 08:36:57 +0000 (08:36 +0000)]
Wrap <search.h> to make all the symbols there weak
jmc [Sun, 4 Oct 2015 08:31:01 +0000 (08:31 +0000)]
add "usage: " to usage(); from michael reed
guenther [Sun, 4 Oct 2015 07:57:21 +0000 (07:57 +0000)]
Wrap <spawn.h> to make all the symbols there weak
jmatthew [Sun, 4 Oct 2015 07:56:50 +0000 (07:56 +0000)]
Fix memory leak in error path.
From Benjamin Baier, found by llvm/scan-build.
guenther [Sun, 4 Oct 2015 07:34:34 +0000 (07:34 +0000)]
wrap __ivaliduser_sa() so the internal call is direct (at least until we
stop exporting it)
guenther [Sun, 4 Oct 2015 07:33:46 +0000 (07:33 +0000)]
wrap _fwalk() so internal calls are direct (at least until we stop
exporting it)
nicm [Sun, 4 Oct 2015 07:25:59 +0000 (07:25 +0000)]
Add tame(2) to file(1) and drop the old systrace(4) sandbox. tame(2) is
only applied to the child process, which requires the parent to not pass
directory file descriptors (tame("cmsg") does not allow it). Because
file(1) is already privsep, the permissions in the child can be quickly
restricted: first to "stdio cmsg getpw proc" then after the privdrop to
"stdio cmsg".
guenther [Sun, 4 Oct 2015 07:17:27 +0000 (07:17 +0000)]
recv() and send() aren't overriden by libpthread (vs recvfrom() and sendto()!)
so wrap them to make internal calls go direct
guenther [Sun, 4 Oct 2015 07:14:48 +0000 (07:14 +0000)]
getpeereid() and sockatmark() are neither used in libc nor in ISO C, so mark
them deprecated and weak
guenther [Sun, 4 Oct 2015 06:59:57 +0000 (06:59 +0000)]
__fdnlist() is exported for libkvm, but the internal call can go direct
guenther [Sun, 4 Oct 2015 06:37:21 +0000 (06:37 +0000)]
__xdrrec_getrec is in the reserved namespace, so it doesn't need to be weak
guenther [Sun, 4 Oct 2015 06:34:35 +0000 (06:34 +0000)]
Delete an inexplicable comment
deraadt [Sun, 4 Oct 2015 04:56:50 +0000 (04:56 +0000)]
Repair tame() error check to be == -1