openbsd
3 years agoImitate how free(3) behaves and make map_clear() works on NULL map.
mpi [Wed, 1 Sep 2021 08:06:49 +0000 (08:06 +0000)]
Imitate how free(3) behaves and make map_clear() works on NULL map.

3 years agoAlways print non-empty map & hist on exit even if there's an END rule.
mpi [Wed, 1 Sep 2021 08:01:09 +0000 (08:01 +0000)]
Always print non-empty map & hist on exit even if there's an END rule.

Match bpftrace behavior.

3 years agoSupport for insert pid/tid/cpu builtins in map/hist.
mpi [Wed, 1 Sep 2021 07:35:21 +0000 (07:35 +0000)]
Support for insert pid/tid/cpu builtins in map/hist.

3 years agoFix ssh-rsa fallback for old PuTTY interop tests.
dtucker [Wed, 1 Sep 2021 03:16:06 +0000 (03:16 +0000)]
Fix ssh-rsa fallback for old PuTTY interop tests.

3 years agoAdd a function to skip remaining tests. Many tests skip tests for
dtucker [Wed, 1 Sep 2021 00:50:27 +0000 (00:50 +0000)]
Add a function to skip remaining tests.  Many tests skip tests for
various reasons but not in a consistent way and don't always clean
up, so add that and switch the tests that do that over.

3 years agoHonour netinet6 when generating symlinks to tags files
kn [Tue, 31 Aug 2021 23:53:42 +0000 (23:53 +0000)]
Honour netinet6 when generating symlinks to tags files

"make tags" needs "make links" to have tags available in subdirectories and
netinet6 has been missing all the time.

OK tb

3 years agoMake include bsd.prog.mk is supporting PROGS for a while. Allow
bluhm [Tue, 31 Aug 2021 23:33:05 +0000 (23:33 +0000)]
Make include bsd.prog.mk is supporting PROGS for a while.  Allow
multiple programs also in bsd.regress.mk for consistency.
OK anton@

3 years agoImplement suspend/resume for bwfm(4) with PCIe backend. We try to send the
patrick [Tue, 31 Aug 2021 23:05:11 +0000 (23:05 +0000)]
Implement suspend/resume for bwfm(4) with PCIe backend.  We try to send the
device into D3 and do a hot-resume if possible.  Otherwise we need to clean
up the resources to allow complete HW re-initialization to take place.

3 years agoregen
jmatthew [Tue, 31 Aug 2021 22:56:24 +0000 (22:56 +0000)]
regen

3 years agoAdd Aquantia USB ethernet devices
jmatthew [Tue, 31 Aug 2021 22:55:56 +0000 (22:55 +0000)]
Add Aquantia USB ethernet devices

from Brad originally

3 years agoClean up the list of chips upon detach and mark us uninitialized.
patrick [Tue, 31 Aug 2021 21:46:00 +0000 (21:46 +0000)]
Clean up the list of chips upon detach and mark us uninitialized.

3 years agoProperly deallocate some more structures upon detach, and make sure we're
patrick [Tue, 31 Aug 2021 21:13:24 +0000 (21:13 +0000)]
Properly deallocate some more structures upon detach, and make sure we're
not considered initialized anymore.

3 years agoInitialize some struct variables to make sure that upon reinit, caused by
patrick [Tue, 31 Aug 2021 21:02:09 +0000 (21:02 +0000)]
Initialize some struct variables to make sure that upon reinit, caused by
a suspend/resume cycle, the values are set to a sane default.

3 years agoInitialize ring read/write pointers to make sure that upon reinit, caused
patrick [Tue, 31 Aug 2021 20:58:51 +0000 (20:58 +0000)]
Initialize ring read/write pointers to make sure that upon reinit, caused
by a suspend/resume cycle, the pointers are set to a sane default.

3 years agoAdjust .Bl width
kn [Tue, 31 Aug 2021 20:28:45 +0000 (20:28 +0000)]
Adjust .Bl width

3 years agoSay autoconf not dhcp
kn [Tue, 31 Aug 2021 20:18:03 +0000 (20:18 +0000)]
Say autoconf not dhcp

