tb [Tue, 25 Apr 2023 19:28:22 +0000 (19:28 +0000)]
Remove prototype of EC_GFp_nist_method()
tb [Tue, 25 Apr 2023 19:26:45 +0000 (19:26 +0000)]
Move EC_KEY_{insert,set}_key_method_data() to internal-only
tb [Tue, 25 Apr 2023 19:08:30 +0000 (19:08 +0000)]
Move low level BIO_new_NDEF API to internal-only
tb [Tue, 25 Apr 2023 19:01:01 +0000 (19:01 +0000)]
Remove proxy cert remnants
tb [Tue, 25 Apr 2023 18:57:57 +0000 (18:57 +0000)]
Remove NETSCAPE_CERT_SEQUENCE
tb [Tue, 25 Apr 2023 18:53:42 +0000 (18:53 +0000)]
Move the policy STACK_OF stuff to pcy_int.h as well
tb [Tue, 25 Apr 2023 18:49:23 +0000 (18:49 +0000)]
sync
tb [Tue, 25 Apr 2023 18:48:32 +0000 (18:48 +0000)]
Remove SXNET
Unused and no authorative information was found online in 2016
tb [Tue, 25 Apr 2023 18:39:12 +0000 (18:39 +0000)]
Move truncated sha-2 and sha3 out of #ifdef wrappers
tb [Tue, 25 Apr 2023 18:37:56 +0000 (18:37 +0000)]
Use X509_STORE_CTX_get1_{certs,crls}() instead of an alias
tb [Tue, 25 Apr 2023 18:33:50 +0000 (18:33 +0000)]
X509_STORE_get1_{certs,crls} become X509_STORE_CTX_* also in
Symbols.namespace
tb [Tue, 25 Apr 2023 18:32:42 +0000 (18:32 +0000)]
X509_STORE_get1_{certs,crls} become X509_STORE_CTX_*
This matches the OpenSSL 1.1 API a bit better.
tb [Tue, 25 Apr 2023 18:28:05 +0000 (18:28 +0000)]
Move the policy tree code to internal-only
A few hooks remain in the legacy validator, which will soon be replaced
with something better. The rest of the tentacles are now largely contained.
claudio [Tue, 25 Apr 2023 18:14:06 +0000 (18:14 +0000)]
Rename ps_refcnt to ps_threadcnt in struct process and implement
P_HASSIBLING() using this count.
OK mvs@ mpi@
tb [Tue, 25 Apr 2023 18:13:25 +0000 (18:13 +0000)]
Remove i2d_PKCS7_NDEF from the hidden version as well
tb [Tue, 25 Apr 2023 18:05:07 +0000 (18:05 +0000)]
Remove documentation for i2d_PKCS7_NDEF
tb [Tue, 25 Apr 2023 18:04:03 +0000 (18:04 +0000)]
Remove i2d_PKCS7_NDEF
tb [Tue, 25 Apr 2023 17:59:41 +0000 (17:59 +0000)]
BN_RECP_CTX moves to internal
schwarze [Tue, 25 Apr 2023 17:57:55 +0000 (17:57 +0000)]
Put ERRORS and DIAGNOSTICS information in the sections where they belong.
More details on RETURN VALUES and ERRORS.
Document all DIAGNOSTICS messages except the various malloc(3)-related
ones and except those that cannot actually occur but would merely report
violations of internal invariants. Shorten some wordings in this section.
Using feedback from jmc@ and Ted Bullock.
OK jmc@ and nicm@ on an earlier version.
tb [Tue, 25 Apr 2023 17:54:10 +0000 (17:54 +0000)]
Remove CTS mode
ok jsing
tb [Tue, 25 Apr 2023 17:52:54 +0000 (17:52 +0000)]
Remove TS_VERIFY_CTX_init()
tb [Tue, 25 Apr 2023 17:51:36 +0000 (17:51 +0000)]
Remove PEM wrappers for NETSCAPE_CERT_SEQUENCE
tb [Tue, 25 Apr 2023 17:42:07 +0000 (17:42 +0000)]
Remove the horror show that is bn_nist and ecp_nist
This code is full of problematic C and is also otherwise of questionable
quality. It is far from constant time and jsing informs me it also isn't
faster. Good riddance.
tb [Tue, 25 Apr 2023 17:23:08 +0000 (17:23 +0000)]
Remove BN_init() documentation
tb [Tue, 25 Apr 2023 17:21:51 +0000 (17:21 +0000)]
Remove BN_CTX_init() documentation
tb [Tue, 25 Apr 2023 17:20:24 +0000 (17:20 +0000)]
Remove the no longer used BN_MONT_CTX_init()
tb [Tue, 25 Apr 2023 17:17:21 +0000 (17:17 +0000)]
Remove a couple of temporary hacks
tb [Tue, 25 Apr 2023 17:13:06 +0000 (17:13 +0000)]
Move a few now internal prototypes to bn_local.h
tb [Tue, 25 Apr 2023 17:01:21 +0000 (17:01 +0000)]
Remove old BN_one/BN_zero compat stuff
ok jsing
tb [Tue, 25 Apr 2023 16:59:57 +0000 (16:59 +0000)]
zlib: sync with src
tb [Tue, 25 Apr 2023 16:59:10 +0000 (16:59 +0000)]
Update libz to the HEAD of the develop branch
This mostly moves from K&R prototypes to ANSI prototypes and includes a
handful of bug fixes that are nice to have. The corresponding sys commit
will allow us to undo some hacks that jca applied to make the kernel build
with clang 15.
discussed with deraadt
tb [Tue, 25 Apr 2023 16:50:33 +0000 (16:50 +0000)]
Remove X9.31 support
ok jsing
tb [Tue, 25 Apr 2023 16:41:29 +0000 (16:41 +0000)]
Remove the no longer used BN_CTX_init()
ok jsing
bluhm [Tue, 25 Apr 2023 16:24:25 +0000 (16:24 +0000)]
Exclusive net lock or mutex arp_mtx protect the llinfo_arp fields.
So kernel lock is only needed for changing the route rt_flags. In
arpresolve() protect rt_llinfo lookup and llinfo_arp modification
with arp_mtx. Grab kernel lock for rt_flags reject modification
only when needed.
Tested by Hrvoje Popovski; OK patrick@ kn@
tb [Tue, 25 Apr 2023 16:15:37 +0000 (16:15 +0000)]
Bump LibreSSL version to 3.8.0
tb [Tue, 25 Apr 2023 16:11:02 +0000 (16:11 +0000)]
Remove the nseq command
schwarze [Tue, 25 Apr 2023 15:59:45 +0000 (15:59 +0000)]
Document most command constants.
They are part of the public API, may be needed for implementing custom BIO
types, and application programmers need to avoid clashing with them.
tb [Tue, 25 Apr 2023 15:56:56 +0000 (15:56 +0000)]
Update Wycheproof.go to exercise truncated SHA-2 and SHA-3
tb [Tue, 25 Apr 2023 15:55:26 +0000 (15:55 +0000)]
sync
tb [Tue, 25 Apr 2023 15:54:19 +0000 (15:54 +0000)]
Bump majors after symbol addition and removal
tb [Tue, 25 Apr 2023 15:52:41 +0000 (15:52 +0000)]
Update Symbols.list after symbol addition and removal
tb [Tue, 25 Apr 2023 15:51:31 +0000 (15:51 +0000)]
Comment out a few now unused files from Makefile
tb [Tue, 25 Apr 2023 15:51:04 +0000 (15:51 +0000)]
Use proper fix for the recent x400Address issue
From David Benjamin (BoringSSL)
ok beck
tb [Tue, 25 Apr 2023 15:50:09 +0000 (15:50 +0000)]
Temporarily define LIBRESSL_NEXT_API in opensslfeatures.h
tb [Tue, 25 Apr 2023 15:49:42 +0000 (15:49 +0000)]
Define OPENSSL_NO_DEPRECATED and OPENSSL_NO_EC2M in opensslfeatures.h
ok beck jsing
tb [Tue, 25 Apr 2023 15:48:48 +0000 (15:48 +0000)]
Wire up truncated SHA-2, SHA-3 and related things
from jsing
tb [Tue, 25 Apr 2023 15:47:29 +0000 (15:47 +0000)]
Remove no longer necessary compat #defines
tb [Tue, 25 Apr 2023 15:46:54 +0000 (15:46 +0000)]
Add NIDs for truncated SHA-2, SHA-3 and related things
From jsing
phessler [Tue, 25 Apr 2023 15:41:17 +0000 (15:41 +0000)]
When configuring a new address on an interface, an upstream router
doesn't know where to send traffic. This will send an unsolicited
neighbor advertisement, as described in RFC9131, to the all-routers
multicast address so all routers on the same link will learn the path
back to the address.
This is intended to speed up the first return packet on an IPv6 interface.
OK florian@
tb [Tue, 25 Apr 2023 15:34:07 +0000 (15:34 +0000)]
bn_mod_exp: temporarily add a prototype for BN_mod_exp_recp()
tb [Tue, 25 Apr 2023 15:33:25 +0000 (15:33 +0000)]
bn_test: temporarily add prototypes for reciprocal functions
This is a hack needed until bn_local.h is updated
tb [Tue, 25 Apr 2023 15:32:33 +0000 (15:32 +0000)]
bn_test: BN_one() will become void, so stop checking it
tb [Tue, 25 Apr 2023 15:30:03 +0000 (15:30 +0000)]
bn_primes: the NIST primes will go away, so remove their tests
tb [Tue, 25 Apr 2023 15:29:17 +0000 (15:29 +0000)]
The bio_asn1 test will need to be linked statically after the bump
tb [Tue, 25 Apr 2023 15:19:28 +0000 (15:19 +0000)]
Remove CTS test
tb [Tue, 25 Apr 2023 15:18:59 +0000 (15:18 +0000)]
CTS support will go away, so unhook corresponding regress
kn [Tue, 25 Apr 2023 14:48:16 +0000 (14:48 +0000)]
Do not attempt to write to read-only softraid
Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.
Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.
i386 BIOS. Crank minor.
Tested inside amd64 vmm.
kn [Tue, 25 Apr 2023 14:20:13 +0000 (14:20 +0000)]
drop empty lines around disk crypto '?' help text
kn [Tue, 25 Apr 2023 14:04:47 +0000 (14:04 +0000)]
Enable softraid(4) in the ramdisk kernel aka. make disk crypto install work
GENERIC, efiboot and installboot(8) all have softraid enabled, the manual
already documents boot support for riscv64, "just" bsd.rd lacks it.
(thought I had committed this months ago...)
SiFive HiFive Unmatched A00.
OK patrick
kn [Tue, 25 Apr 2023 14:00:35 +0000 (14:00 +0000)]
Do not attempt to write to read-only softraid
Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.
Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.
sparc64 ofwboot. Crank minor.
Tested on T4-2 guest domain with root on softraid.
op [Tue, 25 Apr 2023 13:36:01 +0000 (13:36 +0000)]
tiny markup fix: add missing Ic before `group' in the `agentx' rule
OK martijn@
op [Tue, 25 Apr 2023 13:32:20 +0000 (13:32 +0000)]
mark up `mode' in -f description
dv [Tue, 25 Apr 2023 12:51:07 +0000 (12:51 +0000)]
vmctl(8): no longer needs vmmvar.h
Finally! We can remove kernel headers from vmctl.
ok mlarkin@
dv [Tue, 25 Apr 2023 12:46:13 +0000 (12:46 +0000)]
vmm(4)/vmd(8): pull struct members out of vmm ioctl create struct.
The object sent to vmm(4) contained file paths and details the
kernel does not need for cpu virtualization as device emulation is
in userland. Effectively, "pull up" the struct members from the
vm_create_params struct to the parent vmop_create_params struct.
This allows us to clean up some of vmd(8) and simplify things for
switching to having vmctl(8) open the "kernel" file (SeaBIOS, bsd.rd,
etc.) to allow users to boot recovery ramdisk kernels.
ok mlarkin@
mpi [Tue, 25 Apr 2023 12:36:30 +0000 (12:36 +0000)]
Do not grab the `vmmaplk' recursively, prevent a self-deadlock.
Change the semantic of vm_map_busy() to be able to completely unlock the
`vmmaplk' instead of downgrading it to a read lock in mlock(2). This is
necessary because uvm_fault_wire() tries to re-grab the same lock.
We now keep track of the thread currently holding the vmmap busy to ensure
it can relock & unbusy the vmmap. The new pattern becomes:
....vm_map_lock(map);
....vm_map_busy(map); /* prevent other threads to grab an exclusive lock */
....vm_map_unlock(map);
....
..../*
.... * Do some stuff generally requiring a tsleep(9).
.... */
....
....vm_map_lock(map);
....vm_map_unbusy(map); /* allow other threads to make progress after unlock */
....vm_map_unlock(map);
Fix adapted from NetBSD's r1.249 of uvm/uvm_map.c. Issue reported by
Jacqueline Jolicoeur exposed by a "wallet refresh" of the Monero App.
Panic hand-copied below:
sleep_finish()
rw_enter()
uvmfault_lookup()
uvm_fault_check()
uvm_fault()
uvm_fault_wire()
uvm_map_pageable_wire()
sys_mlock()
ok kettenis@
krw [Tue, 25 Apr 2023 12:13:15 +0000 (12:13 +0000)]
Create & use variables MRDISKTYPE and MRMAKEFSARGS like all the other build
makefiles.
Fixes & ok kn@
No intentional functional change.
patrick [Tue, 25 Apr 2023 11:36:55 +0000 (11:36 +0000)]
Enable power management for PCI devices.
ok kettenis@
patrick [Tue, 25 Apr 2023 11:21:01 +0000 (11:21 +0000)]
Add suspend/resume support to pwmbl(4), so that when suspending the x13s
the display turns off and it actually looks like it's properly suspended.
ok kettenis@ tobhe@
tobhe [Tue, 25 Apr 2023 11:12:38 +0000 (11:12 +0000)]
Disable keyboard backlight on Apple Silicon laptops on suspend,
restore on wakeup.
ok patrick@ kettenis@
tb [Tue, 25 Apr 2023 11:03:37 +0000 (11:03 +0000)]
The #ifdef missed a few NETSCAPE_CERT things
tb [Tue, 25 Apr 2023 10:56:58 +0000 (10:56 +0000)]
Remove v3_sxnet from the standard extensions
patrick [Tue, 25 Apr 2023 10:35:48 +0000 (10:35 +0000)]
Invalidate ITS caches during suspend/resume cycle to commit the changes
to the LPIs. So far we have only flipped the enable bit in the shared
memory, but it turns out that the state is actually cached in the ITS.
We have to send an invalidation to flush it, both after disabling and
enabling the LPI. We probably also should do it after establishing an
interrupt, and especially when disestablishing, e.g. for PCIe hotplug.
Since we do not currently store the device/event IDs we cannot do a
targeted invalidation and have to fall back to sending one that clears
the whole cache to each ITS. In the future we should keep some more
state per established LPI.
Furthermore we currently keep a list of LPIs in each ITS instance, which
means in case we have multiple ITS we will re-use LPI numbers. But since
there's no relevant HW so far that has those, there's no rish to fix that.
This fixes suspend/resume on x13s with NVMe+MSI.
ok kettenis@
job [Tue, 25 Apr 2023 10:18:39 +0000 (10:18 +0000)]
Invalidate the DER cache earlier on in X509 setter functions
Note that it is important to invalidate the cache before returning,
as the return might bubble up an error.
OK tb@ jsing@
kn [Tue, 25 Apr 2023 10:11:20 +0000 (10:11 +0000)]
Do not attempt to write to read-only softraid
Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.
Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.
amd64 EFI bits, other architectues to come. Crank minor.
"seems sensible" jsing
kn [Tue, 25 Apr 2023 10:06:12 +0000 (10:06 +0000)]
Do not attempt to write to read-only softraid
Bootloaders have no write support for softraid volumes, which manifests in,
e.g. /bsd.upgrade not being stripped of its 'x' permission bit to prevent
sysupgrade loops in case of upgrade failure.
Set a no-write flag handled by libsa to bail out early in write calls.
There should be no real behaviour change, writes just fail earlier now.
amd64 BIOS bits first, rest to come. Crank minor.
"seems sensible" jsing
job [Tue, 25 Apr 2023 09:46:36 +0000 (09:46 +0000)]
Use X509_set_version() and X509_REQ_set_version() instead doing it by hand
A small side-effect in X509_to_X509_REQ() is that 'x->req_info->enc.modified'
now earlier on is set to 1.
OK tb@ jsing@
nicm [Tue, 25 Apr 2023 09:31:50 +0000 (09:31 +0000)]
Tidy tparm wrapper functions to have more obvious names and check tparm
return value.
nicm [Tue, 25 Apr 2023 09:24:44 +0000 (09:24 +0000)]
Invalidate cached tty state after changing features since they may
change what the terminal can do and need mouse sequences or similar to
be sent again, GitHub issue 3513.
krw [Tue, 25 Apr 2023 08:57:11 +0000 (08:57 +0000)]
Add option 'rdroot' to simplify creation of rdroot filesystems for the install
media.
No functional change to existing behaviour.
krw [Tue, 25 Apr 2023 08:44:19 +0000 (08:44 +0000)]
Delete now unused disklabel template files.
op [Tue, 25 Apr 2023 08:37:24 +0000 (08:37 +0000)]
document that prefix-region with a prefix argument prompts for the string
jsg [Tue, 25 Apr 2023 08:28:27 +0000 (08:28 +0000)]
regen
jsg [Tue, 25 Apr 2023 08:27:59 +0000 (08:27 +0000)]
add Kingston KC3000 from Paul de Weerd
and Samsung PM9B1 as found in sthen's t14 gen 3 intel
tb [Tue, 25 Apr 2023 07:50:38 +0000 (07:50 +0000)]
Fix allocation size
Reported by anton
tb [Tue, 25 Apr 2023 07:48:15 +0000 (07:48 +0000)]
Unbreak tree: file missed in last commit
Reported by anton
asou [Tue, 25 Apr 2023 05:02:56 +0000 (05:02 +0000)]
add eoip to keepalive.
ok david@
deraadt [Tue, 25 Apr 2023 04:42:25 +0000 (04:42 +0000)]
Add endbr64 where needed by inspection. Passes regresson tests.
ok jsing, and kind of tb an earlier version
deraadt [Tue, 25 Apr 2023 04:11:10 +0000 (04:11 +0000)]
endbr64 is potentially neccessary in the syscall stubs.
deraadt [Tue, 25 Apr 2023 04:10:21 +0000 (04:10 +0000)]
Add missing endbr64 instructions as required. Verified as neccessary with
a fully IBT userland operational..
deraadt [Tue, 25 Apr 2023 04:06:06 +0000 (04:06 +0000)]
placing .align after the function start is crazy. other things are ensuring
this function is at the start of the section, there is no poing in potentially
stuffing nops into the sequence if things go wrong, it is better to fail hard.
ok guenther
cheloha [Tue, 25 Apr 2023 01:32:36 +0000 (01:32 +0000)]
prof_state_toggle: keep a count of CPUs with profiling enabled
On MULTIPROCESSOR systems, the following sequence of kgmon(8)
invocations leaves the statclock() frequency at stathz when there is
still a CPU on the system where the gmon state is GMON_PROF_ON:
# kgmon -c 0 -b
# kgmon -c 1 -b
# kgmon -c 0 -h
The problem is that we aren't counting CPUs with profiling enabled.
Add "gmon_cpu_count" to keep a count. Call startprofclock() for the
first CPU to enable profiling and stopprofclock() for the last CPU to
disable profiling.
cheloha [Tue, 25 Apr 2023 00:58:47 +0000 (00:58 +0000)]
addupc_intr: support adding multiple profiling ticks at once
Add a third parameter to addupc_intr(), "u_long nticks". This will
allow us to credit more than one profiling tick to the thread at once.
Should be useful in the unusual case where the clock interrupt is
masked for an extended period.
tb [Mon, 24 Apr 2023 22:30:17 +0000 (22:30 +0000)]
Future users of libcrypto will also have to do without strong extranet
support.
discussed with beck and jsing
tb [Mon, 24 Apr 2023 22:24:39 +0000 (22:24 +0000)]
Mark NETSCAPE_CERT_SEQUENCE for removal
discussed with beck and jsing
tb [Mon, 24 Apr 2023 22:12:28 +0000 (22:12 +0000)]
Mark the NDEF API for removal
Discussed with jsing and beck
kettenis [Mon, 24 Apr 2023 22:06:05 +0000 (22:06 +0000)]
Since ENTRY() already inserts a BTI instructions so don't add another one.
ok patrick@
claudio [Mon, 24 Apr 2023 17:11:33 +0000 (17:11 +0000)]
If the two mfts in mft_compare() are the same do not prefer the
first (DIR_VALID) but perfer the 2nd (DIR_TEMP) since this allows
rpki-client to move the equal files from .rrdp back into the valid
repo tree and so there are less unaccounted files for.
Problem noticed by and OK job@
krw [Mon, 24 Apr 2023 17:07:33 +0000 (17:07 +0000)]
Replace the only two uses of disklabel template files with 'echo "/ *"'.
No functional change.
ok kn@
tb [Mon, 24 Apr 2023 16:55:06 +0000 (16:55 +0000)]
Free and calloc() the tlsext_build_order and remember its length
Aligns tlsext_randomize_build_order() with tlsext_linearize_build_order()
and will help regression testing.
ok jsing
dv [Mon, 24 Apr 2023 16:53:57 +0000 (16:53 +0000)]
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.
ok marlkin@