kettenis [Tue, 4 Apr 2017 12:56:24 +0000 (12:56 +0000)]
Cleanup the code further. Get rid of the remaining C++-style comments,
remove some debug printfs, get rid of STATIC and __inline defines and
remove a bit more unused code.
ok drahn@, visa@
visa [Tue, 4 Apr 2017 12:30:04 +0000 (12:30 +0000)]
Issue memory barrier before lock release, not after. This ensures
the release write becomes globally visible only after any writes
of the critical section are globally visible. In practice, the
reordering has not happened because the kernel runs in the total
store order mode.
Tested by and OK kettenis@
deraadt [Tue, 4 Apr 2017 04:38:31 +0000 (04:38 +0000)]
add a free() size near microcode loading
millert [Tue, 4 Apr 2017 02:37:15 +0000 (02:37 +0000)]
Rewrite tohexstr() to use the common idiom of converting a byte
string to hex nybble by nybble. This avoids using the return value
of snprintf() unchecked. OK deraadt@
claudio [Tue, 4 Apr 2017 00:40:52 +0000 (00:40 +0000)]
Add 8265 and 3168 support. Both cards need new firmware files which currently
need to be installed by hand until the iwm-firmware package has been updated.
This includes handling (by ignoring) of IWM_UCODE_TLV_FW_MEM_SEG and
IWM_DEBUG_LOG_MSG firmware commands. Mostly stolen from dragonflybsd.
With this in the X270 has working ethernet and wifi.
Commit! deraadt@
djm [Tue, 4 Apr 2017 00:24:56 +0000 (00:24 +0000)]
disallow creation (of empty files) in read-only mode; reported by
Michal Zalewski, feedback & ok deraadt@
deraadt [Tue, 4 Apr 2017 00:03:12 +0000 (00:03 +0000)]
cp -p the bootblocks to RELEASEDIR; ok tb
fcambus [Mon, 3 Apr 2017 20:59:19 +0000 (20:59 +0000)]
warn format string should be literal.
OK deraadt@, millert@
krw [Mon, 3 Apr 2017 19:59:39 +0000 (19:59 +0000)]
Change parse_string() to take an optional integer pointer that can
be used to return the final size of the parsed (i.e. un-vis'ed)
string. Use same, plus memcpy() to ensure entire final string is
copied to intended destination even if there are embedded NULs.
otto [Mon, 3 Apr 2017 19:42:04 +0000 (19:42 +0000)]
Add caveat telling it's better to always read a data byte when passing
control messages.
Problem noted by Luke Small; ok deraadt@
otto [Mon, 3 Apr 2017 19:40:43 +0000 (19:40 +0000)]
Send and receive 1 byte of data in addition to the control message. This is
needed to make the code work in more cases.
Sending actually is not really needed, but do it anyway, to avoid confusing
mismatch between producer and consumer.
Problem noted by Luke Small; ok deraadt@
fcambus [Mon, 3 Apr 2017 18:43:41 +0000 (18:43 +0000)]
WSDISPLAY_MAXFONTCOUNT macro was introduced in sys/dev/wscons/wsconsio.h
(revision 1.75) to limit the number of fonts that can be loaded.
Reflect that in the man page as well.
OK jcs@
krw [Mon, 3 Apr 2017 18:23:36 +0000 (18:23 +0000)]
Simplify read_string() to just read the characters between the '"'s.
Push the un-vising up to parse_string(). This allows both the actual
string and the un-vised version to be available as desired. Use
memcpy() instead of strdup() to copy un-vised string since it may
legitimately contain NUL.
tedu [Mon, 3 Apr 2017 17:23:39 +0000 (17:23 +0000)]
check return from pread, don't divide -1 for count
deraadt [Mon, 3 Apr 2017 17:07:58 +0000 (17:07 +0000)]
use recallocarray() because the array contains data that can be observed
tedu [Mon, 3 Apr 2017 16:18:35 +0000 (16:18 +0000)]
initialize regmatch_t always, fixes grep -o ""
from Michael Santos
deraadt [Mon, 3 Apr 2017 16:10:00 +0000 (16:10 +0000)]
provide size to free(9)
beck [Mon, 3 Apr 2017 15:52:59 +0000 (15:52 +0000)]
Fix silly code that printfs NULL when there are no fractional seconds
on a GENREALIZEDTIME (which there should really never be for anything
remotely standards compliant)
ok jsing@
krw [Mon, 3 Apr 2017 15:34:46 +0000 (15:34 +0000)]
Tweak parse_string() to not consume the ';'. Simplifies/shortens
some logic.
krw [Mon, 3 Apr 2017 14:16:34 +0000 (14:16 +0000)]
Tweak 'expecting' parse_warn() messages to be more consistent.
visa [Mon, 3 Apr 2017 13:51:54 +0000 (13:51 +0000)]
Compute address for ll/sc only once.
deraadt [Sun, 2 Apr 2017 23:40:08 +0000 (23:40 +0000)]
Less convoluted code in soshutdown()
ok guenther
deraadt [Sun, 2 Apr 2017 23:02:06 +0000 (23:02 +0000)]
The character buffer should be resized using recallocarray()
ok millert and nicm a while ago
deraadt [Sun, 2 Apr 2017 22:57:20 +0000 (22:57 +0000)]
Always use return value of asprintf to determine success/failure,
don't rely upon *ret becoming NULL
ok millert, tom
tom [Sun, 2 Apr 2017 21:23:44 +0000 (21:23 +0000)]
Check return value of asprintf(), and don't use 0 as a char *
Started by, and ok, deraadt@
krw [Sun, 2 Apr 2017 20:57:22 +0000 (20:57 +0000)]
Change parse_string() warning from "filename must be a string" to
"expecting a string". Things other than filenames are parsed here.
mlarkin [Sun, 2 Apr 2017 20:21:44 +0000 (20:21 +0000)]
Filter out RDTSCP, needed to handle solaris guests. We set the VMX control
to enable RDTSCP to 0, so when solaris attempted to use the instruction
(since it wasn't filtered out of CPUID information), the CPU issued an
#UD exception.
jmc [Sun, 2 Apr 2017 18:14:34 +0000 (18:14 +0000)]
note that some hosts never generate tuples and are ignored;
ok beck
jmc [Sun, 2 Apr 2017 18:13:18 +0000 (18:13 +0000)]
update currency exchange rates;
kettenis [Sun, 2 Apr 2017 18:06:57 +0000 (18:06 +0000)]
On ARMv8, the translation table walk is fully coherent so there is no
reason to explicitly flush the cache before invalidating the TLB. The
barrier that is included in out TLB flushing code should be enough to
guarantee that the TLB walking hardware sees the updated page table
contents, so the explicit barriers can go as well. Sanitize the code
immediately surrounding the removed bits while I'm there.
Tested by jsg@, ok drahn@, visa@
visa [Sun, 2 Apr 2017 15:48:19 +0000 (15:48 +0000)]
printf format strings should be literals. Reminded by clang.
visa [Sun, 2 Apr 2017 15:25:05 +0000 (15:25 +0000)]
Drop address conversion cruft.
jca [Sun, 2 Apr 2017 12:56:39 +0000 (12:56 +0000)]
Fix tcp stats reporting
Return the sum of per-cpu counters instead of the current cpu's
counters. Brainfart on my side. Analysis and fix by Andrei-Marius Radu.
jsg [Sun, 2 Apr 2017 06:02:19 +0000 (06:02 +0000)]
add overdrive 1000
visa [Sun, 2 Apr 2017 04:01:52 +0000 (04:01 +0000)]
Fix an out-of-bounds memory access with 64-bit armaps.
OK kettenis@
visa [Sun, 2 Apr 2017 03:51:13 +0000 (03:51 +0000)]
Bring back the wait instruction into the idle loop, but only on octeon.
This lets an idle SoC run a bit cooler.
Tested on CN5020, CN6120 and CN7130.
deraadt [Sun, 2 Apr 2017 02:51:51 +0000 (02:51 +0000)]
Replace snprintf(NULL, malloc, snprintf.... with the much better asprintf.
ok millert
guenther [Sun, 2 Apr 2017 00:53:37 +0000 (00:53 +0000)]
Prefer pread() over lseek()+read()
open() only needs the mode argument if O_CREAT is present
ok beck@ deraadt@
deraadt [Sun, 2 Apr 2017 00:28:56 +0000 (00:28 +0000)]
normalize order of arguments to if ()
beck [Sun, 2 Apr 2017 00:27:44 +0000 (00:27 +0000)]
Make dma range buffer cache pages visible in systat io
ok deraadt@
deraadt [Sun, 2 Apr 2017 00:27:36 +0000 (00:27 +0000)]
unlock tree, we are now hacking on 6.1-current
deraadt [Sat, 1 Apr 2017 19:17:22 +0000 (19:17 +0000)]
MDT...
rpe [Fri, 31 Mar 2017 18:36:49 +0000 (18:36 +0000)]
The default for the "Server directory?" question can possibly come
from either what information is extracted from the cgi server or
from installurl(5). Otherwise a sane default is used.
Based on what server (HTTP_SERVER) is provided by the user decide
on what source to choose from for the default.
At the end of install_http() use the url from the cgi server as the
base for what's written to /etc/installurl if an official mirror was
used. Otherwise trim _url_base and remove the architecture and
snapshots or version part.
This fixes the problem reported by phessler@ which exposed how
fragile the current logic for this was after recent changes.
At this time of the release cycle the kernel presents itself as
release kernel, but we're still pre-release and the sets are still
in the snapshots directory on the mirrors. This was confusing the
installer script.
Thanks to phessler@ for finding this and testing.
Special thanks to tb@ who imposed on himself to try to understand
and review the diffs.
OK tb@, phessler@ (on a similar diff)
'commit when your are happy' deraadt@
ajacoutot [Fri, 31 Mar 2017 16:02:31 +0000 (16:02 +0000)]
Be quiet in case /var/syspatch/ is empty and that there's no remote sig
file yet (i.e. when we are in release mode but not released yet).
ok deraadt@
deraadt [Thu, 30 Mar 2017 17:29:17 +0000 (17:29 +0000)]
skip floppyB until more space is found
jcs [Thu, 30 Mar 2017 16:06:55 +0000 (16:06 +0000)]
Xr acpisbs
deraadt [Thu, 30 Mar 2017 16:05:40 +0000 (16:05 +0000)]
sync
jcs [Thu, 30 Mar 2017 16:04:36 +0000 (16:04 +0000)]
add a manpage for acpisbs, remove caveat from acpibat
patrick [Thu, 30 Mar 2017 15:48:30 +0000 (15:48 +0000)]
Only close the SA if an error happens before ikev2_msg_init() was called
to make sure we do not run ikev2_msg_cleanup() on an unitialized stack
variable.
ok deraadt@ reyk@
jsing [Thu, 30 Mar 2017 15:41:04 +0000 (15:41 +0000)]
Disable client-initiated renegotiation.
ok gilles@ eric@ deraadt@
deraadt [Thu, 30 Mar 2017 15:22:07 +0000 (15:22 +0000)]
correct NBPFILTER #ifdef's
from sthen and others
deraadt [Thu, 30 Mar 2017 15:19:58 +0000 (15:19 +0000)]
sync
deraadt [Thu, 30 Mar 2017 14:44:36 +0000 (14:44 +0000)]
these free() size choices appear to be wrong. joel has a diff that fixes
them, but for release let's be conservative and use 0.
robert [Thu, 30 Mar 2017 10:45:50 +0000 (10:45 +0000)]
add signify public keys for syspatch for the current and next release
kettenis [Thu, 30 Mar 2017 07:23:50 +0000 (07:23 +0000)]
Use m_devget(9) to replace code that does more or less the same but assumes
the received packet fits in a single mbuf cluster, which isn't necessarily
the case. This might fix the pool corruption seen by jcs@.
ok jcs@, jmatthew@, deraadt@
claudio [Thu, 30 Mar 2017 03:39:35 +0000 (03:39 +0000)]
Set interface flag to VMIFF_UP when using -i option. This way vmd will make
sure the interfaces are up on startup.
OK deraadt@, reky@
claudio [Wed, 29 Mar 2017 23:05:05 +0000 (23:05 +0000)]
m_devget() lost its ipf pointer argument, update man page.
millert [Wed, 29 Mar 2017 22:40:15 +0000 (22:40 +0000)]
Use strtonum(3) instead of strtol(3). OK deraadt@
naddy [Wed, 29 Mar 2017 20:09:27 +0000 (20:09 +0000)]
sync the version of the example package; ok deraadt@
bluhm [Wed, 29 Mar 2017 18:01:51 +0000 (18:01 +0000)]
Bring radiusd log.c copyright in line with other program's log.c
and other radiusd source files. Remove the LOSS OF MIND clause.
OK henning@ yasuoka@ deraadt@
otto [Wed, 29 Mar 2017 17:38:37 +0000 (17:38 +0000)]
rephrase more enumerations of functions
tj [Wed, 29 Mar 2017 17:16:24 +0000 (17:16 +0000)]
account key needs to be in quotes.
ok benno deraadt
stsp [Wed, 29 Mar 2017 16:42:25 +0000 (16:42 +0000)]
Fix iwi(4) regressions. WPA was broken since 6.0 errata 018.
Also, the firmware was rejecting RTS frames so iwi(4) didn't work against
an OpenBSD athn(4) hostap anymore; fix the config sent to firmware.
Prompted by report from bg2200 at jamesjerkinscomputer on misc@
ok deraadt@
deraadt [Wed, 29 Mar 2017 16:29:02 +0000 (16:29 +0000)]
The hppa version of as(1) requires whitespace before a .file directive,
it may not be in column 0. This kind of thing is very common in GNU
and Linux software because the software was written from the start to
be 'compatible replacements' of vendor software.
ok jsing guenther
sthen [Wed, 29 Mar 2017 08:19:13 +0000 (08:19 +0000)]
set REQ_EXT to x509v3_CA, fixing "ikectl ca XX create" inadvertently broken
in r1.41. ok reyk deraadt
deraadt [Wed, 29 Mar 2017 03:11:22 +0000 (03:11 +0000)]
POOL_DEBUG off for release
deraadt [Wed, 29 Mar 2017 01:39:27 +0000 (01:39 +0000)]
move to 6.1 release, drop -beta tag
jsg [Wed, 29 Mar 2017 01:27:40 +0000 (01:27 +0000)]
Remove quirks for two devices that are known to be CDC ACM protocol 0
that are now covered by the generic class matching.
jmc [Wed, 29 Mar 2017 00:24:42 +0000 (00:24 +0000)]
tweak previous;
jsg [Wed, 29 Mar 2017 00:18:51 +0000 (00:18 +0000)]
Match on class communications subclass abstract control model protocol
0 "No class specific protocol required" in addition to the existing
protocol 1 "AT Commands: V.250 etc" match.
This lets umodem(4) attach to the serial console on the overdrive 1000
which is a usb type-b socket on the back of the box not a db9 like the
overdrive 3000.
jsg [Tue, 28 Mar 2017 23:47:17 +0000 (23:47 +0000)]
Add an instruction synchronisation barrier instruction after changing
the vfp state via cpacr_el1. This matches the advice given in the
"Synchronization requirements for system registers" section of the ARMv8
ARM.
Without this an overdrive 1000 with A1120 (Cortex A57 r1p2) reliably
triggers "panic: VFP exception in the kernel" when init(8) is run.
ok drahn@ kettenis@
mlarkin [Tue, 28 Mar 2017 21:38:44 +0000 (21:38 +0000)]
Properly handle VMX entry controls governing guest processor mode.
Before seabios, this didn't matter much but now it does since various
bootloaders/kernels need such treatment.
ok deraadt
mlarkin [Tue, 28 Mar 2017 21:36:27 +0000 (21:36 +0000)]
add RDTSCP flags to identcpu.c
ok guenther, deraadt
reyk [Tue, 28 Mar 2017 19:52:03 +0000 (19:52 +0000)]
Add helpful debug messages to tell us why public key authentication failed.
This is currently only visible in debug mode (eg. iked -dvv), some
debug messages will be turned into regular warnings later.
OK claudio@ deraadt@
kettenis [Tue, 28 Mar 2017 18:23:53 +0000 (18:23 +0000)]
Previous W^X diff only changed the access permissions in the bootstrap page
tables. We need to set them in the final kernel page tables as well.
ok visa@
schwarze [Tue, 28 Mar 2017 18:21:55 +0000 (18:21 +0000)]
Fix typo in function name;
from Markus Triska <triska at metalevel dot at>
via OpenSSL commit
1f164c6f.
schwarze [Tue, 28 Mar 2017 18:19:53 +0000 (18:19 +0000)]
After i wrote SSL_renegotiate(3) from scratch, OpenSSL also
documented the function. Merge the more detailed descriptions
and the additional documentation of SSL_renegotiate_abbreviated(3)
and SSL_renegotiate_pending(3).
From Matt Caswell, OpenSSL commit
39820637.
bluhm [Tue, 28 Mar 2017 17:41:56 +0000 (17:41 +0000)]
Make the test also work with obj directory.
from semarie@
kettenis [Tue, 28 Mar 2017 17:28:35 +0000 (17:28 +0000)]
Reset ci_curmap to kernel_pmap() in cpu_hatch(). Otherwise the lazy pmap
switching code might think the old pmap is still active after a resume
which could lead to a page fault in the kernel.
ok stsp@, mlarkin@, deraadt@
reyk [Tue, 28 Mar 2017 16:56:39 +0000 (16:56 +0000)]
Remove RSA from the list of keywords, lookup is now done in a table.
This lets us configure explicit old-style RSA again.
OK mikeb@
otto [Tue, 28 Mar 2017 16:56:38 +0000 (16:56 +0000)]
small cleanup & optimization; ok deraadt@ millert@
reyk [Tue, 28 Mar 2017 16:25:21 +0000 (16:25 +0000)]
Don't send informational responses before we're having the key material.
iked starts sending keepalive messages after authentication and after
successfully completing the handshake. Other implementations, like
we've seen on Microsoft Azure, start sending keepalive messages right
after receiving the first SA_INIT message when they set up the key
material, even before we received the SA_INIT response to complete the
DH exchange. The solution is to ignore early keepalive messages
before we're ready to encrypt our response, in the transition between
SA_INIT and AUTH. The peer should still accept one or more missed
keepalives.
OK mikeb@
bluhm [Tue, 28 Mar 2017 16:16:30 +0000 (16:16 +0000)]
Link pledge sockopt regression tests to build.
reyk [Tue, 28 Mar 2017 16:15:33 +0000 (16:15 +0000)]
Returning -1 in an imsg handler like ikev2_dispatch_cert aborts iked.
-1 means "I didn't handle or know this imsg", it should not be used to
indicate an application error in this context.
OK mikeb@
bluhm [Tue, 28 Mar 2017 16:12:45 +0000 (16:12 +0000)]
Call get/setsockopt(2) with various sockets and check which options
cause aborts due to pledge(2) restrictions.
bluhm [Tue, 28 Mar 2017 16:07:07 +0000 (16:07 +0000)]
Document the mcast pledge(2) as an addition to inet.
OK deraadt@
bluhm [Tue, 28 Mar 2017 16:03:31 +0000 (16:03 +0000)]
Allow the multicast ttl/hops and loop options with the mcast pledge.
from Matthias Pitzl; OK deraadt@
natano [Tue, 28 Mar 2017 09:14:43 +0000 (09:14 +0000)]
Prevent edit'ing a message from corrupting the mailbox. In an mbox file
every message is terminated by an empty line, so we have to make sure it
is preserved. Otherwise the message is combined with the next one.
joint effort with deraadt and millert
ratchov [Tue, 28 Mar 2017 05:23:15 +0000 (05:23 +0000)]
Make set_params() return the rate the device is using. Fixes
a wrong rate being reported when a unsupported rate was requested.
ratchov [Tue, 28 Mar 2017 05:20:22 +0000 (05:20 +0000)]
Simplify rate/channels/bits bounds checking code. From
Michael W. Bombardieri <mb at ii.net>. Thanks.
claudio [Tue, 28 Mar 2017 05:04:09 +0000 (05:04 +0000)]
For IPv6 pass prefix not nexthop as network for connected nexthops back to
the RDE so that the code actually works.
Problem found and reported by Pier Carlo Chiodi (pierky at pierky com)
OK deraadt@
ratchov [Tue, 28 Mar 2017 04:54:44 +0000 (04:54 +0000)]
Add quirk for MacBook Pro 5,5. From Manav Rathi <mnvrth at gmail.com>.
Thanks!
jsg [Tue, 28 Mar 2017 00:08:39 +0000 (00:08 +0000)]
add missing braces around a multi line if statement
ok patrick@ deraadt@
jsg [Tue, 28 Mar 2017 00:04:43 +0000 (00:04 +0000)]
fix semicolon after if statement in currently uncalled code
ok bluhm@ deraadt@
deraadt [Mon, 27 Mar 2017 23:59:08 +0000 (23:59 +0000)]
repair knf & whitespace that jumped out of the screen during review
ok beck
jca [Mon, 27 Mar 2017 23:49:03 +0000 (23:49 +0000)]
Don't reject etherip packets if they are protected with IPsec.
This aligns code with documentation & matches what was available before
etherip(4) was split from gif(4). sysctl net.inet.etherip.allow=1 is
still needed to accept etherip packets not protected with IPsec.
Reported by at least Jason Tubnor, ok mikeb@
deraadt [Mon, 27 Mar 2017 20:27:38 +0000 (20:27 +0000)]
Now that hibernate_alloc() only has clean success/failure, don't
need to call hibernate_free() to clean up a partial mess.
ok mlarkin kettenis
deraadt [Mon, 27 Mar 2017 20:26:39 +0000 (20:26 +0000)]
If hibernate_alloc() encounters a problem it should undo the partial
work.
ok mlarkin kettenis
fcambus [Mon, 27 Mar 2017 20:05:51 +0000 (20:05 +0000)]
Fix broken PKG_PATH example link, ftp://ftp.openbsd.org is no more.
OK sthen@
mlarkin [Mon, 27 Mar 2017 19:00:38 +0000 (19:00 +0000)]
typo in debug build