Do not abuse "dhcp" to say "DHCP and SLAAC".
unwind.conf(5) does so but unwindctl(8) does not;  in fact, the latter
already has `status autoconf' to
    Show nameservers learned from dhclient(8), dhcpleased(8) or slaacd(8).

Adjust unwind's config manual and internal code accordingly;  still accept
the old keyword but do not document it.

hostname.if(5) already advises for `inet[6] autoconf' instead of `dhcp' and
other related daemons don't abuse the word "dhcp" like unwind does.

Feedback sthen
OK florian

3 years agoRemove some dead code that was missed in an earlier cleanup and
tb [Tue, 31 Aug 2021 20:14:40 +0000 (20:14 +0000)]
Remove some dead code that was missed in an earlier cleanup and
fix a stale comment.

Found by mortimer with clang 13's -Wunused-but-set-variable.

ok beck

3 years agoMake includes follow style(9).
florian [Tue, 31 Aug 2021 18:12:47 +0000 (18:12 +0000)]
Make includes follow style(9).

3 years agovmm(4): add ipi for vmclear, unlock kernel
dv [Tue, 31 Aug 2021 17:40:59 +0000 (17:40 +0000)]
vmm(4): add ipi for vmclear, unlock kernel

On Intel VMX hosts, when a guest migrates cpus, VMCS state needs
to be flushed to physical memory before being reloaded on the new
cpu. This diff adds a new ipi to allow a guest resuming on a new
cpu to signal to the old that it needs to vmclear.

To better surface the potential race conditions, unlock the kernel
after handling the ioctl to vmm and simplify the run loops for both
vmx and svm. This requires a new vcpu lock.

Tested by some on tech@. "go for it" @mlarkin

3 years agoOnly use the i8254 delay code if we are specifically using the i8254 as
patrick [Tue, 31 Aug 2021 15:53:36 +0000 (15:53 +0000)]
Only use the i8254 delay code if we are specifically using the i8254 as
delay func.  Otherwise simply delay for a second to calibrate the LAPIC.
Install the lapic delay func only if we were using the i8254 before as
delay func.

Discussed with the hackroom
ok kettenis@

3 years agoIdentify the paravirtual bus earlier, as we need to make sure that we have
patrick [Tue, 31 Aug 2021 15:52:59 +0000 (15:52 +0000)]
Identify the paravirtual bus earlier, as we need to make sure that we have
a working delay func ready before the first occurence of delay().  This is
necessary on Hyper-V Gen 2 VMs where we don't use the TSC.

Discussed with the hackroom
ok kettenis@

3 years agoWhen running on Hyper-V, make use of its timecounter as delay func in case
patrick [Tue, 31 Aug 2021 15:52:10 +0000 (15:52 +0000)]
When running on Hyper-V, make use of its timecounter as delay func in case
we're still using the i8254 for that.  On Hyper-V Gen 2 VMs there is no
i8254 we can trust, so we need some kind of fallback, especially if there
is no TSC either.

Discussed with the hackroom
ok kettenis@

3 years agoaplpinctrl(4)
kettenis [Tue, 31 Aug 2021 15:37:40 +0000 (15:37 +0000)]
aplpinctrl(4)

3 years agoSwap lock flags so that LK_EXCLUSIVE is first like in all other places.
claudio [Tue, 31 Aug 2021 15:31:28 +0000 (15:31 +0000)]
Swap lock flags so that LK_EXCLUSIVE is first like in all other places.

3 years agoDo pinctrl stuff.
kettenis [Tue, 31 Aug 2021 15:21:19 +0000 (15:21 +0000)]
Do pinctrl stuff.

ok patrick@

3 years agoAdd aplpinctrl(4), a driver for the Apple GPIO controller found on M1 SoCs.
kettenis [Tue, 31 Aug 2021 15:20:06 +0000 (15:20 +0000)]
Add aplpinctrl(4), a driver for the Apple GPIO controller found on M1 SoCs.

ok patrick@

3 years agomemset the pfds array in the poll loop and not only at the start.
claudio [Tue, 31 Aug 2021 15:18:53 +0000 (15:18 +0000)]
memset the pfds array in the poll loop and not only at the start.

