openbsd
12 days agoAdd pinctrl support.
kettenis [Thu, 17 Oct 2024 17:58:58 +0000 (17:58 +0000)]
Add pinctrl support.

ok patrick@, phessler@

12 days agoSwitch pane-colors and cursor-style options to be in alphabetical order,
nicm [Thu, 17 Oct 2024 17:22:01 +0000 (17:22 +0000)]
Switch pane-colors and cursor-style options to be in alphabetical order,
from Teubel Gyorgy, GitHub issue 4191.

12 days agoAllow attributes in menu style, from Japin Li in GitHub issue 4194.
nicm [Thu, 17 Oct 2024 17:10:41 +0000 (17:10 +0000)]
Allow attributes in menu style, from Japin Li in GitHub issue 4194.

12 days agoRemove a lot of #include stanzas which used to be required by code found in
miod [Thu, 17 Oct 2024 15:52:30 +0000 (15:52 +0000)]
Remove a lot of #include stanzas which used to be required by code found in
this file at some point, but such code now lies comfortably in the Attic.

ok jsg@ mpi@

12 days agocreate_tempfile: pass pointer to full pathname to strlcat()
millert [Thu, 17 Oct 2024 15:38:38 +0000 (15:38 +0000)]
create_tempfile: pass pointer to full pathname to strlcat()

Fixes a potential buffer overrun.  Also check strlcpy() and strlcat()
return value to detect truncations.  Based on a diff from naddy@.
OK naddy@ tb@ deraadt@

12 days agoSplit ec_asn1_parameters2group() into digestible pieces
tb [Thu, 17 Oct 2024 14:34:06 +0000 (14:34 +0000)]
Split ec_asn1_parameters2group() into digestible pieces

This becomes a simple wrapper function that currently does three checks:

1. ensure the fieldID is for a prime field

2. check that the purported prime is of reasonable size, extract and
   set curve coefficients and point conversion form

3. extract and set generator, order, cofactor and seed.

Sanity checks such as the Hasse bound are dealt with in the EC_GROUP API,
so need not be repeated here. They will become redundant once we enforce
that the parameters represent a builtin curve anyway.

ok jsing

12 days agoProvide crypto_cpu_caps_init() as a CPU capability detection entry point.
jsing [Thu, 17 Oct 2024 14:27:57 +0000 (14:27 +0000)]
Provide crypto_cpu_caps_init() as a CPU capability detection entry point.

This can be overridden on a per-architecture basis. The default version
calls OPENSSL_cpuid_setup(), which will be eventually replaced/removed.

ok joshua@ tb@

12 days agoRemove run once code from OPENSSL_cpuid_setup().
jsing [Thu, 17 Oct 2024 14:09:29 +0000 (14:09 +0000)]
Remove run once code from OPENSSL_cpuid_setup().

OPENSSL_cpuid_setup() is no longer exported and is now only ever run under
pthread_once().

ok joshua@ tb@

12 days agoShortcut cursig when called during sleep setup.
claudio [Thu, 17 Oct 2024 09:11:35 +0000 (09:11 +0000)]
Shortcut cursig when called during sleep setup.

Add deep flag as function argument which is used by the sleep API but
nowhere else. Both calls to sleep_signal_check() should skip the ugly
bits of cursig().

In cursig() if deep once it is clear a signal will be taken keep the
signal on the thread siglist and return. sleep_signal_check() will then
return EINTR or ERESTART based on the signal context.  There is no reason
to do more in this special case. Especially stop/cont and the ptrace trap
must be skipped here. Once the call makes it to userret the signal will be
picked up again and handled in a safe location.

Stopping singals need some additional logic since we don't want to abort
the sleep just to stop a process. Since our SIGSTOP handling requires
a major rewrite this will be posponed until then.

OK mpi@

12 days agoregen
dlg [Thu, 17 Oct 2024 08:22:53 +0000 (08:22 +0000)]
regen

12 days agoKingston SNV2S nvme device
dlg [Thu, 17 Oct 2024 08:22:34 +0000 (08:22 +0000)]
Kingston SNV2S nvme device

12 days agoregen
dlg [Thu, 17 Oct 2024 08:21:51 +0000 (08:21 +0000)]
regen

