gilles [Tue, 6 Oct 2015 06:07:28 +0000 (06:07 +0000)]
fix chdir() call for the sake of correctness
reported by qualys
gilles [Tue, 6 Oct 2015 06:04:46 +0000 (06:04 +0000)]
fix values passed to umask(), they should be octal.
the permissions are even more restrictive than they should.
misc bug reported by qualys
deraadt [Tue, 6 Oct 2015 06:03:11 +0000 (06:03 +0000)]
do not need ioctl.h
deraadt [Tue, 6 Oct 2015 05:51:01 +0000 (05:51 +0000)]
Obvious tame "stdio rpath wpath cpath" to a program I will never use.
gilles [Tue, 6 Oct 2015 05:48:34 +0000 (05:48 +0000)]
fix reallocarray() constructs to always use temporary variable
deraadt [Tue, 6 Oct 2015 05:42:12 +0000 (05:42 +0000)]
Enable ioctl() in the "rw" request, to support FIONREAD/FIONBIO easier
for the stdio/libevent usage case. Further ioctl commands are narrowly
checked as before.
ok djm guenther semarie
deraadt [Tue, 6 Oct 2015 03:29:49 +0000 (03:29 +0000)]
these do not use ioctl.h
guenther [Tue, 6 Oct 2015 03:29:35 +0000 (03:29 +0000)]
struct knote's kn_sdata needs to be the same type as struct kevent's data
ok deraadt@
deraadt [Tue, 6 Oct 2015 03:27:25 +0000 (03:27 +0000)]
tame "stdio getpw"
discussed with guenther
deraadt [Tue, 6 Oct 2015 03:26:31 +0000 (03:26 +0000)]
data processing stdin to stdout; tame "stdout"
deraadt [Tue, 6 Oct 2015 03:25:02 +0000 (03:25 +0000)]
unfortunately tame "stdio" can only happen well after the sequence of:
utmp parsing, tty opening, setresgid to drop privs. it only protects
a basic io loop.
discussed with doug
djm [Tue, 6 Oct 2015 01:20:59 +0000 (01:20 +0000)]
adapt to recent sshkey_parse_private_fileblob() API change
deraadt [Tue, 6 Oct 2015 00:30:30 +0000 (00:30 +0000)]
The performance hit for -fstack-protector-all is worth it here.
ok gilles
deraadt [Tue, 6 Oct 2015 00:24:20 +0000 (00:24 +0000)]
Appears that tame "stdio getpw rpath" will satisfy all code paths.
deraadt [Mon, 5 Oct 2015 23:59:11 +0000 (23:59 +0000)]
During getopt(), an optional file may be opened. After that, tame "stdio"
works.
Time for some commentary! tame became possible because syslog(3) in
openbsd uses a system call -- sendsyslog(2) -- which does not require
an elaborate dance opening an AF_UNIX socket and using connect() or
send() to deliver to a "/dev/log" unix socket in the filesystem.
sendsyslog(2) was invented to ensure the stack-protector's
__stack_smash_handler() can gaurantee delivery of failure messages to
syslogd(8) in harsh conditions -- such as file descriptor exhaustion
or inside chroot(2). Now it also works in tame(2)'d proceses, since
sendsyslog(2) is always allowed. Our syslog(3) needs no elaborate
socket code, therefore piles of software does not have an inate need
for socket(2), connect(2), send(2), nor access to the filesystem.
syslog(3) remains fully compatible otherwise.
How does the stack protector report an error in fully capsicum'd
program? Or in some other Linux protection mechanism, if someone
protectes a program too far and takes sockets away, how do they see
the stack protector working?
You can have nice things when the underlying rules change.
deraadt [Mon, 5 Oct 2015 23:42:40 +0000 (23:42 +0000)]
tame "stdio rpath wpath cpath", because this program reads and creates
files, using stdio. It does nothing else.
nicm [Mon, 5 Oct 2015 23:32:15 +0000 (23:32 +0000)]
Remove EXTERN from lex.h and put the definitions in lex.c, from Michael
McConville.
nicm [Mon, 5 Oct 2015 23:26:58 +0000 (23:26 +0000)]
Remove EXTERN from table.h and put the definitions in table.c, from
Michael McConville.
nicm [Mon, 5 Oct 2015 23:21:52 +0000 (23:21 +0000)]
Another trivial update, some extra bits for timezone, from file 5.x.
nicm [Mon, 5 Oct 2015 23:15:31 +0000 (23:15 +0000)]
Set the line file descriptor nonblocking and make it blocking again for
xmodem and child processes, makes xmodem work with -d. Reported by Kim
Zeitler via guenther@, tested by Jiri B. ok (and a small change) guenther
yasuoka [Mon, 5 Oct 2015 22:59:39 +0000 (22:59 +0000)]
Fix efiboot not to use the usual kernel load address. Load the kernel in
an allocated region and also move the stack to the end of the heap region.
Then move the kernel to the usual place just before run the kernel, after
calling ExitBootService().
report/test Toby Slight, Brian Conway
nicm [Mon, 5 Oct 2015 22:48:26 +0000 (22:48 +0000)]
Very trivial changes from file 5.x: spelling mistakes, %ld->%d and some
style nits.
nicm [Mon, 5 Oct 2015 22:45:26 +0000 (22:45 +0000)]
Get BE and LE UTF-32 correct, from file 5.x.
nicm [Mon, 5 Oct 2015 22:36:23 +0000 (22:36 +0000)]
Update compress magic from the upstream file 5.x magic files.
stsp [Mon, 5 Oct 2015 22:08:14 +0000 (22:08 +0000)]
actually use lbuf in getmailname()
ok millert@ gilles@
tedu [Mon, 5 Oct 2015 21:59:29 +0000 (21:59 +0000)]
change a few examples to be more stylistic. pointed out by rob pierce
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