3 years agoUse the TSC delay(9) backend earlier on machines where we can. Also use
kettenis [Tue, 31 Aug 2021 15:11:54 +0000 (15:11 +0000)]
Use the TSC delay(9) backend earlier on machines where we can.  Also use
the TSC for delays even if there is a skew between the TSCs of the cores
as this doesn't matter for delay(9).

Gets rid of te unreasonable clock speed reports on Intel Tiget Lake CPUs
where the i8254 behaves in weird ways.

ok patrick@, deraadt@, mlarkin@

3 years agoprinting the hibernate image size in MB is easier on the eyes
deraadt [Tue, 31 Aug 2021 14:45:25 +0000 (14:45 +0000)]
printing the hibernate image size in MB is easier on the eyes
ok mlarkin

3 years agoAdd "machine sysregs" command to DDB
mlarkin [Tue, 31 Aug 2021 14:37:49 +0000 (14:37 +0000)]
Add "machine sysregs" command to DDB

From Alex Wilson, Thanks!

3 years agoDefragment DTLS.
jsing [Tue, 31 Aug 2021 13:34:55 +0000 (13:34 +0000)]
Defragment DTLS.

In normal TLS, it is possible for record fragments to be sent that contain
one byte of alert or handshake message payload. In this case we have to
read and collate multiple message fragments before we can decide what to
do with the record.

However, in the case of DTLS, one record is effectively one packet and
while it is possible to send handshake messages across multiple
records/packets, the minimum payload is the DTLS handshake message header
(plus one byte of data if the handshake message has a payload) - without
this, there is insufficient information available to be able to reassemble
the handshake message. Likewise, splitting an alert across multiple DTLS
records simply does not work, as we have no way of knowing if we're
collating the same alert or two different alerts that we lost half of each
from (unfortunately, these details are not really specified in the DTLS
RFC).

This means that for DTLS we can expect to receive a full alert message
(a whole two bytes) or a handshake record with at least the handshake
message header (12 bytes). If we receive messages with less than these
lengths we discard them and carry on (which is what the DTLS code already
does).

Remove all of the pointless fragment handling code from DTLS, while also
fixing an issue where one case used rr->data instead of the handshake
fragment.

ok inoguchi@ tb@

3 years agoFix use of wrong pointer argument when freeing firmware paging info in iwx(4).
stsp [Tue, 31 Aug 2021 13:19:32 +0000 (13:19 +0000)]
Fix use of wrong pointer argument when freeing firmware paging info in iwx(4).

Found by mpi@ and gnezdo@
ok gnezdo@

3 years agoMake "relayctl reload" when agentx enabling is toggled in relayd.conf work
martijn [Tue, 31 Aug 2021 13:19:29 +0000 (13:19 +0000)]
Make "relayctl reload" when agentx enabling is toggled in relayd.conf work
consistently.

OK benno@

3 years agoRemove a nonsensical s->version == TLS1_VERSION from DTLS code.
jsing [Tue, 31 Aug 2021 13:14:43 +0000 (13:14 +0000)]
Remove a nonsensical s->version == TLS1_VERSION from DTLS code.

ok inoguchi@ tb@ (as part of a larger diff)

3 years ago'if' tests.
mpi [Tue, 31 Aug 2021 12:51:56 +0000 (12:51 +0000)]
'if' tests.

3 years agoBasic test, if (no else atm), support with a single statement.
mpi [Tue, 31 Aug 2021 12:51:24 +0000 (12:51 +0000)]
Basic test, if (no else atm), support with a single statement.

3 years agoUsing suser() instead of doing it manually.
jan [Tue, 31 Aug 2021 12:24:15 +0000 (12:24 +0000)]
Using suser() instead of doing it manually.

ok patrick@

3 years agoSupport storing syscall arguments in a map/hist.
mpi [Tue, 31 Aug 2021 11:30:21 +0000 (11:30 +0000)]
Support storing syscall arguments in a map/hist.

3 years agowhitespace
tb [Tue, 31 Aug 2021 11:19:19 +0000 (11:19 +0000)]
whitespace

3 years agoAdjust rde_decide test vectors to the fact that struct prefix got changed.
claudio [Tue, 31 Aug 2021 10:54:40 +0000 (10:54 +0000)]
Adjust rde_decide test vectors to the fact that struct prefix got changed.
Reminded by bluhm@ that bgpd regress tests failed