12 days agoampere altra pci ports
dlg [Thu, 17 Oct 2024 08:21:23 +0000 (08:21 +0000)]
ampere altra pci ports

12 days agolibssl: rework cert signature security level
tb [Thu, 17 Oct 2024 06:19:06 +0000 (06:19 +0000)]
libssl: rework cert signature security level

This switches to using the X509_get_signature_info() API instead of hand
rolling a part of it. This is slightly tangly since the security level API
is strange. In particular, some failures are passed to the security level
callback so that applications can override them.

This makes the security level API handle RSA-PSS and EdDSA certificates
correctly and the handshake with such can progress a bit further. Of note,
we check that the certs are actually suitable for use in TLS per RFC 8446
contrary to what OpenSSL does.

ok beck jsing

12 days agoremove unneeded task.h include, missed in rev 1.67
jsg [Thu, 17 Oct 2024 05:37:54 +0000 (05:37 +0000)]
remove unneeded task.h include, missed in rev 1.67

12 days agoinclude <dev/ic/bcm2835_dmac.h> not "dev/ic/bcm2835_dmac.h"
jsg [Thu, 17 Oct 2024 05:10:53 +0000 (05:10 +0000)]
include <dev/ic/bcm2835_dmac.h> not "dev/ic/bcm2835_dmac.h"

12 days agoremove unneeded if_wg.h and pfsync.h includes
jsg [Thu, 17 Oct 2024 05:02:12 +0000 (05:02 +0000)]
remove unneeded if_wg.h and pfsync.h includes

13 days agouse <machine/asm.h> not "machine/asm.h", for consistency
jsg [Thu, 17 Oct 2024 02:20:53 +0000 (02:20 +0000)]
use <machine/asm.h> not "machine/asm.h", for consistency

13 days agoremove unneeded includes
jsg [Thu, 17 Oct 2024 01:57:18 +0000 (01:57 +0000)]
remove unneeded includes

13 days agoEC ASN.1: add reminder that the simple method might also want testing
tb [Wed, 16 Oct 2024 23:58:25 +0000 (23:58 +0000)]
EC ASN.1: add reminder that the simple method might also want testing

13 days agoImplement Wei25519 to exercise some more elliptic curve code
tb [Wed, 16 Oct 2024 23:49:49 +0000 (23:49 +0000)]
Implement Wei25519 to exercise some more elliptic curve code

This provides a non-trivial non-builtin curve that is unlikely to ever
become a builtin curve. This exercises the cofactor guessing code and
and ensures that things work as far as they can with a custom OID. The
main reason for adding it is to have a "real-world" example for an
upcoming check that EC parameters represent a builtin curve.

13 days agoa.out is no longer the commonly encountered binary file format, the world has
miod [Wed, 16 Oct 2024 18:47:47 +0000 (18:47 +0000)]
a.out is no longer the commonly encountered binary file format, the world has
moved to ELF.

Move the a.out specific defines and macros, but the MID_xxx values, from
<sys/exec.h> to <a.out.h>, and update the few userland binaries which really
need these defines (i.e. boot-related tools for old architectures) to
explicitly include <a.out.h> when needed.

"Fine" deraadt@

13 days agoDeliver SIGTRAP, rather than SIGEMT, when a TADDccTV or TSUBccTV instruction
miod [Wed, 16 Oct 2024 18:43:42 +0000 (18:43 +0000)]
Deliver SIGTRAP, rather than SIGEMT, when a TADDccTV or TSUBccTV instruction
traps. Such instructions are deprecated in v9 (64-bit) code and should never
occur in real-life code. See v9 manual A.59 and A.60 for details.
CVS ----------------------------------------------------------------------

13 days agoDeliver SIGTRAP, rather than SIGEMT, for trap instructions which are neither
miod [Wed, 16 Oct 2024 18:40:52 +0000 (18:40 +0000)]
Deliver SIGTRAP, rather than SIGEMT, for trap instructions which are neither
debugger breakpoints nor compiler-generated divide by zero reports.

SIGEMT is a historical curiosity which makes no sense nowadays except on
PDP-11 and VAX hardware.

Discussed with imp@ and visa@ long ago.

13 days agocut tun_init() out, it does pointless work.
dlg [Wed, 16 Oct 2024 11:12:31 +0000 (11:12 +0000)]
cut tun_init() out, it does pointless work.

