deraadt [Fri, 16 Oct 2015 03:05:25 +0000 (03:05 +0000)]
sync
tedu [Fri, 16 Oct 2015 02:09:31 +0000 (02:09 +0000)]
fine tune the logging some more
tedu [Fri, 16 Oct 2015 01:58:28 +0000 (01:58 +0000)]
simplify logging functions. once a daemon, always a daemon
tedu [Fri, 16 Oct 2015 01:55:19 +0000 (01:55 +0000)]
safety check that we're dealing with the filter we expect
tedu [Fri, 16 Oct 2015 01:50:39 +0000 (01:50 +0000)]
most things should be static
tedu [Fri, 16 Oct 2015 01:37:14 +0000 (01:37 +0000)]
exit(1) is better for the impossible condition
djm [Thu, 15 Oct 2015 23:51:40 +0000 (23:51 +0000)]
fix some signed/unsigned integer type mismatches in format
strings; reported by Nicholas Lemonias
schwarze [Thu, 15 Oct 2015 23:46:20 +0000 (23:46 +0000)]
Do not abuse .Nm for emphasis;
patch from Michael Reed <m dot reed at mykolab dot com>.
Also drop .Tn while here.
schwarze [Thu, 15 Oct 2015 23:35:38 +0000 (23:35 +0000)]
Delete two preprocessor constants that are no longer used.
Patch from Michael Reed <m dot reed at mykolab dot com>.
djm [Thu, 15 Oct 2015 23:08:23 +0000 (23:08 +0000)]
argument to sshkey_from_private() and sshkey_demote() can't be NULL
deraadt [Thu, 15 Oct 2015 23:06:46 +0000 (23:06 +0000)]
After spawning, the parent can pledge "stdio rpath wpath cpath"
from rob pierce
mmcc [Thu, 15 Oct 2015 22:53:50 +0000 (22:53 +0000)]
Remove three distracting aliases for NULL.
ok nicm@
schwarze [Thu, 15 Oct 2015 22:45:07 +0000 (22:45 +0000)]
Simplify the part of args() that is handling .Bl -column phrases:
Delete manual "Ta" handling because macro handling should
not be done in an argument parser but should be left to the
macro parsers, which exist anyway and work well.
No functional change, minus 40 lines of code.
Confusing and redundant code found while investigating
an old bug report from tim@.
schwarze [Thu, 15 Oct 2015 22:27:09 +0000 (22:27 +0000)]
When blk_full() handles an .It line in .Bl -column and indirectly
calls phrase_ta() to handle a .Ta child macro, advance the body
pointer accordingly, such that a subsequent tab character rewinds
the right body block and doesn't fail an assertion. That happened
when there was nothing between the .Ta and the tab character.
Bug reported by tim@ some time ago.
tedu [Thu, 15 Oct 2015 22:21:28 +0000 (22:21 +0000)]
it is perhaps better style to not call close() on -1, even if harmless
tedu [Thu, 15 Oct 2015 22:17:43 +0000 (22:17 +0000)]
make sure req is zeroed in tcp case
tedu [Thu, 15 Oct 2015 22:12:26 +0000 (22:12 +0000)]
better memory handling of the request/cache chain
tedu [Thu, 15 Oct 2015 21:59:54 +0000 (21:59 +0000)]
do not insert entry into cache until it's fully formed
tedu [Thu, 15 Oct 2015 21:56:52 +0000 (21:56 +0000)]
doh, not all requests are the same size. check len first.
tedu [Thu, 15 Oct 2015 21:39:15 +0000 (21:39 +0000)]
assert is the wrong tool
tedu [Thu, 15 Oct 2015 21:35:27 +0000 (21:35 +0000)]
the inet sockets don't work well with inet6 addrs. pick family from addr.
detected by naddy
tedu [Thu, 15 Oct 2015 21:27:37 +0000 (21:27 +0000)]
everybody can build rebound
tedu [Thu, 15 Oct 2015 21:25:44 +0000 (21:25 +0000)]
no mail for _rebound. deraadt
tedu [Thu, 15 Oct 2015 21:25:05 +0000 (21:25 +0000)]
introduce logerr, since most logging is followed by exit
sthen [Thu, 15 Oct 2015 21:22:11 +0000 (21:22 +0000)]
don't allow NSD to pick up libevent from /usr/local if the libevent2
package is installed.
tedu [Thu, 15 Oct 2015 21:20:09 +0000 (21:20 +0000)]
now with _rebound user, we can try a little harder at privdrop
tedu [Thu, 15 Oct 2015 21:19:06 +0000 (21:19 +0000)]
_rebound user and group (52)
tedu [Thu, 15 Oct 2015 20:58:14 +0000 (20:58 +0000)]
make the HUP interlocking in the parent work better.
deraadt [Thu, 15 Oct 2015 20:47:11 +0000 (20:47 +0000)]
trivial KNF
bluhm [Thu, 15 Oct 2015 20:26:47 +0000 (20:26 +0000)]
In syslogd replace the dprintf() macro with a logdebug() function
as dprintf(3) is in libc now and does something different.
OK guenther@
bluhm [Thu, 15 Oct 2015 20:14:23 +0000 (20:14 +0000)]
Pledge login_token with "stdio rpath wpath cpath fattr getpw tty".
OK deraadt@
tedu [Thu, 15 Oct 2015 20:13:57 +0000 (20:13 +0000)]
just a space in usage, from deraadt
mmcc [Thu, 15 Oct 2015 20:01:53 +0000 (20:01 +0000)]
Remove an unused included header (sys/stat.h).
tedu [Thu, 15 Oct 2015 19:51:45 +0000 (19:51 +0000)]
add a hint about the config file, until it changes
tedu [Thu, 15 Oct 2015 19:49:22 +0000 (19:49 +0000)]
child can be pledged down a bit to just sockets and io
bluhm [Thu, 15 Oct 2015 19:48:44 +0000 (19:48 +0000)]
When using a pf rule with both nat-to and rdr-to, it could happen
that the nated source port was reused as destination port. Do not
initialize nport at the beginning of the function, but where it is
needed.
OK sashan@
tedu [Thu, 15 Oct 2015 19:43:30 +0000 (19:43 +0000)]
import rebound, a lightweight dns proxy, for further polishing
mmcc [Thu, 15 Oct 2015 19:36:50 +0000 (19:36 +0000)]
Introduce an unsigned char variable for the ctype function calls.
ok millert@
deraadt [Thu, 15 Oct 2015 19:35:24 +0000 (19:35 +0000)]
Don't Xr flock, since that is not the locking method used.
ok millert
miod [Thu, 15 Oct 2015 19:31:15 +0000 (19:31 +0000)]
Remove disklabel -B (NUMBOOT) support. All the platforms which used to need
it are now using MI installboot for that purpose.
ok krw@ deraadt@
bluhm [Thu, 15 Oct 2015 19:30:03 +0000 (19:30 +0000)]
Avoid a race between fopen(3) and fchmod(2). Use umask(2) and
unlink(2) and fopen(3) to prevent an attacker to open an old file
with wrong permissions before the secret is written into it. This
also guarantees that a new file with correct permissions is created.
Without fchmod(2) "fattr" can be removed from pledge.
with and OK deraadt@
miod [Thu, 15 Oct 2015 19:29:32 +0000 (19:29 +0000)]
No need to create links for xxboot now that MI installboot is the preferred
way to install boot blocks.
miod [Thu, 15 Oct 2015 19:28:31 +0000 (19:28 +0000)]
Use MI installboot instead of disklabel -B to install boot blocks.
ok krw@ deraadt@
miod [Thu, 15 Oct 2015 19:27:30 +0000 (19:27 +0000)]
Add an extra argument to bootstrap() to allow for a limited overlap between an
existing partition and the boot blocks span, and update all callers to require
an overlap limit of zero sectors (thus not changing their behaviour).
Then, add proper support for vax: copy the 2nd-stage boot block to /boot and
install the 1st-stage boot block at the beginning of the disk, retaining the
disklabel; allow for an overlap of up to 16 sectors, which is perfectly fine
as long as your `a' partition is FFS.
Note that regular installs will not even have such an overlap, because the
default OpenBSD span on a disk on vax starts at sector 16, but installation
media use sperific layout which require this.
ok krw@
sthen [Thu, 15 Oct 2015 19:18:01 +0000 (19:18 +0000)]
add missing comma and missing range restriction, found by smilint
sthen [Thu, 15 Oct 2015 19:15:02 +0000 (19:15 +0000)]
relaydMIBObjects, not relaydMIBOjbects. From Rob Pierce.
mmcc [Thu, 15 Oct 2015 18:40:38 +0000 (18:40 +0000)]
Remove some unnecessary NULL-checks before free(). Change two bzero()
calls on pf data to explicit_bzero().
ok mikeb@
deraadt [Thu, 15 Oct 2015 17:55:41 +0000 (17:55 +0000)]
Add TIOCFLUSH to "tty" in support of tcflush()
deraadt [Thu, 15 Oct 2015 17:50:05 +0000 (17:50 +0000)]
Exposing FIOASYNC in pledge "ioctl" is a mistake; remove it, cannot find safe uses of it
bluhm [Thu, 15 Oct 2015 17:23:09 +0000 (17:23 +0000)]
Plegde x99token with "stdio rpath wpath cpath fattr getpw tty".
with and OK deraadt@
deraadt [Thu, 15 Oct 2015 16:38:04 +0000 (16:38 +0000)]
Handle F_ISATTY in the fcntl() stub as well
ok guenther
deraadt [Thu, 15 Oct 2015 16:10:57 +0000 (16:10 +0000)]
remove '!' (subshell) and 'v' (edit) commands from ramdisk more(1) command.
first off, ^Z job control was added to BSD unix sometime around 1980 and is
a much better mechanism since the parent shell can contain what is going on.
!command support becomes a visible defect when programs are pledge'd
secondly this saves space.
ok miod tobias
semarie [Thu, 15 Oct 2015 15:11:10 +0000 (15:11 +0000)]
corrects pledge code for fsck_ffs and fsck_ext2fs
on filesystem error, fsck will try to display username of inode, resulting need
of "getpw" for not SMALL version.
add a missed (?) -DSMALL in distrib/special/ for fsck_ffs and fsck_ext2fs
found by hard way by ajacoutot@
OK millert@
visa [Thu, 15 Oct 2015 14:06:04 +0000 (14:06 +0000)]
Let the rx path of cnmac run without the kernel lock. To avoid the need
of a mutex, the path no longer cleans up the queue of tx requests.
ok mpi@
yasuoka [Thu, 15 Oct 2015 13:59:21 +0000 (13:59 +0000)]
Fix previous. The port number is not included in sc_src and it is
checked already at beginning of the loop.
ok reyk
vgross [Thu, 15 Oct 2015 10:27:18 +0000 (10:27 +0000)]
in6_pcbconnect() returns EADDRNOTAVAIL when
all the ports in the range portfirst .. portlast
are in use.
ok millert@, mpi@
gilles [Thu, 15 Oct 2015 08:29:41 +0000 (08:29 +0000)]
iobuf_queue() should return the number of bytes it queued on success, not 0
ok eric@
sunil [Thu, 15 Oct 2015 08:18:23 +0000 (08:18 +0000)]
Let "all" as an argument for "resume envelope", "pause envelope"
and "remove" subcommands.
seems potentially useful millert@, Ok gilles@
mmcc [Thu, 15 Oct 2015 06:35:54 +0000 (06:35 +0000)]
A classic case for bzero() -> explicit_bzero()
ok deraadt@
mmcc [Thu, 15 Oct 2015 05:57:09 +0000 (05:57 +0000)]
Cast arguments of ctype functions to Char, a lexism defined as unsigned
char.
Part of a larger attempt to audit ctype function argument types with
Coccinelle.
ok deraadt@
deraadt [Thu, 15 Oct 2015 04:58:54 +0000 (04:58 +0000)]
FIOCLEX & FIONCLEX should be in base ioctl set
deraadt [Thu, 15 Oct 2015 04:41:09 +0000 (04:41 +0000)]
give up; include stdlib.h from the .h file, sigh
deraadt [Thu, 15 Oct 2015 03:10:05 +0000 (03:10 +0000)]
fsck_ffs has a ^T signal handler which opens /dev/tty late. Hoist that
opening to before the pledge, and cache the fd.
looked over by millert
tedu [Thu, 15 Oct 2015 02:35:04 +0000 (02:35 +0000)]
lock needs pledge(proc exec) to use bsd auth system. from trondd
lteo [Thu, 15 Oct 2015 02:33:25 +0000 (02:33 +0000)]
Fix a crash that occurs when printing the filename in a malformed NFS
request packet.
From Kevin Reay who obtained the fix from the tcpdump.org repo (part of
commit
6191f36146f5d286304e9b6e893477fe509d83ab).
ok canacar@ sthen@
lteo [Thu, 15 Oct 2015 02:26:27 +0000 (02:26 +0000)]
Add missing includes to make the pf(4) man page example program compile
again.
Spotted by and based on a diff from Jack J. Woehr.
jsg [Thu, 15 Oct 2015 01:14:33 +0000 (01:14 +0000)]
avoid using a var uninitialised
ok jung@
sthen [Wed, 14 Oct 2015 23:15:37 +0000 (23:15 +0000)]
FALTHROUGH->FALLTHROUGH in comment, ok deraadt a few days ago
millert [Wed, 14 Oct 2015 22:39:04 +0000 (22:39 +0000)]
Document flock request
millert [Wed, 14 Oct 2015 22:34:47 +0000 (22:34 +0000)]
Add a dummy "flock" request that will allow file locking. It is
not currently enforced but we want the kernel to be able to parse
it for an upcoming diff in the next few days.
gilles [Wed, 14 Oct 2015 22:16:38 +0000 (22:16 +0000)]
smtpd in tree is no longer neither 5.4.4, nor 5.4.5, bump SMTPD_VERSION
gilles [Wed, 14 Oct 2015 22:01:43 +0000 (22:01 +0000)]
whitespaces
tedu [Wed, 14 Oct 2015 21:54:10 +0000 (21:54 +0000)]
better fix for overrun reported by Qualys Security.
buf is at all times kept nul terminated, so there is no need to enforce
this again upon exit. (no need to move buf around after we exahust space.)
ok beck miod
gilles [Wed, 14 Oct 2015 21:30:40 +0000 (21:30 +0000)]
SMTPD_MAXPATHLEN -> PATH_MAX, this was unnoticed as file is not linked
gilles [Wed, 14 Oct 2015 21:27:29 +0000 (21:27 +0000)]
imsg_read() may return EAGAIN, handle it in mproc_dispatch()
beck [Wed, 14 Oct 2015 21:25:16 +0000 (21:25 +0000)]
Bail out early if we have no buf_len
ok miod@
gilles [Wed, 14 Oct 2015 21:18:19 +0000 (21:18 +0000)]
whitespace + only log TRACE_MPROC if not IMSG_STAT_{IN,DE}CREMENT
tedu [Wed, 14 Oct 2015 21:12:10 +0000 (21:12 +0000)]
fix a memory leak reported by Qualys Security.
move the bndec variable in tighter since it's not used elsewhere in the
loop, then always free it after use.
ok bcook miod
gilles [Wed, 14 Oct 2015 21:05:31 +0000 (21:05 +0000)]
remove a handful of log_warn that we should handle at a different place to
make them really useful
gilles [Wed, 14 Oct 2015 21:04:37 +0000 (21:04 +0000)]
whitespace
gilles [Wed, 14 Oct 2015 21:02:11 +0000 (21:02 +0000)]
fix define and enhanced status code reason for 5.5.0
beck [Wed, 14 Oct 2015 21:02:08 +0000 (21:02 +0000)]
Ensure we don't write a 0 byte past end of the buffer in the error case.
ok bcook@ deraadt@
deraadt [Wed, 14 Oct 2015 20:57:28 +0000 (20:57 +0000)]
Use a strict $PATH of "/usr/bin:/usr/local/bin" to run the (de)compressors
(gzip, compress, bzip2) rather than following the user's path. This
seems easier than hardcoding the paths elsewhere and using basename().
pax/tar is pledged itself, but it can spawn one of these programs if
asked. The three found at the strict path use pledge "stdio" very early
during startup, providing a warm fuzzy pledge->exec->no-pledge->pledge
interlock. For bzip2, this assumes use of the ports/packages version
installed to /usr/local/bin, which has been pledged by sthen@.
Doing a 'tar tvfz hostile.tgz' becomes a bit safer, since an attacker
finding a buffer overflow or use after free has significantly fewer
system calls available (only pledge "stdio" in the decompressor).
ok millert sthen
gilles [Wed, 14 Oct 2015 20:57:17 +0000 (20:57 +0000)]
we dump esc_code if we have an esc_class, code may be (and actually was)
confused as a pasto, so add a comment to make it clear that this is not
an error
millert [Wed, 14 Oct 2015 20:54:07 +0000 (20:54 +0000)]
Allow group wheel to read the mail log. OK gilles@ sthen@
gilles [Wed, 14 Oct 2015 20:51:53 +0000 (20:51 +0000)]
whitespace
gilles [Wed, 14 Oct 2015 20:45:30 +0000 (20:45 +0000)]
whitespace
gilles [Wed, 14 Oct 2015 19:56:58 +0000 (19:56 +0000)]
pledge() privileged process
ok deraadt@
gilles [Wed, 14 Oct 2015 19:39:16 +0000 (19:39 +0000)]
pledge() pony and lookup
ok deraadt@
deraadt [Wed, 14 Oct 2015 19:14:32 +0000 (19:14 +0000)]
sync
deraadt [Wed, 14 Oct 2015 17:54:46 +0000 (17:54 +0000)]
worse, need even more includes...
tobias [Wed, 14 Oct 2015 17:29:44 +0000 (17:29 +0000)]
Check mmap and read return values. While at it, remove unused duplicated file.
ok millert@
florian [Wed, 14 Oct 2015 17:26:01 +0000 (17:26 +0000)]
To specify a source address ping uses -I while ping6 uses -S. Switch
ping6 -I to the ping-alike semantics.
sthen@ thinks this is OK
deraadt [Wed, 14 Oct 2015 17:06:58 +0000 (17:06 +0000)]
pledge "stdio rpath" is good enough for these mainline BSD auth login
programs.
(I am very surprised pledge ended up working for programs like this)
ok semarie millert
deraadt [Wed, 14 Oct 2015 16:58:55 +0000 (16:58 +0000)]
Since the fsck_* programs now only handle one filesystem, this creates
a point where open() and disklabel reading have completed. After that
point, pledge "stdio".
As a result, an fsck of a hostile partition (noone ever does that, or
do they? :) is done by a program with SUBSTANTIALLY less system call
exposure.
ok semarie
tobias [Wed, 14 Oct 2015 16:42:51 +0000 (16:42 +0000)]
Copy permissions AND ownership when -o will override an input file.
with input by and ok deraadt@, millert@, tim@
deraadt [Wed, 14 Oct 2015 16:29:37 +0000 (16:29 +0000)]
sync
deraadt [Wed, 14 Oct 2015 15:54:49 +0000 (15:54 +0000)]
unfortunately rewritelabel() just before termination does a non-permitted
ioctl to rewrite the label, in support of the old-school "frag info in
the disklabel" concept. disklabel folk, please come talk to me...
reyk [Wed, 14 Oct 2015 14:51:57 +0000 (14:51 +0000)]
sync with httpd - no functional change, just C99 types
deraadt [Wed, 14 Oct 2015 14:33:45 +0000 (14:33 +0000)]
Only accept one filesystem/device as argument for checking. Few people
will be calling these directly, and not for the multiple filesystem case.
fsck(8) is generally the parent and will handle things.
ok semarie; this change will also help a goal jsing has