3 years agoenter uuid/
jasper [Tue, 31 Aug 2021 09:58:17 +0000 (09:58 +0000)]
enter uuid/

3 years agoadd initial tests for uuid_from_string, uuid_to_string, uuid_create_nil
jasper [Tue, 31 Aug 2021 09:57:27 +0000 (09:57 +0000)]
add initial tests for uuid_from_string, uuid_to_string, uuid_create_nil

prompted by the bug krw@ fixed yesterday in uuid_from_string()

3 years agoshorten some code
deraadt [Tue, 31 Aug 2021 09:56:12 +0000 (09:56 +0000)]
shorten some code

3 years agoSpacing. OK tb@
claudio [Tue, 31 Aug 2021 09:51:25 +0000 (09:51 +0000)]
Spacing. OK tb@

3 years agoTest for operator precedence
mpi [Tue, 31 Aug 2021 08:39:46 +0000 (08:39 +0000)]
Test for operator precedence

3 years agoRewrite grammar to implement operator precedence without using %right or %prec.
mpi [Tue, 31 Aug 2021 08:39:26 +0000 (08:39 +0000)]
Rewrite grammar to implement operator precedence without using %right or %prec.

Arithmetic operator should now behave as expeted and tests can now be written
without superfluous parenthesis, for example:

syscall:select:entry
/($1 == 0) || (pid == $1)/
{
}

Can now be written:

syscall:select:entry
/$1 == 0 || pid == $1/
{
}

While here improve filter debugging support.

3 years agoremove empty forward structs fro bge_ring_data as found with ctfconv.
jasper [Tue, 31 Aug 2021 08:06:56 +0000 (08:06 +0000)]
remove empty forward structs fro bge_ring_data as found with ctfconv.

tested by and ok jmatthew@

3 years agoSpecify path to PuTTY keys. Portable needs this and it makes no
dtucker [Tue, 31 Aug 2021 07:13:59 +0000 (07:13 +0000)]
Specify path to PuTTY keys.  Portable needs this and it makes no
difference on OpenBSD, so resync them.

3 years agoWhen running PuTTY interop tests and using a PuTTY version older than
dtucker [Tue, 31 Aug 2021 06:13:23 +0000 (06:13 +0000)]
When running PuTTY interop tests and using a PuTTY version older than
0.76, re-enable the ssh-rsa host key algorithm (the 256 and 512 variants
of RSA were added some time between 0.73 and 0.76).

3 years agoadd support for obtaining sense status and source slot of a media
robert [Tue, 31 Aug 2021 05:29:55 +0000 (05:29 +0000)]
add support for obtaining sense status and source slot of a media

this fixes a bug in bacula where the catalog was not properly kept
up-to-date if a tape was in a drive becuse its source slot was
unknown

based on code from FreeBSD; ok krw@

picker 0:  sense: <0x00/0x00> voltag: <:0> avoltag: <:0> source: <>
slot 0: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1168L1:0> avoltag: <:0> source: <slot 0>
slot 1: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1187L1:0> avoltag: <:0> source: <slot 1>
slot 2: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1184L1:0> avoltag: <:0> source: <slot 2>
slot 3: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1195L1:0> avoltag: <:0> source: <slot 3>
slot 4: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1037L1:0> avoltag: <:0> source: <slot 4>
slot 5: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1038L1:0> avoltag: <:0> source: <slot 5>
slot 6: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1166L1:0> avoltag: <:0> source: <slot 6>
slot 7: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1167L1:0> avoltag: <:0> source: <slot 7>
slot 8: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1180L1:0> avoltag: <:0> source: <slot 8>
slot 9: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1186L1:0> avoltag: <:0> source: <slot 9>
slot 10: <ACCESS> sense: <0x00/0x00> voltag: <:0> avoltag: <:0> source: <picker 0>
slot 11: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1182L1:0> avoltag: <:0> source: <slot 11>
slot 12: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1181L1:0> avoltag: <:0> source: <slot 12>
slot 13: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1196L1:0> avoltag: <:0> source: <slot 13>
slot 14: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1169L1:0> avoltag: <:0> source: <slot 14>
slot 15: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1197L1:0> avoltag: <:0> source: <slot 15>
slot 16: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1165L1:0> avoltag: <:0> source: <slot 16>
slot 17: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1199L1:0> avoltag: <:0> source: <slot 17>
slot 18: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1189L1:0> avoltag: <:0> source: <slot 18>
slot 19: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1185L1:0> avoltag: <:0> source: <slot 19>
slot 20: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1198L1:0> avoltag: <:0> source: <slot 20>
slot 21: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1039L1:0> avoltag: <:0> source: <slot 21>
slot 22: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1035L1:0> avoltag: <:0> source: <slot 22>
slot 23: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1188L1:0> avoltag: <:0> source: <slot 23>
drive 0: <ACCESS,FULL> sense: <0x00/0x00> voltag: <XX1183L1:0> avoltag: <:0> source: <slot 10>

