beck [Thu, 27 Apr 2023 12:23:31 +0000 (12:23 +0000)]
Start of an x509 policy regress test. test cases from BoringSSL.
Still a work in progress adapting tests from boringssl x509_test.cc
but dropping in here for tb to be able to look at and run as well
since the new stuff still has bugs.
kn [Thu, 27 Apr 2023 12:10:30 +0000 (12:10 +0000)]
Remove net lock from DIOCGETTIMEOUT
'pfctl -s timeouts' values are only used inside of pf, entirely protected
by the pf lock through the ioctl interface; the net lock is useless.
Previous attempts to remove net lock usage showed that the pf lock cannot
yet entirely replace it, so start with small pieces like this one.
Contrary to IPv4/6 read-only ioctls, some pf ioctls without FWRITE flag do
modify internal pf state, which is not entirely obvious when approached
from the ioctl layer.
OK sashan dlg
mvs [Thu, 27 Apr 2023 11:11:04 +0000 (11:11 +0000)]
Add `rttimer_mtx' to the locking description.
No functional changes.
tb [Thu, 27 Apr 2023 10:53:58 +0000 (10:53 +0000)]
tlsexttest: check additional logic in tlsext randomization
This verifies that we put PSK always last and that the Apache 2 special
does what it is supposed to do. There is also some weak validation of
the Fisher-Yates shuffle that will likely catch errors introduced in
tlsext_randomize_build_order()
kn [Thu, 27 Apr 2023 10:51:27 +0000 (10:51 +0000)]
zap APM_CANCEL, dead since import; OK tb
tb [Thu, 27 Apr 2023 10:50:37 +0000 (10:50 +0000)]
ssl_tlsext.c: Add an accessor for the tls extension type.
Needed for the tlsexttest.c
ok jsing
tb [Thu, 27 Apr 2023 10:43:47 +0000 (10:43 +0000)]
Somehow I managed not to bump LIBRESSL_VERSION_NUMBER
reported by aja
kn [Thu, 27 Apr 2023 10:03:49 +0000 (10:03 +0000)]
Treat crypto disk like the root disk, both are boot disks
Chosing [W]hole on a GPT disk means it needs non-default `-b' fdisk(8)
to account for existing EFI Sys partitions, whether it modifies an existing
GPT (Apple APFS ISC) or writing a new one.
With 'Encrypt the root disk?' answered postively, the crypto disk instead of
the root disk becomes the boot disk.
Extend the logic to both crypto and root disk, really asking
"is this a boot disk?".
with caspar
tb [Thu, 27 Apr 2023 09:49:44 +0000 (09:49 +0000)]
EC_KEY_{get,insert}_key_method_data() are no longer available
tb [Thu, 27 Apr 2023 09:47:03 +0000 (09:47 +0000)]
One more reciprocal thing hid in here (yay for consistent naming)
tb [Thu, 27 Apr 2023 09:45:56 +0000 (09:45 +0000)]
Remove stale references to BN reciprocal stuff
tb [Thu, 27 Apr 2023 09:44:40 +0000 (09:44 +0000)]
sync
tb [Thu, 27 Apr 2023 09:43:55 +0000 (09:43 +0000)]
Remove documentation of reciprocal BN which is now internal only
tb [Thu, 27 Apr 2023 09:39:52 +0000 (09:39 +0000)]
Remove documentation of GF2m point stuff
tb [Thu, 27 Apr 2023 09:35:20 +0000 (09:35 +0000)]
EC_GROUP_new() Strip out complications due to binary curves.
tb [Thu, 27 Apr 2023 09:11:40 +0000 (09:11 +0000)]
Remove stale reference to BN_GF2m_add()
tb [Thu, 27 Apr 2023 09:08:48 +0000 (09:08 +0000)]
sync
tb [Thu, 27 Apr 2023 09:08:08 +0000 (09:08 +0000)]
Remove BN_GF2m_add.3
kettenis [Thu, 27 Apr 2023 09:03:06 +0000 (09:03 +0000)]
Add support for (one of) the PCIe controllers on the RK3588 SoC. Since
MSIs don't work (yet) on this SoC, implement support for legacy interrupts
for the Rockchip SoCs. Also drop the restrictions on the bus number range
as the device tree I'm using has bus numbers start at 64 for the controller
in question.
ok patrick@, dlg@`
kettenis [Thu, 27 Apr 2023 09:00:03 +0000 (09:00 +0000)]
Fix config space access for the root bus of a dwpcie(4) controller when
the root bus number isn't zero.
ok patrick@, dlg@
kettenis [Thu, 27 Apr 2023 08:56:39 +0000 (08:56 +0000)]
Add RK3588 support.
ok patrick@, dlg@
kettenis [Thu, 27 Apr 2023 08:55:59 +0000 (08:55 +0000)]
Add some RK3588 PCIe related clocks.
Also add some RK3588 resets. Whoever reviewed the bindings on Linux gave
the brilliant advice that clock IDs and reset IDs should not in any way
have a sane mapping to the hardware registers, even though that is the
case on all older Rockchip SoCs and greatly simplifies the driver. So
now we need to implement pointless lookup code.
ok patrick@, dlg@
tb [Thu, 27 Apr 2023 08:47:04 +0000 (08:47 +0000)]
Remove mention of EC_GFp_nist_method and add back a .Pp that was
accidentally dropped
beck [Thu, 27 Apr 2023 08:37:53 +0000 (08:37 +0000)]
Make rpki-client choose the verification time of the time it is invoked
rather than always getting the current system time for every certificate
verification. This will result in output that is not variable on run-time.
ok tb@ claudio@
gerhard [Thu, 27 Apr 2023 08:33:59 +0000 (08:33 +0000)]
The ASIX AX88179A chipset does not work properly with the axen(4) driver.
For now switch it to cdce(4) until native support is provided by axen(4).
ok bentley@ stsp@
tb [Thu, 27 Apr 2023 08:07:26 +0000 (08:07 +0000)]
Remove braces around single lines statements using knfmt -s
Pointed out by anton
tb [Thu, 27 Apr 2023 08:04:40 +0000 (08:04 +0000)]
Rework simple allocation and free functions in x509_policy.c
Use calloc() instead of malloc/memset and make free functions look the
same as elsewhere in the tree.
ok beck jsing
claudio [Thu, 27 Apr 2023 07:57:25 +0000 (07:57 +0000)]
Reimplement output-json.c using json.c from bgpctl.
Much rejoice from tb@ and job@
OK tb@
tb [Thu, 27 Apr 2023 07:22:22 +0000 (07:22 +0000)]
Remove dangling references to BN_get0_nist_prime_521(3)
tb [Thu, 27 Apr 2023 07:10:05 +0000 (07:10 +0000)]
Move EC_POINT_{get,set}_Jprojective_coordinates to ec_local.h
tb [Thu, 27 Apr 2023 07:04:23 +0000 (07:04 +0000)]
Nuke doxygen noise
tb [Thu, 27 Apr 2023 07:01:45 +0000 (07:01 +0000)]
Remove documentation of no longer supported EC methods
tb [Thu, 27 Apr 2023 06:57:10 +0000 (06:57 +0000)]
Remove NIST prime documentation
tb [Thu, 27 Apr 2023 06:55:19 +0000 (06:55 +0000)]
sync
tb [Thu, 27 Apr 2023 06:54:09 +0000 (06:54 +0000)]
Stop installing NIST prime documentation
tb [Thu, 27 Apr 2023 06:48:47 +0000 (06:48 +0000)]
Remove a useless doxygen comment
claudio [Thu, 27 Apr 2023 06:11:43 +0000 (06:11 +0000)]
Unbreak regress after yesterdays churn.
Friendly reminder from anton@
anton [Thu, 27 Apr 2023 05:42:44 +0000 (05:42 +0000)]
cope with recent vmm changes
jmc [Thu, 27 Apr 2023 05:41:11 +0000 (05:41 +0000)]
- list some missing pci entries. dlg noticed some missing ones, and miod
worked out what was missing
- remove commented out entry to non-existent en(4) driver
- remove all instances of .Tn
ok miod dlg
kevlo [Thu, 27 Apr 2023 03:28:34 +0000 (03:28 +0000)]
Fix logic error in rtwn_r92e_get_txpower().
The RTL8192EU is up to two stream TX/RX (so MCS0->15).
ok stsp@
kevlo [Thu, 27 Apr 2023 03:19:45 +0000 (03:19 +0000)]
Whitespace fix
deraadt [Thu, 27 Apr 2023 03:06:17 +0000 (03:06 +0000)]
sync
jsg [Thu, 27 Apr 2023 02:39:04 +0000 (02:39 +0000)]
drm/amd/display: set dcn315 lb bpp to 48
From Dmytro Laktyushkin
4ac57c3fe2c0a74c6239170fc58fc824637c6015 in linux-6.1.y/6.1.26
6d9240c46f7419aa3210353b5f52cc63da5a6440 in mainline linux
jsg [Thu, 27 Apr 2023 02:36:57 +0000 (02:36 +0000)]
drm/amdgpu: Fix desktop freezed after gpu-reset
From Alan Liu
bef774effb278ff0b65ea2dbaa1ab32ba6a1dc13 in linux-6.1.y/6.1.26
c8b5a95b570949536a2b75cd8fc4f1de0bc60629 in mainline linux
jsg [Thu, 27 Apr 2023 02:34:32 +0000 (02:34 +0000)]
drm/i915: Fix fast wake AUX sync len
From Ville Syrjala
66eb772be27e228716bb81feee0400d995cbe605 in linux-6.1.y/6.1.26
e1c71f8f918047ce822dc19b42ab1261ed259fd1 in mainline linux
jsg [Thu, 27 Apr 2023 02:32:24 +0000 (02:32 +0000)]
drm: buddy_allocator: Fix buddy allocator init on 32-bit systems
From David Gow
fb766acce3cf1c9637a79c1ffb3cebc61fd9d859 in linux-6.1.y/6.1.26
4453545b5b4c3eff941f69a5530f916d899db025 in mainline linux
kn [Wed, 26 Apr 2023 23:12:31 +0000 (23:12 +0000)]
Treat crypto disk like the root disk, both are boot disks
Chosing [W]hole on a GPT disk means it needs non-default `-b' fdisk(8)
to boot and preserve any existing BIOS boot partition.
With 'Encrypt the root disk?' answered postively, the crypto disk instead of
the root disk becomes the boot disk.
Extend the sanity check to both crypto and root disk, really asking
"is this a boot disk?".
This preserves existing boot partitions when using guided disk encryption.
kn [Wed, 26 Apr 2023 22:45:32 +0000 (22:45 +0000)]
Treat crypto disk like the root disk, both are boot disks
Chosing an existing OpenBSD partition on GPT during disk setup requires an
existing EFI Sys partition (the installer does not create it in thi case).
With 'Encrypt the root disk?' answered postively, the crypto disk instead of
the root disk becomes the boot disk.
Extend the EFI Sys sanity check to both crypto and root disk, really asking
"is this a boot disk?".
jmc [Wed, 26 Apr 2023 22:34:30 +0000 (22:34 +0000)]
add viogpu(4); from diana eichert
deraadt [Wed, 26 Apr 2023 22:12:44 +0000 (22:12 +0000)]
On openbsd amd64, the compiler has been found to generate some nasty jump
table variations (calculate address into %rax, jmp %rax) which is not
compatible with IBT endbr64. The specific generated code sequence was
found inside clang, which made the debugging experience pretty miserable.
So we will have to disable jump tables by default.
ok kettenis
tb [Wed, 26 Apr 2023 22:09:07 +0000 (22:09 +0000)]
Make x509_policy.c compile with gcc 4.
ok beck
job [Wed, 26 Apr 2023 22:05:36 +0000 (22:05 +0000)]
Add test for invalidation of DER cache for X509_CRL_* setter functions
The program won't exit with a non-zero exit code if X509_CRL_set_*
tests fail, as the relevant bits haven't been committed to libcrypto yet.
beck [Wed, 26 Apr 2023 22:05:28 +0000 (22:05 +0000)]
Add a -P option to rpki-client to specify the evaluation time
This is intended to be able to test rpki-client in a reproducable
way without worrying about the system time changing the results
ok claudio@
deraadt [Wed, 26 Apr 2023 22:04:58 +0000 (22:04 +0000)]
On openbsd amd64, emit IBT endbr64 instructions by default (meaning,
-fcf-protection=branch is the default). All binaries grow slightly, but
we can slowly move towards greater IBT enforcement in userland.
4th or 5th variation of this diff, with mortimer
ok kettenis
patrick [Wed, 26 Apr 2023 21:37:46 +0000 (21:37 +0000)]
Fix phy_enable_prop_idx() to retrieve the property length with the passed
property name instead of "phys".
ok dlg@
tb [Wed, 26 Apr 2023 21:36:42 +0000 (21:36 +0000)]
Allow compiling with -DHAS_DAG to enable the policy check with a DAG.
ok beck
tb [Wed, 26 Apr 2023 21:35:22 +0000 (21:35 +0000)]
Turn C++ comments into C comments and minor KNF fixups
job [Wed, 26 Apr 2023 21:30:12 +0000 (21:30 +0000)]
Clean up X509 memory before exit
claudio [Wed, 26 Apr 2023 21:17:24 +0000 (21:17 +0000)]
Use < 0 for fprintf() error checking and not == -1.
tb [Wed, 26 Apr 2023 21:07:32 +0000 (21:07 +0000)]
KNF according to knfmt(1)
krw [Wed, 26 Apr 2023 20:59:32 +0000 (20:59 +0000)]
Don't rely on the disklabel defaults or a disktab entry's ba#/fa#
values for the block/fragment sizes that some install media need.
Hoist the desired values into the newfs(8) invocations to make it
obvious non-default values are required and what the values are.
No functional change.
tb [Wed, 26 Apr 2023 20:54:21 +0000 (20:54 +0000)]
Zap trailing whitespace
claudio [Wed, 26 Apr 2023 20:53:17 +0000 (20:53 +0000)]
Verify each fprintf call for success. On failure stop calling fprintf
and return -1 in json_do_finish().
tb@ thinks this is not to horrible
tb [Wed, 26 Apr 2023 20:52:11 +0000 (20:52 +0000)]
Add RCS tag
tb [Wed, 26 Apr 2023 20:43:32 +0000 (20:43 +0000)]
Take X509_POLICY_NODE_print() behind the barn
This used to be public API but is now only used for debug code that has
certainly never been used since it was released to the public. It drags
that debug nonsense with it.
ok beck
mvs [Wed, 26 Apr 2023 19:54:35 +0000 (19:54 +0000)]
Introduce `rtlabel_mtx' mutex(9) to protect route labels storage. This
time kernel and net locks are held in various combination to protect it.
We don't want to put kernel lock to all the places. Netlock also can't
be used because rtfree(9) which calls rtlabel_unref() has unknown
netlock state within.
This new `rtlabel_mtx' mutex(9) protects `rt_labels' list and `label'
entry dereference. Since we don't export 'rt_label' structure, keep this
lock private to net/route.c. For this reason rtlabel_id2name() now
copies label string to externally passed buffer instead of returning
address of `rt_labels' list data. This is the way which rtlabel_id2sa()
already works.
ok bluhm@
beck [Wed, 26 Apr 2023 19:16:02 +0000 (19:16 +0000)]
Add the new policy code to the build.
ok tb@ jsing@
claudio [Wed, 26 Apr 2023 19:14:54 +0000 (19:14 +0000)]
Use fprintf instead of printf and pass the FILE handle in json_do_start().
OK tb@
jmc [Wed, 26 Apr 2023 19:12:48 +0000 (19:12 +0000)]
fix some Xr;
beck [Wed, 26 Apr 2023 19:11:32 +0000 (19:11 +0000)]
Make the new policy code in x509_policy.c to be selectable at compile time.
The old policy codes remains the default, with the new policy code
selectable by defining LIBRESSL_HAS_POLICY_DAG.
ok tb@ jsing@
beck [Wed, 26 Apr 2023 19:08:10 +0000 (19:08 +0000)]
Add a shim to mimic the BoringSSL sk_delete_if function.
We add this locally as a function to avoid delving into
the unholy macro madness of STACK_OF(3).
ok tb@ jsing@
job [Wed, 26 Apr 2023 19:05:37 +0000 (19:05 +0000)]
Add lookup name+function pointer table for improved diagnostics
OK tb@
beck [Wed, 26 Apr 2023 19:05:11 +0000 (19:05 +0000)]
Adapt the sk_find calls from BoringSSL's api to ours.
ok tb@ jsing@
beck [Wed, 26 Apr 2023 19:03:46 +0000 (19:03 +0000)]
Add the STACK_OF declarations we require.
ok tb@ jsing@
beck [Wed, 26 Apr 2023 19:02:25 +0000 (19:02 +0000)]
Change OPENSSL_malloc|free|memset and friends to the normal versions.
ok tb@ jsing@
beck [Wed, 26 Apr 2023 19:00:57 +0000 (19:00 +0000)]
Fix error code goop
ok tb@ jsing@
beck [Wed, 26 Apr 2023 18:59:36 +0000 (18:59 +0000)]
Use the correct headers to compile with libressl
beck [Wed, 26 Apr 2023 18:56:52 +0000 (18:56 +0000)]
Import policy.c from BoringSSL as x509_policy.c
This is an implementation of the X509 policy processing using a
DAG instead of a tree to avoid the problem of exponential expansion
of the policy tree as specified in RFC 5280
For details see:
https://boringssl-review.googlesource.com/c/boringssl/+/55762
ok tb@ jsing@
schwarze [Wed, 26 Apr 2023 18:56:16 +0000 (18:56 +0000)]
New manual page written by Ted Bullock <tbullock at comlore dot com>,
to start working on it in the tree.
job [Wed, 26 Apr 2023 18:34:40 +0000 (18:34 +0000)]
In JSON/ASPA output, only print commas up to after the pen-ultimate applicable provider
Reported by Ties de Kock
OK claudio@
tb [Wed, 26 Apr 2023 18:17:50 +0000 (18:17 +0000)]
Kill whitespace
claudio [Wed, 26 Apr 2023 18:14:28 +0000 (18:14 +0000)]
Add prototypes for geticmptypebyname() and geticmpcodebyname().
Needed for bison.
kn [Wed, 26 Apr 2023 18:04:21 +0000 (18:04 +0000)]
Fix confusing comments, no object change; with caspar
job [Wed, 26 Apr 2023 17:59:00 +0000 (17:59 +0000)]
Make -A also apply to the JSON output
OK claudio@
tb [Wed, 26 Apr 2023 17:39:20 +0000 (17:39 +0000)]
Whitespace
"please fix" json
claudio [Wed, 26 Apr 2023 16:53:58 +0000 (16:53 +0000)]
Implement dt(4) utrace support on amd64 and i386.
This adds stacktrace_save_utrace() to extract and save the userland stack
which is stubbed out on most archs. alpha and riscv64 do not even implement
dt(4) and stacktrace_save_at() so the stubs are excluded there.
Additionally add a new ioctl DTIOCGETAUXBASE which allows btrace to
fetch the AUX_BASE vallue from the AUX vector of a process.
OK mpi@ (some time ago) discussed with kettenis@
claudio [Wed, 26 Apr 2023 16:32:41 +0000 (16:32 +0000)]
Improve accounting by tracking things by repo and tal.
This fixes some wrong accounting for repositories that are referenced
from more than one TAL. It changes the ometric lable output a little bit
since there are repository metrics that no longer include the 'name' label.
OK tb@
mlarkin [Wed, 26 Apr 2023 16:13:19 +0000 (16:13 +0000)]
Reodrer some things to fix vmctl/vmd builds after the vmm MI/MD split
mlarkin [Wed, 26 Apr 2023 16:12:21 +0000 (16:12 +0000)]
Fix vmd after vmm MI/MD split
kn [Wed, 26 Apr 2023 16:09:44 +0000 (16:09 +0000)]
Remove +20y old rt_timer_init() comment
Obsolete since last year's r1.411 "Rework the rttimer code."
OK claudio
mlarkin [Wed, 26 Apr 2023 15:40:51 +0000 (15:40 +0000)]
Incorporate r1.140 and r1.141 of vmm.c:
----------------------------
revision 1.341
date: 2023/04/26 09:39:56; author: dv; state: Exp; lines: +3 -3; commitid: 1XztmVbxa8OP2xYi;
Unbreak vmm on Intel. Mistakenly enabled CET on non-CET systems.
Found by anton@ & jsg@
----------------------------
revision 1.340
date: 2023/04/24 16:53:57; author: dv; state: Exp; lines: +11 -1; commitid: q9qQ55f7h2gen8N4;
vmm(4): allow guests to enable and use supervisor IBT.
Why should hosts have all the fun? Conditionally unmask the cpuid
bits for IBT and allow r/w access to the supervisor CET msr.
Will need revisiting when we introduce usage of userland CET msr.
kn [Wed, 26 Apr 2023 15:40:33 +0000 (15:40 +0000)]
typofix rttimer comment
mlarkin [Wed, 26 Apr 2023 15:34:31 +0000 (15:34 +0000)]
Integrate r1.339 of vmm.c which I missed during the previous MI/MD split
---
revision 1.339
date: 2023/04/22 18:27:28; author: guenther; state: Exp; lines: +3 -3; commitid: ajtkYPSAhtJdB488;
Rename the XCR0_* #defines to XFEATURE_* and add the new supervisor-state
features: while all are appropriate for xsaves/xrstors, the
supervisor-state features aren't for xcr0 but rather for the new XSS_MSR,
making the current names kinda confusing.
Add #defines for masking bits for xcr0 vs XSS.
Add and report the new XSAVE_XFD xsave subfeature bit.
---
mlarkin [Wed, 26 Apr 2023 15:13:59 +0000 (15:13 +0000)]
vmm.c -> vmm_machdep.c (remove old file)
beck [Wed, 26 Apr 2023 15:13:52 +0000 (15:13 +0000)]
Fix splassert noticed by sthen
Called wrong incore when not holding bio.
ok claudio@
mlarkin [Wed, 26 Apr 2023 15:11:21 +0000 (15:11 +0000)]
Refactor MD/MI parts of vmm.
ok dv, deraadt
schwarze [Wed, 26 Apr 2023 15:03:02 +0000 (15:03 +0000)]
Document those BIO_ctrl(3) command constants
that correspond to more than one macro each.
krw [Wed, 26 Apr 2023 14:42:27 +0000 (14:42 +0000)]
Don't rely on the disklabel defaults or a disktab entry's ba#/fa#
values for the block/fragment sizes that some install media need.
Hoist the desired values into the newfs(8) invocations to make it
obvious non-default values are required and what the values are.
No functional change.
ok kn@
kettenis [Wed, 26 Apr 2023 14:39:42 +0000 (14:39 +0000)]
Fix my email address.
phessler [Wed, 26 Apr 2023 14:28:09 +0000 (14:28 +0000)]
During boot we have a protective and restrictive pf ruleset during the time
we are running netstart, and then load the pf.conf ruleset after all of the
interfaces are loaded.
Allow in and out IPv6 neighbor advertisement traffic without state during
that time.
suggestions/OK from saschan@
OK sthen@ kn@ florian@ deraadt@