tun_init turns interface/stack config into a set of flags that
tun(4) keeps in tun_softc sc_flags, but never uses.

ok miod@ kn@

13 days agoremove SIOCSIFDSTADDR from the network ioctls.
dlg [Wed, 16 Oct 2024 11:03:55 +0000 (11:03 +0000)]
remove SIOCSIFDSTADDR from the network ioctls.

netintro says it's deprecated, and most of our other drivers are
doing fine without it.

ok miod@ kn@ patrick@

13 days agorpki-client: sprinkle some const
tb [Wed, 16 Oct 2024 06:09:45 +0000 (06:09 +0000)]
rpki-client: sprinkle some const

EVP_PKEY_get0_* were made const correct in OpenSSL 3 and now cause the
build of rpki-client to emit warnings. Of course no one is able to see
these warnings because they are hidden in all the deprecation vomit.

Makes rpki-client build cleanly against OpenSSL 3 when configured with
--with-openssl-cflags=-DOPENSSL_SUPPRESS_DEPRECATED.

ok claudio deraadt job

2 weeks agoremove unneeded frame.h and riscvreg.h includes
jsg [Wed, 16 Oct 2024 02:32:27 +0000 (02:32 +0000)]
remove unneeded frame.h and riscvreg.h includes

2 weeks agorpki-client/openssl: eliminate pointless OpenSSL deprecation vomit
tb [Tue, 15 Oct 2024 21:03:10 +0000 (21:03 +0000)]
rpki-client/openssl: eliminate pointless OpenSSL deprecation vomit

2 weeks agorust-openssl: set resolver="2" for workspace
tb [Tue, 15 Oct 2024 19:41:24 +0000 (19:41 +0000)]
rust-openssl: set resolver="2" for workspace

silences an annoying warning

2 weeks agoUnindent error check in EC_GROUP_set_generator()
tb [Tue, 15 Oct 2024 17:44:43 +0000 (17:44 +0000)]
Unindent error check in EC_GROUP_set_generator()

2 weeks agoEnable sig-stop3 regress test. It should no longer fail now.
claudio [Tue, 15 Oct 2024 15:06:25 +0000 (15:06 +0000)]
Enable sig-stop3 regress test. It should no longer fail now.

2 weeks agoAdd PS_STOPPED to the flags
claudio [Tue, 15 Oct 2024 13:49:49 +0000 (13:49 +0000)]
Add PS_STOPPED to the flags

2 weeks agoIndicate that a process has stopped by setting PS_STOPPED flag
claudio [Tue, 15 Oct 2024 13:49:26 +0000 (13:49 +0000)]
Indicate that a process has stopped by setting PS_STOPPED flag

The checks in dowait6 and orphanpg using ps_mainproc are flawed and
fail if the mainproc called pthread_exit before the other threads.
Adding the flag in proc_stop_sweep is racy but the best we have right now.
This fixes regress/sys/kern/signal/sig-stop3.

OK mpi@

2 weeks agoFix runtime calculation. Assiging ts to spc_runtime does not work if ts
claudio [Tue, 15 Oct 2024 12:26:53 +0000 (12:26 +0000)]
Fix runtime calculation. Assiging ts to spc_runtime does not work if ts
is modified.
OK tb@ jca@

2 weeks agoUse pr instead of p->p_p like everywhere else in exit1.
claudio [Tue, 15 Oct 2024 11:54:07 +0000 (11:54 +0000)]
Use pr instead of p->p_p like everywhere else in exit1.

2 weeks agoremove unneeded pte.h include
jsg [Tue, 15 Oct 2024 09:16:39 +0000 (09:16 +0000)]
remove unneeded pte.h include

2 weeks agoSwitch ec_asn1_group2parameters() to get0_{order,cofactor}()
tb [Tue, 15 Oct 2024 06:35:59 +0000 (06:35 +0000)]
Switch ec_asn1_group2parameters() to get0_{order,cofactor}()

These are more ergonomic, result in more readable code, avoid a copy and
we no longer ignore a possible memory allocation error due to API misdesign
and bad code.

ok jsing

2 weeks agoProvide EC_GROUP_get0_cofactor() for internal use
tb [Tue, 15 Oct 2024 06:27:43 +0000 (06:27 +0000)]
Provide EC_GROUP_get0_cofactor() for internal use