3 years agoIn enumerating mode, calculate the bit offset using the HID input
anton [Tue, 31 Aug 2021 05:17:49 +0000 (05:17 +0000)]
In enumerating mode, calculate the bit offset using the HID input
location as the product of the corresponding Report Count and Report
Size can be greater than one.

Fixes Richard Toohey's <richardjtoohey at gmail dot com> Dell keyboard.

3 years agoProtect against missing bit to key symbols in ucc_bit_to_sym(). This can
anton [Tue, 31 Aug 2021 05:16:45 +0000 (05:16 +0000)]
Protect against missing bit to key symbols in ucc_bit_to_sym(). This can
only happen if ucc_hid_parse() has a bug, better play it safe.

3 years agosprinkle barriers and dmamem_syncs around the hibernate io path.
dlg [Tue, 31 Aug 2021 04:21:04 +0000 (04:21 +0000)]
sprinkle barriers and dmamem_syncs around the hibernate io path.

at the very least it stops the compiler omgoptimising away important
code.

tested by and ok deraadt@ jmatthew@

3 years agorevert change to use single rockchip U-Boot image in rev 1.13
jsg [Tue, 31 Aug 2021 01:54:12 +0000 (01:54 +0000)]
revert change to use single rockchip U-Boot image in rev 1.13
abieber@ reports it fails to boot on pinebook-pro-rk3399

3 years agoSpecify hostkeyalgorithms in sshd's default set for the SSHFP test,
dtucker [Tue, 31 Aug 2021 01:25:27 +0000 (01:25 +0000)]
Specify hostkeyalgorithms in sshd's default set for the SSHFP test,
from djm@.  Make the reason for when the test is skipped a bit clearer.

3 years agoMake uuid_from_string() reject a string of the correct length but having a
krw [Mon, 30 Aug 2021 20:41:33 +0000 (20:41 +0000)]
Make uuid_from_string() reject a string of the correct length but having a
non-hex digit in the last character.

Inspired by code in uuid_parse() from Ted Ts'o.

ok millert@

3 years agoDocument new include*/exclude* options in the man page
job [Mon, 30 Aug 2021 20:25:24 +0000 (20:25 +0000)]
Document new include*/exclude* options in the man page

3 years agoAdd include/exclude to usage()
job [Mon, 30 Aug 2021 20:25:01 +0000 (20:25 +0000)]
Add include/exclude to usage()

OK claudio@

3 years agoClean up and simplify info and msg callbacks.
jsing [Mon, 30 Aug 2021 19:25:43 +0000 (19:25 +0000)]
Clean up and simplify info and msg callbacks.

The info and msg callbacks result in duplication - both for code that
refers to the function pointers and for the call sites. Avoid this by
providing typedefs for the function pointers and pulling the calling
sequences into their own functions.

ok inoguchi@ tb@

3 years agoAccept dns proposals for the loopback addresses
kn [Mon, 30 Aug 2021 19:14:30 +0000 (19:14 +0000)]
Accept dns proposals for the loopback addresses

Don't reserve^Wignore them for unwind(8);  there are non-unwind use-cases
and so far resolvd(8) always seems to do the right thing when proposing
localhost while unwind is running.

OK benno

