guenther [Wed, 21 Jan 2015 09:51:23 +0000 (09:51 +0000)]
Pass times as int64_t and eliminate the (long disabled) mount request.
ABI change, so roll the RPC protocol version; how about 57 for OpenBSD 5.7?
guenther [Wed, 21 Jan 2015 09:50:50 +0000 (09:50 +0000)]
regen
guenther [Wed, 21 Jan 2015 09:50:25 +0000 (09:50 +0000)]
Pass times as int64_t and eliminate the (long disabled) mount request.
ABI change, so roll the RPC protocol version; how about 57 for OpenBSD 5.7?
guenther [Wed, 21 Jan 2015 09:49:37 +0000 (09:49 +0000)]
Pass times as int64_t and eliminate the (long disabled) mount request.
ABI change, so roll the RPC protocol version; how about 57 for OpenBSD 5.7?
guenther [Wed, 21 Jan 2015 09:47:15 +0000 (09:47 +0000)]
Remove all references to the amd -M option (it was disabled long ago) and
correct the texinfo validation errors, then re-enable validation
jmc [Wed, 21 Jan 2015 09:21:05 +0000 (09:21 +0000)]
fix macro breakage and update usage();
ratchov [Wed, 21 Jan 2015 08:43:55 +0000 (08:43 +0000)]
Simplify internals and rewrite file header parsing code:
- remove -M, -t, -w, -C, -x flags that don't make sense anymore
- make "-j off" the default (sndiod already does the job)
- don't limit the number of played/recorded files.
- add support for floating-point encoded files.
- add support for apple .aiff and sun/next .au files
guenther [Wed, 21 Jan 2015 08:24:41 +0000 (08:24 +0000)]
Regenerate the amq RPC stubs with a -current rpcgen, with some
post-processing of the server stub to match previous local changes.
This corrects the type handling of mt_mounttime, so "amq /mountpoint"
doesn't segv trying to treat a time_t as a pointer.
With the file (re)generation fixed, we can more easily update the
protocol to support 64bit time_t...
guenther [Wed, 21 Jan 2015 08:16:51 +0000 (08:16 +0000)]
amq doesn't use anything from misc_rpc.c
guenther [Wed, 21 Jan 2015 04:08:37 +0000 (04:08 +0000)]
Assume NFS_CHECK and RO_CHECK are defined.
We only need the dev_t and not the entire struct stat in mntinfo.
Delete some superfluous casts.
guenther [Wed, 21 Jan 2015 03:18:31 +0000 (03:18 +0000)]
Reduce opt_t from long to int.
Debug message consistency: format opts with %#x and modes with %#04o
bcook [Wed, 21 Jan 2015 03:14:10 +0000 (03:14 +0000)]
Fix deferred host DNS lookups.
If the network is unreachable when ntpd starts and host_dns fails, be sure
that we still close the HOST_DNS imsg.
Thanks to Paul de Weerd <weerd at weirdnet dot nl> for reporting this.
ok beck@
guenther [Wed, 21 Jan 2015 03:05:03 +0000 (03:05 +0000)]
Remove unsafe micro-optimization of *bit test*
guenther [Wed, 21 Jan 2015 02:23:14 +0000 (02:23 +0000)]
Delete option COMPAT_43: support for pre-sa_len binaries has been obsolete
for a couple decades. Keep the OSIOCGIFCONF ioctl to support COMPAT_LINUX
but move the rest of the Linux-specific ioctl() handling into linux_socket.c
This lets struct osockaddr finally move from sys/socket.h to protocols/talkd.h
ok krw@ deraadt@ mpi@
schwarze [Wed, 21 Jan 2015 02:16:11 +0000 (02:16 +0000)]
pass empty request lines through to tbl(7); sometimes, they end a layout
schwarze [Wed, 21 Jan 2015 00:45:16 +0000 (00:45 +0000)]
blank lines in tables do not need special handling; simplifies code
and reduces groff/mandoc differences in base by about 1%
doug [Wed, 21 Jan 2015 00:15:50 +0000 (00:15 +0000)]
Fix DTLS memory leak (CVE-2015-0206).
There were four bugs fixed by this patch:
* dtls1_buffer_record() now frees rdata->rbuf.buf on error. Since
s->s3->rbuf was memset, rdata->rbuf is the only pointer left which
points to the old rbuf. On error, rdata is freed so there will not
be any way of freeing this memory unless we do it here.
* Changed the return code of dtls1_buffer_record() to differentiate
between queue full (0) and error (-1). See below as this differs
from upstream.
* Handle errors if calls to dtls1_buffer_record() fail with -1.
Previously, it did not check the return value.
* Changed the way receipts are recorded. Previously, it was recorded
when processed successfully (whether buffered or not) in
dtls1_process_record(). Now, it records when it is handled in
dtls1_get_record(): either when it is entered into the queue to buffer
for the next epoch or when it is processed directly. Processing
buffered records does not add a receipt because it needed one in
order to get into the queue.
The above bugs combined contributed to an eventual DoS through memory
exhaustion. The memory leak came from dtls1_buffer_record()'s error
handling. The error handling can be triggered by a duplicate record
or malloc failure. It was possible to add duplicate records because
they were not being dropped. The faulty receipts logic did not detect
replays when dealing with records for the next epoch. Additionally,
dtls1_buffer_record()'s return value was not checked so an attacker
could send repeated replay records for the next epoch.
Reported to OpenSSL by Chris Mueller.
Patch based on OpenSSL commit
103b171d8fc282ef435f8de9afbf7782e312961f
and BoringSSL commit
44e2709cd65fbd2172b9516c79e56f1875f60300.
Our patch matches BoringSSL's commit. OpenSSL returns 0 when the queue
is full or when malloc() or pitem_new() fails. They return -1 on error
including !ssl3_setup_buffers() which is another failure to allocate
memory.
BoringSSL and LibreSSL changed the return code for dtls1_buffer_record()
to be 1 on success, 0 when the queue is full and -1 on error.
input + ok bcook@, jsing@
deraadt [Tue, 20 Jan 2015 23:14:00 +0000 (23:14 +0000)]
Reduce use of <sys/param.h> and transition to <limits.h> throughout.
ok djm markus
djm [Tue, 20 Jan 2015 22:58:57 +0000 (22:58 +0000)]
use SUBDIR to recuse into unit tests; makes "make obj" actually
work
jmc [Tue, 20 Jan 2015 22:34:15 +0000 (22:34 +0000)]
tweak previous; ok schwarze
bluhm [Tue, 20 Jan 2015 22:10:37 +0000 (22:10 +0000)]
Document how to send syslog messages over TCP or TLS.
OK jmc@
tedu [Tue, 20 Jan 2015 22:09:50 +0000 (22:09 +0000)]
increase TMP_MAX to the equivalent of INT_MAX. it's actually more,
but safer not to wraparound by accident.
ok deraadt millert miod
jmc [Tue, 20 Jan 2015 22:02:15 +0000 (22:02 +0000)]
tweak previous;
schwarze [Tue, 20 Jan 2015 21:12:46 +0000 (21:12 +0000)]
Split the -Werror message level into -Werror (broken manual, probably
using mandoc is better than using groff) and -Wunsupp (manual using
unsupported low-level roff(7) feature, probably using groff is better
than using mandoc). Once this feature is complete, it is intended
to help porting, making the decision whether to USE_GROFF easier.
As a first step, distinguish four classes of roff(7) requests:
1. Supported (currently 24 requests)
2. Currently ignored because unimportant (120) -> no message
3. Ignored for good because insecure (14) -> -Werror
4. Currently unsupported (68) -> these trigger the new -Wunsupp messages
tedu [Tue, 20 Jan 2015 20:50:36 +0000 (20:50 +0000)]
i wrote this
markus [Tue, 20 Jan 2015 20:16:21 +0000 (20:16 +0000)]
kex_setup errors are fatal()
deraadt [Tue, 20 Jan 2015 19:51:00 +0000 (19:51 +0000)]
If _dl_progname exceeds half the syslog buffer, truncate it with "...",
so that the remaining information is more visible
ok kettenis miod
kettenis [Tue, 20 Jan 2015 19:43:20 +0000 (19:43 +0000)]
Move ps_strings "after" the random stackgap. This makes its location a
per-process value, and therefpore turns the VM_PSSTRINGS sysctl into a
per-process one as well. This gets rid of a pointer to the bottom of the
stack at a fixed location. Also clears the road for unmapping the stackgap.
ok deraadt@
jmc [Tue, 20 Jan 2015 19:23:32 +0000 (19:23 +0000)]
one more "center"; tedu forgot to use -i, i think...
jmc [Tue, 20 Jan 2015 19:20:45 +0000 (19:20 +0000)]
tweak previous;
schwarze [Tue, 20 Jan 2015 19:17:28 +0000 (19:17 +0000)]
Do not use /usr/ports/infrastructure/man/ by default because this
directory is not contained in OpenBSD base, and because even people
having the directory often don't understand that they need to run
makewhatis(8) - and instead complain about the resulting warnings.
This commit reverts revisions 1.17 and 1.21.
Requested by deraadt@ millert@ kettenis@ who argue that people
using /usr/ports/infrastructure/bin/ already need to set PATH,
so editing man.conf (or, though more fragile, setting MANPATH)
should not be a big deal for them.
tedu [Tue, 20 Jan 2015 18:54:33 +0000 (18:54 +0000)]
change spelling of centre to center. consistent with other man pages,
the name of the macro being described, and look(1).
ok jmc
florian [Tue, 20 Jan 2015 18:44:16 +0000 (18:44 +0000)]
HOST_NAME_MAX + 1 is big enough for gethostname(3); this array has
been one char too big when it was defined in terms of MAXHOSTNAMELEN.
While here, NI_MAXHOST is big enough for getnameinfo(3).
OK benno@
mpi [Tue, 20 Jan 2015 18:34:00 +0000 (18:34 +0000)]
Merge two copies of the (almost) identical bus space code into one file.
This brings bus_space_mmap(9) to socppc and change its bus_space_map(9)
implementation to use kernel_map instead of phys_map like macppc and
everybody else.
deraadt [Tue, 20 Jan 2015 18:26:57 +0000 (18:26 +0000)]
Adjust <sys/param.h> comments regarding use of use of MSIZE, or
delete <sys/param.h> if now possible
ok guenther
deraadt [Tue, 20 Jan 2015 18:22:20 +0000 (18:22 +0000)]
Adjust <sys/param.h> comments regarding use of use of MAXFRAG, or
delete <sys/param.h> if now possible
ok guenther
schwarze [Tue, 20 Jan 2015 18:19:39 +0000 (18:19 +0000)]
Make the man(1) and apropos(1) options -s and -S much less expensive:
Do not append an SQL clause looking into the large "keys" table.
Instead, filter the result of the SQL query in buildnames() where
equivalent data from the much smaller "mlinks" table is already
available for free.
This is relevant because man(1) uses the equivalent of "-S ${MACHINE}"
by default since main.c rev. 1.122, to make sure that manuals for
the current architecture are shown. With many ports installed, this
patch can speed up man(1) by a factor of more than a hundred.
Slowness reported by Theo Buehler <theo at math dot ethz dot ch>, thanks!
deraadt [Tue, 20 Jan 2015 18:14:51 +0000 (18:14 +0000)]
FSHIFT does not need to go to userland, so convert it to _FSHIFT.
FSCALE still needs to be exported .. unless someone fixes a few ports
that need it.
ok guenther, tested by sthen
mpi [Tue, 20 Jan 2015 18:14:39 +0000 (18:14 +0000)]
Nothing in this file requires <sys/queue.h>. While here remove old and
unused typedef & external definitions.
deraadt [Tue, 20 Jan 2015 18:12:49 +0000 (18:12 +0000)]
Years ago, MSIZE had to be known in <sys/param.h> probably to allocate
memory for the mbuf layer up front. These days it only matters for
sizing of macros in <sys/mbuf.h>, so move it there. MCLSHIFT, MCLBYTES,
and MCLOFSET can move also (a decade ago, architectures had different
mbuf sizes. you don't want to know more)
ok guenther, ports fallout checked for by sthen
deraadt [Tue, 20 Jan 2015 18:09:12 +0000 (18:09 +0000)]
Do not assume a read buffer coming from libevent is aligned. Copy the
int to an aligned variable before operating on it.
ok claudio
deraadt [Tue, 20 Jan 2015 18:08:16 +0000 (18:08 +0000)]
MAXFRAG was always placed incorrectly in <sys/param.h> It is primarily
used in disklabel type tools, newfs, fsck, when related to ufs or
ufs-derived filesystems, but also in a struct. Those things always include
<ufs/ffs/fs.h>. Move it there
ok guenther, tested in ports by sthen
deraadt [Tue, 20 Jan 2015 18:03:17 +0000 (18:03 +0000)]
CMASK was only a CSRGism. It was only used in the kernel and ftpd, once
each, never in portable software. Mop it up.
ok guenther, tested in ports tree by sthen
deraadt [Tue, 20 Jan 2015 17:37:54 +0000 (17:37 +0000)]
use <limits.h> comprehensively. For now try to push <> includes to
each .c file, and out of the .h files. To avoid overinclude.
ok gilles, in principle. If this has been done right, -portable should
become easier to maintain.
mikeb [Tue, 20 Jan 2015 17:25:35 +0000 (17:25 +0000)]
Prevent tables referenced by rules in anchors from getting disabled.
Analysis and patch by Richard Kojedzinszky, thanks! ok henning
deraadt [Tue, 20 Jan 2015 17:19:05 +0000 (17:19 +0000)]
Rewrite to void using union sockaddr_union
ok mikeb
mpi [Tue, 20 Jan 2015 17:08:35 +0000 (17:08 +0000)]
Merge two copies of the same dma code into one file and sync the headers.
ok kettenis@
mpi [Tue, 20 Jan 2015 17:04:20 +0000 (17:04 +0000)]
Various cleanups. Explicitly include <sys/atomic.h>, Use pmap_remove_pg()
for the kernel pmap and kill pmap_kremove_pg(). Finally guard the hash
lock code under "MULTIPROCESSOR" to explicit which part of the code
received some MP love.
ok kettenis@
millert [Tue, 20 Jan 2015 16:59:07 +0000 (16:59 +0000)]
Add support for the "-r fromaddr" flag now that we don't support
sendmail flags on the command line.
Also allow "from" to be set in mailrc.
Use sendmail's "-t" flag when executing sendmail instead of specifying
the list of recipients in argv. The "-f" flag will be used to set
the from address if specified.
millert [Tue, 20 Jan 2015 16:54:06 +0000 (16:54 +0000)]
Allocate a bit more memory to reduce the change of having to
realloc() which is expensive for large blacklists.
deraadt [Tue, 20 Jan 2015 16:49:59 +0000 (16:49 +0000)]
increase limits for staff (user created at install time is in staff)
krw [Tue, 20 Jan 2015 14:41:37 +0000 (14:41 +0000)]
Revert some $OpenBSD$ additions about which there are doubts.
Suggested by deraadt@
krw [Tue, 20 Jan 2015 14:40:37 +0000 (14:40 +0000)]
Revert some $OpenBSD$ additions about which there are doubts.
Suggested by deraadt@
krw [Tue, 20 Jan 2015 14:38:09 +0000 (14:38 +0000)]
Revert some $OpenBSD$ additions about which there are doubts.
Suggested by deraadt@
krw [Tue, 20 Jan 2015 14:35:18 +0000 (14:35 +0000)]
Revert some $OpenBSD$ additions about which there are doubts.
Suggested by deraadt@
kettenis [Tue, 20 Jan 2015 12:56:50 +0000 (12:56 +0000)]
Make ix(4) work on strict alignment architectures. The Intel networking
hardware is fairly retarded. While it allows receive buffers with an
ETHER_ALIGN offset, it only allows the size of the buffers to be specified in
multiples of 1K. This means that if we want to use standard mbuf clusters
we will waste 1024 - ETHER_ALIGN bytes per cluster, which is a lot for the
2K clusters we use now. Compromise a bit by using 4K clusters on strict
alignment architectures and tell the hardware to use 3K of those, reducing
the spillage a bit. While this isn't optimal, at least on sparc64 where we
have 8K pages, the pool page allocation overhead should be the same as on
amd64/i386 where we have 4K pages and continue to use 2K mbuf clusters.
ok mikeb@, dlg@
reyk [Tue, 20 Jan 2015 11:56:33 +0000 (11:56 +0000)]
We do not support AIO, so comment it out in the kqueue(2) manpage for now.
OK jmc@ guenther@
sthen [Tue, 20 Jan 2015 10:57:10 +0000 (10:57 +0000)]
typo in comment ;) ok nicm
ratchov [Tue, 20 Jan 2015 09:46:31 +0000 (09:46 +0000)]
Check for out-of-range indices when searching the default dac and adc.
Fix from Alexey Suslikov <alexey.suslikov at gmail.com>. Thanks!
tested by many, ok armani
guenther [Tue, 20 Jan 2015 09:00:16 +0000 (09:00 +0000)]
Split out from rdist/defs.h the client-only and server-only bits into
rdist/client.h and rdistd/server.h
Only put #includes in .h files that are necessary for the .h to be used;
all other #includes go in the .c files
Move all extern variable declarations to the .h files, renaming local
variables to avoid shadowing
Replace me_type member of mntent_t with an "is NFS?" flag bit
nicm [Tue, 20 Jan 2015 08:18:04 +0000 (08:18 +0000)]
Support blinking cursor mode, both the xterm CSI ?12 h/l and (the
backwards) screen CSI 34 h/l. From Guanpeng Xu.
djm [Tue, 20 Jan 2015 08:02:33 +0000 (08:02 +0000)]
this test would accidentally delete agent.sh if run without obj/
djm [Tue, 20 Jan 2015 07:56:44 +0000 (07:56 +0000)]
make this compile with KERBEROS5 enabled
djm [Tue, 20 Jan 2015 07:55:33 +0000 (07:55 +0000)]
fix hostkeys in agent; ok markus@
deraadt [Tue, 20 Jan 2015 07:42:35 +0000 (07:42 +0000)]
Change the machdep.lidsupsend example now that the default setting has been
inverted.
guenther [Tue, 20 Jan 2015 07:03:21 +0000 (07:03 +0000)]
We all have syslog() now; assume LOG_PID and LOG_DAEMON
miod [Tue, 20 Jan 2015 07:00:05 +0000 (07:00 +0000)]
Change the machdep.lidsupsend example now that the default setting has been
inverted.
guenther [Tue, 20 Jan 2015 06:08:08 +0000 (06:08 +0000)]
Move MF_* to message.c too
guenther [Tue, 20 Jan 2015 06:02:30 +0000 (06:02 +0000)]
Move struct distoptinfo into distopt.c, killing the DISTOPTINFO typedef
Move struct msgtype and msgfacility into message.c, killing the MSGTYPE and
MSGFACILITY typedefs
Make getdistopt() static to distopt.c
dlg [Tue, 20 Jan 2015 04:54:23 +0000 (04:54 +0000)]
rework the audio key handling to allocate a message to send to the
task, rather than abusing task arguments to carry long values around.
this is unreliable, but so was the previous mechanism, just in a
different way. if you're so low on memory that you cant change the
volume, you probably have other more important problems going on
too.
tested by jim smith
brad [Tue, 20 Jan 2015 04:46:11 +0000 (04:46 +0000)]
Fix size of the bcopy when extracting the MAC address.
From FreeBSD
guenther [Tue, 20 Jan 2015 04:45:43 +0000 (04:45 +0000)]
Don't use utime(), so don't need <utime.h>
krw [Tue, 20 Jan 2015 04:41:01 +0000 (04:41 +0000)]
Missing $OpenBSD$'s.
ok deraadt@
brad [Tue, 20 Jan 2015 04:33:06 +0000 (04:33 +0000)]
Remove use of the link change interrupt handling, not all controllers
support this interrupt. Link state changes are noticed via the PHY
status change callback or via the timeout for re_tick().
From FreeBSD
brad [Tue, 20 Jan 2015 04:23:33 +0000 (04:23 +0000)]
Some fixes for handling link state changes.
brad [Tue, 20 Jan 2015 03:58:04 +0000 (03:58 +0000)]
And the variable too.
guenther [Tue, 20 Jan 2015 03:55:18 +0000 (03:55 +0000)]
SELECT_FD_TYPE is obsolete
brad [Tue, 20 Jan 2015 03:54:26 +0000 (03:54 +0000)]
Back out a chunk of rev 1.34 that wasn't supposed to go in with the
capitalization corrections.
brad [Tue, 20 Jan 2015 03:26:24 +0000 (03:26 +0000)]
printf wasn't supposed to go in.
guenther [Tue, 20 Jan 2015 03:14:52 +0000 (03:14 +0000)]
Move #include <syslog.h> to the one file that needs it
deraadt [Tue, 20 Jan 2015 02:16:19 +0000 (02:16 +0000)]
Add support for tracing libraries in static PIE binaries. rcrt does not
contain "LD_TRACE_LOADED_OBJECTS" support, so this gets done by calling
RTLD_TRACE directly.
ok guenther
deraadt [Tue, 20 Jan 2015 01:48:13 +0000 (01:48 +0000)]
#include <sys/syslimits.h> to allow operation without requiring the noise
of <sys/param.h>
deraadt [Mon, 19 Jan 2015 23:52:02 +0000 (23:52 +0000)]
DEFAULT_PRIORITY and DEFAULT_QLIMIT no longer used
guenther [Mon, 19 Jan 2015 23:51:54 +0000 (23:51 +0000)]
Routing sockets are here to stay, so delete the wrapper that would use the
defunct ioctl(SIOCSARP)
ok millert@
millert [Mon, 19 Jan 2015 23:41:32 +0000 (23:41 +0000)]
Explicitly mention that PATH_MAX includes the NUL in the ENAMETOOLONG
description.
guenther [Mon, 19 Jan 2015 23:30:20 +0000 (23:30 +0000)]
Prefer linux_sockaddr over osockaddr, so the latter can go away.
sys_socket() supports SOCK_{CLOEXEC,NONBLOCK} now, so build on that.
doaccept() supports the non-inheriting-of-O_NONBLOCK, so build on that.
Merge compat_sys_{accept,send,recv}() into their only callers.
Lie a little and use struct sockaddr in the linux socket syscall args when
it's a return argument to avoid a bunch a casts.
Delete many other unnecessary sockaddr casts
verified with a curl Linux binary
deraadt [Mon, 19 Jan 2015 23:01:07 +0000 (23:01 +0000)]
back it out properly
deraadt [Mon, 19 Jan 2015 22:58:53 +0000 (22:58 +0000)]
never tested with a make release
millert [Mon, 19 Jan 2015 21:29:38 +0000 (21:29 +0000)]
Talk about thread-local errno and do not mention "extern int errno".
Also correct the string version of error 0. OK guenther@
guenther [Mon, 19 Jan 2015 21:18:47 +0000 (21:18 +0000)]
The kernel doesn't actually care what a sockaddr's sa_len is on input,
so don't waste code setting it
improvment and ok florian@
reyk [Mon, 19 Jan 2015 21:07:33 +0000 (21:07 +0000)]
No need to include pfvar.h, another leftover from relayd. It was also
used for portrange operators which weren't used in httpd.
OK florian@
bcook [Mon, 19 Jan 2015 20:47:03 +0000 (20:47 +0000)]
Use initial assignment of action to check for errors.
This simplifies things and make action = -1 no longer a dead store.
Also, spell FALLTHROUGH consistently.
reported by fritjof@alokat.org
markus [Mon, 19 Jan 2015 20:45:25 +0000 (20:45 +0000)]
finally enable the KEX tests I wrote some years ago...
markus [Mon, 19 Jan 2015 20:42:31 +0000 (20:42 +0000)]
adapt to new error message (SSH_ERR_MAC_INVALID)
markus [Mon, 19 Jan 2015 20:32:39 +0000 (20:32 +0000)]
switch ssh-keyscan from setjmp to multiple ssh transport layer instances
ok djm@
markus [Mon, 19 Jan 2015 20:30:23 +0000 (20:30 +0000)]
add experimental api for packet layer; ok djm@
miod [Mon, 19 Jan 2015 20:25:36 +0000 (20:25 +0000)]
Missing initialization; tjenahej@speedmail.se
bcook [Mon, 19 Jan 2015 20:21:40 +0000 (20:21 +0000)]
Add arc4random/getentropy shims for NetBSD.
The latest NetBSD (6.1.5) arc4random does not appear to reseed the CRNG state
after a fork, so provide an override until the fork-safe version in CVS appears
in a release.
These are the same as the FreeBSD shims.
ok deraadt@
markus [Mon, 19 Jan 2015 20:20:20 +0000 (20:20 +0000)]
store compat flags in struct ssh; ok djm@
guenther [Mon, 19 Jan 2015 20:16:27 +0000 (20:16 +0000)]
Oops, missed the new #include when manually applying the diff from
Helg (xx404 (at) msn.com)