While this is public API in OpenSSL, there are no plans to expose it.

ok jsing

2 weeks agoremove struct arpreq from net/if_arp.h
jsg [Tue, 15 Oct 2024 00:41:40 +0000 (00:41 +0000)]
remove struct arpreq from net/if_arp.h

unused since "rewrite to merge arp and routing tables"
in CSRG if_ether.c 7.14 (Berkeley) 06/25/91

used by SIOCSARP, SIOCGARP, SIOCDARP, OSIOCGARP ioctls in Net/2
which were removed before 4.4BSD-Lite

ok sthen@ who tested this with a ports build

2 weeks agogrow i386 media a bit
deraadt [Tue, 15 Oct 2024 00:08:27 +0000 (00:08 +0000)]
grow i386 media a bit

2 weeks agomention SshdAuthPath option; ok djm@
naddy [Mon, 14 Oct 2024 23:53:34 +0000 (23:53 +0000)]
mention SshdAuthPath option; ok djm@

2 weeks agoSet ACS flag for REP. Reported by Romain Francoise, GitHub issue 4182.
nicm [Mon, 14 Oct 2024 20:26:45 +0000 (20:26 +0000)]
Set ACS flag for REP. Reported by Romain Francoise, GitHub issue 4182.

2 weeks agoMake NULL checks in ec_asn1_group2curve() explicit
tb [Mon, 14 Oct 2024 18:17:11 +0000 (18:17 +0000)]
Make NULL checks in ec_asn1_group2curve() explicit

2 weeks agoExtend ec_asn1_test to check for correct curve coefficient encoding
tb [Mon, 14 Oct 2024 13:16:06 +0000 (13:16 +0000)]
Extend ec_asn1_test to check for correct curve coefficient encoding

2 weeks agoFix field element encoding for elliptic curve coefficients
tb [Mon, 14 Oct 2024 12:50:18 +0000 (12:50 +0000)]
Fix field element encoding for elliptic curve coefficients

SEC 1, section 2.3.5, is explicit that the encoding of an element of the
field of definition for an elliptic curve needs to be a zero-padded octet
string whose length matches the byte size of the field's degree. So use
BN_bn2binpad() to fix this. Factor things into a simple helper to avoid
copy-pasting.

This gets rid of some of the most grotesque code in this file.

ok jsing

2 weeks agoDrop an obvious comment and fix indent for setting the seed
tb [Mon, 14 Oct 2024 12:42:52 +0000 (12:42 +0000)]
Drop an obvious comment and fix indent for setting the seed

Also remove a pointless cast.

ok jsing

2 weeks agoIn ec_asn1_group2curve() rename ok to ret, per usual
tb [Mon, 14 Oct 2024 12:38:11 +0000 (12:38 +0000)]
In ec_asn1_group2curve() rename ok to ret, per usual

ok jsing

2 weeks agoremove unneeded vmparam.h include from pte.h
jsg [Mon, 14 Oct 2024 12:02:16 +0000 (12:02 +0000)]
remove unneeded vmparam.h include from pte.h
include vmparam.h in process_machdep for USER_SPACE_BITS

2 weeks agoFix build w/o SUSPEND option
jan [Mon, 14 Oct 2024 11:49:34 +0000 (11:49 +0000)]
Fix build w/o SUSPEND option

with tweaks from miod@

ok miod@

2 weeks agoremove unneeded device.h include
jsg [Mon, 14 Oct 2024 10:08:13 +0000 (10:08 +0000)]
remove unneeded device.h include

2 weeks agoremove unused struct sigstate; ok miod@
jsg [Mon, 14 Oct 2024 08:42:39 +0000 (08:42 +0000)]
remove unused struct sigstate; ok miod@

2 weeks agoremove duplicate includes and license; feedback and ok miod@
jsg [Mon, 14 Oct 2024 08:26:48 +0000 (08:26 +0000)]
remove duplicate includes and license; feedback and ok miod@

2 weeks agoremove notes about unsupported modifiers; from nir lichtman
jmc [Mon, 14 Oct 2024 07:05:23 +0000 (07:05 +0000)]
remove notes about unsupported modifiers; from nir lichtman
confirmed by miod