3 years agoReplace DTLS r_epoch with the read epoch from the TLSv1.2 record layer.
jsing [Mon, 30 Aug 2021 19:12:25 +0000 (19:12 +0000)]
Replace DTLS r_epoch with the read epoch from the TLSv1.2 record layer.

ok inoguchi@ tb@

3 years agoMove to an AEAD nonce allocated in the TLSv1.2 record layer.
jsing [Mon, 30 Aug 2021 19:00:49 +0000 (19:00 +0000)]
Move to an AEAD nonce allocated in the TLSv1.2 record layer.

There is little to gain by mallocing and freeing the AEAD nonce for each
record - move to an AEAD nonce allocated for the record layer, which
matches what we do for TLSv1.3.

ok inoguchi@ tb@

3 years agoFix max nameserver proposals limit
kn [Mon, 30 Aug 2021 18:49:19 +0000 (18:49 +0000)]
Fix max nameserver proposals limit

Count the total number of proposals and not five per address family each.
Don't print ignored addresses by default anymore and leave that to `-v'.

OK benno

3 years agoRemove magic offset from data structures. This makes it much easier to
kettenis [Mon, 30 Aug 2021 18:40:19 +0000 (18:40 +0000)]
Remove magic offset from data structures.  This makes it much easier to
compare the data structures with the Linux code which unfortunately is
the only documentation we have for the pin numbers used by ACPI.
While there make the data structures const.

ok jcs@

3 years agosync with OpenSSL 1.1.1, which is still under a free license;
schwarze [Mon, 30 Aug 2021 18:18:16 +0000 (18:18 +0000)]
sync with OpenSSL 1.1.1, which is still under a free license;
in particular, this includes new text by Matt Caswell
from OpenSSL commit 721eb8f6 Nov 28 12:03:00 2019 +0000
and corrects a wrong argument type that i introduced into the SYNOPSIS;
requested by tb@

3 years agoRemove tests that are now covered by regress/lib/libssl/verify
tb [Mon, 30 Aug 2021 17:50:05 +0000 (17:50 +0000)]
Remove tests that are now covered by regress/lib/libssl/verify

3 years agohook verify regress test to build
tb [Mon, 30 Aug 2021 17:34:32 +0000 (17:34 +0000)]
hook verify regress test to build

3 years agoRevert accidental commit
tb [Mon, 30 Aug 2021 17:34:01 +0000 (17:34 +0000)]
Revert accidental commit

3 years agolink verify regress tests to build
tb [Mon, 30 Aug 2021 17:28:46 +0000 (17:28 +0000)]
link verify regress tests to build

3 years agoReimplement part of the openssl/x509 regress tests in C
tb [Mon, 30 Aug 2021 17:27:45 +0000 (17:27 +0000)]
Reimplement part of the openssl/x509 regress tests in C

Instead of using s_client and s_server and complicated shell scripts,
we can reuse the framework from the ssl_get_shared_cipher() regress
test and inspect the verify return value directly.

Discussed with beck jan jsing

3 years agoDocument that %n has been neutered -- it now does syslog+abort.
deraadt [Mon, 30 Aug 2021 17:07:47 +0000 (17:07 +0000)]
Document that %n has been neutered -- it now does syslog+abort.
ok ingo

3 years agoFix a locking assertion in error path.
mpi [Mon, 30 Aug 2021 16:59:17 +0000 (16:59 +0000)]
Fix a locking assertion in error path.

In amap_copy() make the new amap share the source amap's lock right in
the begining and only allocate a new one if no anon have been referenced.

Issue reported by Thomas L. <tom.longshine at web dot de> on bugs@.

ok tb@

3 years agoImprove dubgging in /etc/netstart. Enable print only in ifcreate.
bluhm [Mon, 30 Aug 2021 16:58:52 +0000 (16:58 +0000)]
Improve dubgging in /etc/netstart.  Enable print only in ifcreate.
Add debugging output for ipv6 routes.  Make localhost and multicast
code aware of the print only switch.  Allow netstart -n to work
also if no interface is given.
OK kn@

3 years agoIgnore warning alert returns from servername callback in TLSv1.3
tb [Mon, 30 Aug 2021 16:50:23 +0000 (16:50 +0000)]
Ignore warning alert returns from servername callback in TLSv1.3

If a servername callback returns SSL_TLSEXT_ERR_ALERT_WARNING, this
results in a fatal error in TLSv1.3 since alert levels are implicit
in the alert type and neither close_notify nor user_canceled make
sense in this context. OpenSSL chose to ignore this, so we need to
follow suit.

Found via a broken servername callback in p5-IO-Socket-SSL which
returns a Boolean instead of SSL_TLSEXT_ERR_*. This happened to
have worked before TLSv1.3 since warning alerts are often ignored.

This "fixes" sni.t and sni-verify.t in p5-IO-Socket-SSL.

ok beck jsing

3 years agoProperly account entity_queue when the file has already been seen
job [Mon, 30 Aug 2021 16:05:55 +0000 (16:05 +0000)]
Properly account entity_queue when the file has already been seen

Thanks to Ben Maddison for helping create a test case

OK claudio@

3 years agoClarify how dns proposals are replaced not added per interface
kn [Mon, 30 Aug 2021 15:46:07 +0000 (15:46 +0000)]
Clarify how dns proposals are replaced not added per interface

OK benno

3 years agoremove a bunch of forward-only structs that were found with ctfconv.
jasper [Mon, 30 Aug 2021 14:44:39 +0000 (14:44 +0000)]
remove a bunch of forward-only structs that were found with ctfconv.

ok mpi@

3 years agoRemove unused files
job [Mon, 30 Aug 2021 12:44:02 +0000 (12:44 +0000)]
Remove unused files

OK deraadt@

3 years agoClean up end of do_body in openssl(1) ca
inoguchi [Mon, 30 Aug 2021 12:25:54 +0000 (12:25 +0000)]
Clean up end of do_body in openssl(1) ca

suggested from tb@

3 years agoRemove NULL check before free in openssl(1) ca
inoguchi [Mon, 30 Aug 2021 12:12:11 +0000 (12:12 +0000)]
Remove NULL check before free in openssl(1) ca

ok tb@

3 years agoImplement '<' and '>' operators in filters.
mpi [Mon, 30 Aug 2021 11:57:45 +0000 (11:57 +0000)]
Implement '<' and '>' operators in filters.

Based on a diff from and ok dv@

3 years agojca and I converted %n to a syslog warning about a year ago, and the ports
deraadt [Mon, 30 Aug 2021 11:16:49 +0000 (11:16 +0000)]
jca and I converted %n to a syslog warning about a year ago, and the ports
ecosystem experienced a very good cleanup.  Time has arrived to switch (as
planned) to syslog + abort, which will result in a coredump thus identifying
the remaining culprits in a more visible fashion.
vfprintf(3) and vfwprintf(3) man pages still require documentation changes.
with jca

3 years agoINADDR_LOOPBACK check needs htonl(3) to work
kn [Mon, 30 Aug 2021 11:09:58 +0000 (11:09 +0000)]
INADDR_LOOPBACK check needs htonl(3) to work

Found in resolvd(8) which uses the same code.

3 years agoINADDR_LOOPBACK check needs htonl(3) to work
kn [Mon, 30 Aug 2021 11:04:50 +0000 (11:04 +0000)]
INADDR_LOOPBACK check needs htonl(3) to work

3 years agoincrease hibernate writeout speed a little. modern machines have vast
deraadt [Mon, 30 Aug 2021 09:45:29 +0000 (09:45 +0000)]
increase hibernate writeout speed a little.  modern machines have vast
tracts of unused memory, and the empty-space RLE scanner (uvm_page_rle)
would rescan for empty space needlessly wasting excessive cpu time
16G machine, 100sec -> 9sec
40G machine, 325sec -> 28sec
with kettenis mlarkin

3 years agoTest for the pathetic case that the 2nd unveil in
claudio [Mon, 30 Aug 2021 09:09:21 +0000 (09:09 +0000)]
Test for the pathetic case that the 2nd unveil in
    unveil(NULL, NULL); if (fork() == 0) unveil("/", "rwx")
fails with EPERM.

3 years agoAdmit that we return error 20 in the failure case here. Changing
beck [Mon, 30 Aug 2021 09:06:04 +0000 (09:06 +0000)]
Admit that we return error 20 in the failure case here. Changing
our verifier to return 21 results in other regress failures in
ruby and perl.