2 weeks agoregress support for split sshd-auth binary
djm [Mon, 14 Oct 2024 03:02:08 +0000 (03:02 +0000)]
regress support for split sshd-auth binary

2 weeks agosshd-auth also has a relink kit
deraadt [Mon, 14 Oct 2024 02:46:50 +0000 (02:46 +0000)]
sshd-auth also has a relink kit

2 weeks agosync
deraadt [Mon, 14 Oct 2024 02:45:44 +0000 (02:45 +0000)]
sync

2 weeks agochange mutex.h include to rwlock.h
jsg [Mon, 14 Oct 2024 02:20:01 +0000 (02:20 +0000)]
change mutex.h include to rwlock.h

missed when dh_mtx changed from mutex to rwlock in rev 1.6

2 weeks agoSplit per-connection sshd-session binary
djm [Mon, 14 Oct 2024 01:57:50 +0000 (01:57 +0000)]
Split per-connection sshd-session binary

This splits the user authentication code from the sshd-session
binary into a separate sshd-auth binary. This will be executed by
sshd-session to complete the user authentication phase of the
protocol only.

Splitting this code into a separate binary ensures that the crucial
pre-authentication attack surface has an entirely disjoint address
space from the code used for the rest of the connection. It also
yields a small runtime memory saving as the authentication code will
be unloaded after thhe authentication phase completes.

Joint work with markus@ feedback deraadt@

Tested in snaps since last week

2 weeks agoremove unneeded proc.h include
jsg [Mon, 14 Oct 2024 00:47:36 +0000 (00:47 +0000)]
remove unneeded proc.h include

2 weeks agodon't start the ObscureKeystrokeTiming mitigations if there has been
djm [Sun, 13 Oct 2024 22:20:06 +0000 (22:20 +0000)]
don't start the ObscureKeystrokeTiming mitigations if there has been
traffic on a X11 forwarding channel recently.

Should fix X11 forwarding performance problems when this setting is
enabled. Patch from Antonio Larrosa via bz3655

2 weeks agobyt -> but; ok tb@
jsg [Sun, 13 Oct 2024 08:25:09 +0000 (08:25 +0000)]
byt -> but; ok tb@

2 weeks agoinclude stdio.h for sscanf() snprintf()
jsg [Sun, 13 Oct 2024 03:35:59 +0000 (03:35 +0000)]
include stdio.h for sscanf() snprintf()

2 weeks agoremove unneeded timeout.h include
jsg [Sun, 13 Oct 2024 02:27:44 +0000 (02:27 +0000)]
remove unneeded timeout.h include

2 weeks agoremove unneeded limits.h and errno.h includes
jsg [Sun, 13 Oct 2024 00:53:21 +0000 (00:53 +0000)]
remove unneeded limits.h and errno.h includes

2 weeks agoBe more eager to install qcpas firmware (more pattern matches)
deraadt [Sun, 13 Oct 2024 00:00:41 +0000 (00:00 +0000)]
Be more eager to install qcpas firmware (more pattern matches)

2 weeks agoMake fw_update -a mean all
afresh1 [Sat, 12 Oct 2024 23:56:23 +0000 (23:56 +0000)]
Make fw_update -a mean all

When downloading or installing, not just deleting.

Noticed by Paul de Weerd
Help with manual wording from jmc@
Just fix -a, deraadt@

2 weeks agoremove unneeded rwlock.h include
jsg [Sat, 12 Oct 2024 23:31:14 +0000 (23:31 +0000)]
remove unneeded rwlock.h include

2 weeks agoremove unneeded time.h include
jsg [Sat, 12 Oct 2024 23:18:10 +0000 (23:18 +0000)]
remove unneeded time.h include

2 weeks agoremove unneeded percpu.h include
jsg [Sat, 12 Oct 2024 23:10:07 +0000 (23:10 +0000)]
remove unneeded percpu.h include

2 weeks agoExercise the EC parameters code a bit more
tb [Sat, 12 Oct 2024 16:15:28 +0000 (16:15 +0000)]
Exercise the EC parameters code a bit more

Ensure all builtin curves can be roundtripped through DER as named curves,
via explicit parameterization, using uncompressed, compressed and hybrid
point formats.

2 weeks agoremove blank line;
jmc [Sat, 12 Oct 2024 15:40:36 +0000 (15:40 +0000)]
remove blank line;

2 weeks agoremove duplicate misc.h include
jsg [Sat, 12 Oct 2024 10:50:37 +0000 (10:50 +0000)]
remove duplicate misc.h include
ok dtucker@

2 weeks agoCall realpath on the source file to match -f on the command line, GitHub
nicm [Sat, 12 Oct 2024 08:20:32 +0000 (08:20 +0000)]
Call realpath on the source file to match -f on the command line, GitHub
issue 4180.

2 weeks agoDo not rename a buffer to itself, GitHub issue 4181.
nicm [Sat, 12 Oct 2024 08:13:52 +0000 (08:13 +0000)]
Do not rename a buffer to itself, GitHub issue 4181.

2 weeks agoremove duplicate unistd.h include
jsg [Sat, 12 Oct 2024 07:58:40 +0000 (07:58 +0000)]
remove duplicate unistd.h include

2 weeks agointroduce a new build class to be used by the build user
robert [Sat, 12 Oct 2024 07:36:52 +0000 (07:36 +0000)]
introduce a new build class to be used by the build user

this class will be required for the upcoming llvm update
that requires bumped datasize because of llvm-tblgen

ok deraadt@

2 weeks agoremove vmparam.h include
jsg [Sat, 12 Oct 2024 07:30:20 +0000 (07:30 +0000)]
remove vmparam.h include

not required since VM_PHYSSEG_MAX changed to HIB_PHYSSEG_MAX in rev 1.45

2 weeks agoRemove unnecessary str variable in ssl_stat.c
tb [Sat, 12 Oct 2024 03:54:18 +0000 (03:54 +0000)]
Remove unnecessary str variable in ssl_stat.c

Drop about 1/4 of the lines in here by avoiding the use of a variable.
For some reason the API in this file made me go listen to Pow R. Toc H.
All of a sudden the lyrics made sense. I should probably be worried.

ok beck jsing

2 weeks agoUse a and b for the curve coefficients
tb [Fri, 11 Oct 2024 18:58:04 +0000 (18:58 +0000)]
Use a and b for the curve coefficients

No idea how anyone would think that tmp_1 and tmp_2 are better suited for
this.

ok jsing

2 weeks agoClean up ec_asn1_group2fieldid()
tb [Fri, 11 Oct 2024 18:55:44 +0000 (18:55 +0000)]
Clean up ec_asn1_group2fieldid()

This drops some unnecessary freeing that was turned into a double free
reachable via public API in OpenSSL 1.1. Other than that it unindents
code and uses better variable names.

ok jsing

2 weeks agoFix a long-standing bug in ec_asn1_group2pkparameters()
tb [Fri, 11 Oct 2024 18:35:39 +0000 (18:35 +0000)]
Fix a long-standing bug in ec_asn1_group2pkparameters()

Only check for the OPENSSL_EC_NAMED_CURVE being set to treat the curve
parameters as named curve parameters.

ok jsing

2 weeks agoUse defines for the CHOICE variants of ECPKPARAMETERS
tb [Fri, 11 Oct 2024 18:34:20 +0000 (18:34 +0000)]
Use defines for the CHOICE variants of ECPKPARAMETERS

ok jsing

2 weeks agoRemove NULL check in ec_asn1_pkparameters2group()
tb [Fri, 11 Oct 2024 18:32:03 +0000 (18:32 +0000)]
Remove NULL check in ec_asn1_pkparameters2group()

The callers already ensure that params != NULL.

ok jsing

2 weeks agoUse better variable names in ec_asn1_pkparameters2group()
tb [Fri, 11 Oct 2024 18:30:58 +0000 (18:30 +0000)]
Use better variable names in ec_asn1_pkparameters2group()

ok jsing

2 weeks agoFirst cleanup pass over ec_asn1_group2pkparameters()
tb [Fri, 11 Oct 2024 18:18:10 +0000 (18:18 +0000)]
First cleanup pass over ec_asn1_group2pkparameters()

Use better variable names and do things in a slightly more sensible order.
This way the code becomes almost self-documenting.

ok jsing