3 years agoMake sure unveil remains locked over fork even in the case where the
claudio [Mon, 30 Aug 2021 09:05:44 +0000 (09:05 +0000)]
Make sure unveil remains locked over fork even in the case where the
parent just called unveil(NULL, NULL) and nothing else.
With and OK beck@

3 years agoRevert previous change that changed our default return for unable to
beck [Mon, 30 Aug 2021 08:59:33 +0000 (08:59 +0000)]
Revert previous change that changed our default return for unable to
find leaf cert issuers.  This breaks perl and ruby regress, as noticed
by tb that "we tried this before".

Jan's regress that cares about 21 vs 20 needs to change
ok tb@

3 years agoRemove typedef of db_addr_t; mpi converted the users of it to vaddr_t already
jasper [Mon, 30 Aug 2021 08:11:12 +0000 (08:11 +0000)]
Remove typedef of db_addr_t; mpi converted the users of it to vaddr_t already
back in 2019.

ok mpi@

3 years agoCheck that fchdir() works. The problem in unveil was fixed some time ago.
claudio [Mon, 30 Aug 2021 08:07:22 +0000 (08:07 +0000)]
Check that fchdir() works. The problem in unveil was fixed some time ago.

3 years agoMake lines not wrap on 80 char terminals. Code gets more readable.
claudio [Mon, 30 Aug 2021 08:06:02 +0000 (08:06 +0000)]
Make lines not wrap on 80 char terminals. Code gets more readable.

3 years agoFix Jan's regress in openssl/x509 to do what it says it does,
beck [Mon, 30 Aug 2021 06:51:36 +0000 (06:51 +0000)]
Fix Jan's regress in openssl/x509 to do what it says it does,
then fix the only thing it still has complaints about which
is that we don't return the leaf version of the error code
when we can't verify the leaf (as opposed to the rest of the chain)

ok jan@ tb@

3 years agoadapt to RSA/SHA1 deprectation
djm [Mon, 30 Aug 2021 01:15:45 +0000 (01:15 +0000)]
adapt to RSA/SHA1 deprectation

3 years agoAfter years of forewarning, disable the RSA/SHA-1 signature algorithm
djm [Sun, 29 Aug 2021 23:53:10 +0000 (23:53 +0000)]
After years of forewarning, disable the RSA/SHA-1 signature algorithm
by default. It is feasible to create colliding SHA1 hashes, so we
need to deprecate its use.

RSA/SHA-256/512 remains available and will be transparently selected
instead of RSA/SHA1 for most SSH servers released in the last five+
years. There is no need to regenerate RSA keys.

The use of RSA/SHA1 can be re-enabled by adding "ssh-rsa" to the
PubkeyAcceptedAlgorithms directives on the client and server.

ok dtucker deraadt

3 years agowrap at 80 columns
djm [Sun, 29 Aug 2021 23:44:07 +0000 (23:44 +0000)]
wrap at 80 columns

3 years agoRevert: llvm: openbsd driver had one -lcompiler_rt too many
gnezdo [Sun, 29 Aug 2021 21:32:52 +0000 (21:32 +0000)]
Revert: llvm: openbsd driver had one -lcompiler_rt too many

Suggested by jca@ that kettenis@ looks at it first.

3 years agoLee "Scratch" Perry died :(
sthen [Sun, 29 Aug 2021 21:10:31 +0000 (21:10 +0000)]
Lee "Scratch" Perry died :(

3 years agollvm: openbsd driver had one -lcompiler_rt too many
gnezdo [Sun, 29 Aug 2021 21:05:15 +0000 (21:05 +0000)]
llvm: openbsd driver had one -lcompiler_rt too many

Tested by doing a full system build locally. Will work with brad@ for
upstream-ing.

OK patrick & mortimer

3 years agoiwm/iwx: propagate errors out of iw{m,x}_set_bits_mask_prph routines
gnezdo [Sun, 29 Aug 2021 20:31:18 +0000 (20:31 +0000)]
iwm/iwx: propagate errors out of iw{m,x}_set_bits_mask_prph routines

This might help with troubleshooting "iwx0: acquiring device failed"
errors.

OK stsp@