2 weeks agoThe fw keys have been added to the signify key bundles. sysupgrade will
deraadt [Fri, 11 Oct 2024 14:12:05 +0000 (14:12 +0000)]
The fw keys have been added to the signify key bundles.  sysupgrade will
now extract the fw key also, so that pre-upgrade fw_update can fetch
the most uptodate firmware.
ok sthen

2 weeks agoerr.c: zap stray space
tb [Fri, 11 Oct 2024 13:32:22 +0000 (13:32 +0000)]
err.c: zap stray space

2 weeks agoApply some style(9) and tidy some comments.
jsing [Fri, 11 Oct 2024 12:40:25 +0000 (12:40 +0000)]
Apply some style(9) and tidy some comments.

2 weeks agoRemove pointless locking from err_build_SYS_str_reasons().
jsing [Fri, 11 Oct 2024 12:27:24 +0000 (12:27 +0000)]
Remove pointless locking from err_build_SYS_str_reasons().

err_build_SYS_str_reasons() is only called during initialisation, under
pthread_once(). As such, there is no need to grab CRYPTO_LOCK_ERR or
check for reentrant calls.

ok tb@

2 weeks agoConvert err_clear_data() and err_clear() from macros to functions.
jsing [Fri, 11 Oct 2024 12:25:05 +0000 (12:25 +0000)]
Convert err_clear_data() and err_clear() from macros to functions.

ok tb@

2 weeks agoRemove unused typedef for ERR_FNS.
jsing [Fri, 11 Oct 2024 12:20:06 +0000 (12:20 +0000)]
Remove unused typedef for ERR_FNS.

2 weeks agoAdd err_ prefix to build_SYS_str_reasons().
jsing [Fri, 11 Oct 2024 12:19:35 +0000 (12:19 +0000)]
Add err_ prefix to build_SYS_str_reasons().

2 weeks agoMake ERR_str_{libraries,reasons,functs}[] const.
jsing [Fri, 11 Oct 2024 12:10:12 +0000 (12:10 +0000)]
Make ERR_str_{libraries,reasons,functs}[] const.

Provide err_load_const_strings(), which takes a const ERR_STRING_DATA *
and does not perform a library error value fixup. Make ERR_str_*[] tables
const.

ok tb@

2 weeks agoAdd ERR_LIB_SYS to the error values in ERR_str_functs[].
jsing [Fri, 11 Oct 2024 11:58:53 +0000 (11:58 +0000)]
Add ERR_LIB_SYS to the error values in ERR_str_functs[].

This is currently added via err_load_strings(), which means
ERR_str_functs[] cannot be made const. Adding ERR_LIB_SYS means the fixup
becomes unnecessary.

ok tb@

2 weeks agoRevert ehci(4) bits in the previous commit. Apparently 64-bit DMA is broken
kettenis [Fri, 11 Oct 2024 09:55:24 +0000 (09:55 +0000)]
Revert ehci(4) bits in the previous commit.  Apparently 64-bit DMA is broken
in (almost?) all ehci(4) controllers.

2 weeks agoAdd error regress coverage for ERR_LIB_SYS.
jsing [Fri, 11 Oct 2024 07:54:22 +0000 (07:54 +0000)]
Add error regress coverage for ERR_LIB_SYS.

These are dynamically populated based on strerror() values.

2 weeks agoRemove params argument from ec_asn1_group2parameters()
tb [Fri, 11 Oct 2024 06:21:30 +0000 (06:21 +0000)]
Remove params argument from ec_asn1_group2parameters()

Its only caller passes NULL, so we can simplify the entry point and the
exit of this function a bit.

ok jsing

2 weeks agoSimplify ec_asn1_group2pkparameters()
tb [Fri, 11 Oct 2024 06:19:52 +0000 (06:19 +0000)]
Simplify ec_asn1_group2pkparameters()

The parameters argument is always NULL, so we can simplify this helper
accordingly.

ok jsing

2 weeks agoSpell NULL in a simpler fashion
tb [Fri, 11 Oct 2024 06:18:40 +0000 (06:18 +0000)]
Spell NULL in a simpler fashion

priv_key->parameters is always NULL at this point, since its corresponding
entry in the ASN.1 template has ASN1_TFLG_OPTIONAL set, so there is no point
in pretending to pass it to ec_asn1_group2pkparameters().

ok jsing