openbsd
12 months agoDrop a useless line and bump copyright years
tb [Tue, 7 Nov 2023 16:56:12 +0000 (16:56 +0000)]
Drop a useless line and bump copyright years

12 months agoUnwrap a few lines
tb [Tue, 7 Nov 2023 16:54:43 +0000 (16:54 +0000)]
Unwrap a few lines

12 months agoWrap hex.DecodeString() into mustDecodeHexString()
tb [Tue, 7 Nov 2023 16:46:12 +0000 (16:46 +0000)]
Wrap hex.DecodeString() into mustDecodeHexString()

The hex decoding is only done from the JSON files provided by the
wycheproof-testvectors package. Failure is always fatal. So there
is no need for repeated error checks, and we can use an ergonomic
wrapper.

Also rework the calculation of the message digest from input data
this had a similar deficit.

All in all this shaves off about 10% of the code and removes a lot
of tedious repetition.

12 months agoUse maps to retrieve various AES variants
tb [Tue, 7 Nov 2023 16:37:02 +0000 (16:37 +0000)]
Use maps to retrieve various AES variants

12 months agoConvert hashEvpMdFromString() to a map
tb [Tue, 7 Nov 2023 16:35:55 +0000 (16:35 +0000)]
Convert hashEvpMdFromString() to a map

12 months agoAdd stringer interfaces to the test groups
tb [Tue, 7 Nov 2023 16:27:56 +0000 (16:27 +0000)]
Add stringer interfaces to the test groups

This simplifies and unifies a lot of error messages.

12 months agoInline rsa_ctx_to_pss_string()
tb [Tue, 7 Nov 2023 16:22:04 +0000 (16:22 +0000)]
Inline rsa_ctx_to_pss_string()

After previous refactoring, rsa_all_set_pss_padding() is the last remaining
caller of the weirdly named and ugly rsa_all_set_pss_padding(). This can be
handled in a few simple lines now that this mess has slightly cleaner code.

12 months agoRename pkctx to pkey_ctx in rsa_{cms,item}_sign()
tb [Tue, 7 Nov 2023 16:12:36 +0000 (16:12 +0000)]
Rename pkctx to pkey_ctx in rsa_{cms,item}_sign()

12 months agoTrivial cleanup in rsa_cms_sign()
tb [Tue, 7 Nov 2023 16:09:13 +0000 (16:09 +0000)]
Trivial cleanup in rsa_cms_sign()

Check and assign the EVP_PKEY_CTX and move the extraction of the algorithm
identifier from the signer info a few lines down.

12 months agoRework RSA_PKCS1_PSS_PADDING handling in rsa_item_sign()
tb [Tue, 7 Nov 2023 16:04:12 +0000 (16:04 +0000)]
Rework RSA_PKCS1_PSS_PADDING handling in rsa_item_sign()

The current convoluted mess can be handled with two calls to the new
rsa_alg_set_pss_padding() helper. Not that this would be obvious at
all.

This fixes two more leaks in case of X509_ALGOR_set0() failure.

ok jsing

12 months agoAdd a helper to set RSASSA-PSS padding parameters
tb [Tue, 7 Nov 2023 15:59:29 +0000 (15:59 +0000)]
Add a helper to set RSASSA-PSS padding parameters

This sets the AlgorithmIdentifier's algorithm to id-RSASSA-PSS with
appropriate RSASSA-PSS parameters. This pulls a chunk of code out of
rsa_cms_sign() and rewrites it with proper error checking, thereby
fixing a long-standing leak.

This helper can also be used in rsa_item_sign(), but that part is a
bit special, and will therefore be commmitted separately.

ok jsing

12 months agoAdd a helper to set RSA PKCS #1 v1.5 padding OID
tb [Tue, 7 Nov 2023 15:45:41 +0000 (15:45 +0000)]
Add a helper to set RSA PKCS #1 v1.5 padding OID

This removes a few duplicated and unchecked X509_ALGOR_set0() calls and
factors them into a helper function that sets the AlgorithmIdentifier on
the recipient info or signer info to rsaEncryption with null parameters.

ok jsing

12 months agoiface->auth_key is not a real C string so use strnlen() to define the maximum.
claudio [Tue, 7 Nov 2023 11:29:05 +0000 (11:29 +0000)]
iface->auth_key is not a real C string so use strnlen() to define the maximum.

This fixes the use of 8 char passwords with auth simple.
Reported by Laurent CARON (lcaron at unix-scripts info)
OK tb@

12 months agoRename struct imsgbuf *ibuf to *imsgbuf in all places.
claudio [Tue, 7 Nov 2023 11:18:35 +0000 (11:18 +0000)]
Rename struct imsgbuf *ibuf to *imsgbuf in all places.
ibuf should be reserved for struct ibuf * values.
OK tb@

12 months agoAlter imsg_move() to clear the full imsg buffer instead of just the
claudio [Tue, 7 Nov 2023 11:17:35 +0000 (11:17 +0000)]
Alter imsg_move() to clear the full imsg buffer instead of just the
imsg->data field. This is needed for future imsg API changes.
OK tb@

12 months agocomment out test that no longer makes sense, as noticed by anton
espie [Tue, 7 Nov 2023 07:40:50 +0000 (07:40 +0000)]
comment out test that no longer makes sense, as noticed by anton

12 months agosync
jca [Mon, 6 Nov 2023 21:00:05 +0000 (21:00 +0000)]
sync

12 months agoProvide machine/apmvar.h on riscv64 too
jca [Mon, 6 Nov 2023 20:59:26 +0000 (20:59 +0000)]
Provide machine/apmvar.h on riscv64 too

OpenBSD/riscv64 doesn't provide suspend/resume or battery support yet,
but some ports need this interface at build time, so provide it.

ok phessler@

12 months agoPull everything except the actual run call out of the closure
tb [Mon, 6 Nov 2023 15:21:44 +0000 (15:21 +0000)]
Pull everything except the actual run call out of the closure

The determination of the test group type and the JSON unmarshalling can be
done before the closure without performance impact. This is more readable
and eliminates the need of a temporary variable again.

Suggested by jsing

12 months agoIntroduce testGroupFromAlgorithm()
tb [Mon, 6 Nov 2023 15:17:02 +0000 (15:17 +0000)]
Introduce testGroupFromAlgorithm()

This factors another ugly switch into a helper function. This should
probably become a map eventually, but for now keep things straightforward.

12 months agoAdd a wycheproofTestGroupRunner interface
tb [Mon, 6 Nov 2023 15:14:52 +0000 (15:14 +0000)]
Add a wycheproofTestGroupRunner interface

This allows us to use a simpler way of running the individual test groups
and gets rid of an ugly mostly copy-pasted switch inside a closure.

12 months agoAdd aliases for AES AEAD constructions and ChaCha
tb [Mon, 6 Nov 2023 15:07:57 +0000 (15:07 +0000)]
Add aliases for AES AEAD constructions and ChaCha

These used the wycheproofTestGroupAead type but an upcoming change requires
to change this. Introduce the aliases now to make the next diff cleaner.

12 months agoFix a for loop bug introduced in the concurrency refactor
tb [Mon, 6 Nov 2023 14:50:12 +0000 (14:50 +0000)]
Fix a for loop bug introduced in the concurrency refactor

Due to Go's idiosyncratic semantics of for loops, tests would only run
some of the test groups in the JSON file because by the time the closure
is called, the array index could be changed. For example, on fast 8 core
machines, the CMAC tests would run the last test group with key size 320
eight times rather than each of the eight test groups once.

Make a copy of the pointer before passing it to the closure to avoid this
issue.

Simpler version of my initial fix from jsing

12 months agoUncomment json webcrypto line. Packages will have caught up...
tb [Mon, 6 Nov 2023 14:43:02 +0000 (14:43 +0000)]
Uncomment json webcrypto line. Packages will have caught up...

12 months agoeliminate discrepancies between termcap-generated info and infocmp results
espie [Mon, 6 Nov 2023 13:40:39 +0000 (13:40 +0000)]
eliminate discrepancies between termcap-generated info and infocmp results
(see user_caps(5))
also obviously protects the term name just in case someone wants to have
fun with it..

12 months agoHook up agentx-{Add,Remove}AgentCaps-PDU to appl_{add,remove}agentcaps.
martijn [Mon, 6 Nov 2023 11:04:41 +0000 (11:04 +0000)]
Hook up agentx-{Add,Remove}AgentCaps-PDU to appl_{add,remove}agentcaps.

OK tb@

12 months agoReadd the sysORTable based on the new struct appl_agentcap.
martijn [Mon, 6 Nov 2023 11:02:57 +0000 (11:02 +0000)]
Readd the sysORTable based on the new struct appl_agentcap.

OK tb@

12 months agoAllow agent capabilities to be stored on a per appl_context basis.
martijn [Mon, 6 Nov 2023 11:00:46 +0000 (11:00 +0000)]
Allow agent capabilities to be stored on a per appl_context basis.
This is needed for AgentX's {add,remove}agentcaps, and the sysORTable.

OK tb@

12 months agoAllow appl_internal_object's getnext to be called.
martijn [Mon, 6 Nov 2023 10:58:13 +0000 (10:58 +0000)]
Allow appl_internal_object's getnext to be called.

OK tb@

12 months agoMark a couple of tests as broken, now that the sysORTable is gone/empty.
martijn [Mon, 6 Nov 2023 09:46:04 +0000 (09:46 +0000)]
Mark a couple of tests as broken, now that the sysORTable is gone/empty.
Relying on the live snmpd(8) metrics is brittle and this regress test
should probably move to a custom agent in a similar fashion to the
custom manager from the snmpd(8) regress.

Pointed out by anton@

12 months agoavoid using MCS9 in iwm(4) Tx rate selection if 40 MHz is disabled
stsp [Mon, 6 Nov 2023 08:34:41 +0000 (08:34 +0000)]
avoid using MCS9 in iwm(4) Tx rate selection if 40 MHz is disabled

MCS9 is not valid on 20HMz so we must not use it in 20MHz-only mode.
Fixes firmware panic 0x00002078, which indicates the driver sets a rate
with a bad number of antennas, bad number of Tx streams, or bad bandwidth.

Observed by dlg@ with the miktrotik AP for which iwm(4) firmware requires
our 20MHz-only workaround to interoperate in 11ac mode.

ok dlg@

12 months agoactually, I still need to exit() if infocmp can't be run
espie [Mon, 6 Nov 2023 08:22:59 +0000 (08:22 +0000)]
actually, I still need to exit() if infocmp can't be run

12 months agosystem + exit -> exec
espie [Mon, 6 Nov 2023 08:21:43 +0000 (08:21 +0000)]
system + exit -> exec
as noticed by afresh1@
(this should be all for now)

12 months agosince we're always running info_cmp in the end, remove the whole
espie [Mon, 6 Nov 2023 08:20:51 +0000 (08:20 +0000)]
since we're always running info_cmp in the end, remove the whole
"in case of emergency run info_cmp block" (more efficient: we only
parse the entry we need). Keep the small part that creates a dumb terminal
on VMS, even though we're not running that.

Add an extra state check in the automaton to avoid skipping a tmp_term

12 months agosimplify logic for $entry in the main termcap loop
espie [Mon, 6 Nov 2023 08:14:36 +0000 (08:14 +0000)]
simplify logic for $entry in the main termcap loop

12 months agoalways try to run info_cmp at the end if we haven't got what we wanted
espie [Mon, 6 Nov 2023 08:13:01 +0000 (08:13 +0000)]
always try to run info_cmp at the end if we haven't got what we wanted
This allows terminals with only terminfo capabilities to show up in
Term::Cap (like kitty) !

12 months agosimplify $ENV{TERMCAP} handling: don't bother setting anything if
espie [Mon, 6 Nov 2023 08:11:11 +0000 (08:11 +0000)]
simplify $ENV{TERMCAP} handling: don't bother setting anything if
the variable doesn't exist

12 months agoinstead of a max number of iterations, record terms that have been seen
espie [Mon, 6 Nov 2023 08:08:49 +0000 (08:08 +0000)]
instead of a max number of iterations, record terms that have been seen
in a hash instead.
Side effect: we no longer parse the same tc again and again, leading
to a smaller result with the same capabilities but no duplicates.
(instead of parsing 36 entries for xterm, we end up with 10 entries, as
the "tc=" stuff is actually a tree instead of a list: xterm references
several intermediate tc that all lead to the same basic list !)

12 months agouse modern file open instead of GLOBS
espie [Mon, 6 Nov 2023 08:05:45 +0000 (08:05 +0000)]
use modern file open instead of GLOBS

12 months agoget rid of useless eval
espie [Mon, 6 Nov 2023 08:04:38 +0000 (08:04 +0000)]
get rid of useless eval
use \Q\E to quote stuff around tmp_term, instead of rolling our own
in termpat (get rid of termpat)

12 months agoremove upstream files we don't need
espie [Mon, 6 Nov 2023 07:59:22 +0000 (07:59 +0000)]
remove upstream files we don't need

12 months agoreapply max=64 for now
espie [Mon, 6 Nov 2023 07:58:47 +0000 (07:58 +0000)]
reapply max=64 for now

12 months agoupdate to Term::Cap 1.18, so that we can patch it further
espie [Mon, 6 Nov 2023 07:57:38 +0000 (07:57 +0000)]
update to Term::Cap 1.18, so that we can patch it further
as discussed with afresh1@

12 months agoProvide simpler cpu_number, CPU_INFO_UNIT and CPU_IS_XXX macros in the
miod [Sun, 5 Nov 2023 16:33:50 +0000 (16:33 +0000)]
Provide simpler cpu_number, CPU_INFO_UNIT and CPU_IS_XXX macros in the
non-MULTIPROCESSOR case, as done on all other platforms.

ok deraadt@ kettenis@

12 months agoAdd cdXX.iso to MDEXT, for it to be included in SHA256; reported by `petcat30'
miod [Sun, 5 Nov 2023 16:27:18 +0000 (16:27 +0000)]
Add cdXX.iso to MDEXT, for it to be included in SHA256; reported by `petcat30'
on bugs@.

12 months agocurrent code no longer uses Lst_Replace not Lst_Requeue
espie [Sun, 5 Nov 2023 11:22:59 +0000 (11:22 +0000)]
current code no longer uses Lst_Replace not Lst_Requeue
so don't bother compiling them.

12 months agofix bad path allocation in makeinfo
op [Sun, 5 Nov 2023 07:39:16 +0000 (07:39 +0000)]
fix bad path allocation in makeinfo

In one branch of the image handling, the wrong malloc() call was
copied-pasted making the allocation possibly smaller than needed.
Spotted while building the gcc11 port, libgccjit.info exercise that
branch and the write out of bounds was discovered by malloc().

Convert the malloc + strlcpy/cat dance to an asprintf, and while here
also fix the leak of the two paths.

ok tb@

12 months agoUse proper length in session_newmsg() for the RFC9072 case.
claudio [Sat, 4 Nov 2023 11:17:51 +0000 (11:17 +0000)]
Use proper length in session_newmsg() for the RFC9072 case.

Right now OpenBGPD can not produce so many capabilities that this
case is reached but still better to fix it now.
OK tb@

12 months agoKNF plus fixed a few signed vs unsigned compares (that we actually
otto [Sat, 4 Nov 2023 11:02:35 +0000 (11:02 +0000)]
KNF plus fixed a few signed vs unsigned compares (that we actually
not real problems)

12 months agoWith the move of SNMPv2-SMI::snmpV2 into application_internal.c, it's no
martijn [Sat, 4 Nov 2023 09:42:17 +0000 (09:42 +0000)]
With the move of SNMPv2-SMI::snmpV2 into application_internal.c, it's no
longer possible to register objects underneath this region. This
effectively made a few snmp(1) regress tests unusable, which essentially
don't belong here. Simply remove these tests.

12 months agoMove SNMPv2-MIB::system from mib.c into the new application_internal.c.
martijn [Sat, 4 Nov 2023 09:38:47 +0000 (09:38 +0000)]
Move SNMPv2-MIB::system from mib.c into the new application_internal.c.
This was the last consumer of mib.c, so send it to the great bitbucket
in the sky.

This move removes the sysORTable, but it was basically non-functioning
anyway and removal of previous entries from the table didn't caused
any fallout that reached my ears.
I hope to add proper sysORTable/agent-capabilities support, which
is compatible with AgentX's {Add,Remove}AgentCaps, soon.

OK tb@

12 months agoMove SNMPv2-SMI::snmpV2 from mib.c into the new application_internal.c
martijn [Sat, 4 Nov 2023 09:30:28 +0000 (09:30 +0000)]
Move SNMPv2-SMI::snmpV2 from mib.c into the new application_internal.c

OK tb@

12 months agoMove SNMPv2-MIB::snmp from mib.c into the new application_internal.c
martijn [Sat, 4 Nov 2023 09:28:04 +0000 (09:28 +0000)]
Move SNMPv2-MIB::snmp from mib.c into the new application_internal.c

OK tb@

12 months agoIntroduce application_internal.c. This backend is meant to replace
martijn [Sat, 4 Nov 2023 09:22:52 +0000 (09:22 +0000)]
Introduce application_internal.c. This backend is meant to replace
application_legacy.c, mps.c, and mib.c. This commit just introduces the
backend. The existing MIBs inside mib.c will be copied over in
subsequent commits.

OK tb@

12 months agoCheck if a signal already has been received before entering a blocking
anton [Fri, 3 Nov 2023 19:32:28 +0000 (19:32 +0000)]
Check if a signal already has been received before entering a blocking
read as opposed of only doing it afterwards. Issue uncovered by the mail
regress tests.

With claudio@ and ok millert@

12 months agotimeout(1): align execvp(3) failure statuses with GNU timeout
cheloha [Fri, 3 Nov 2023 19:16:31 +0000 (19:16 +0000)]
timeout(1): align execvp(3) failure statuses with GNU timeout

Align our exit statuses with those of GNU timeout in the execvp(3)
failure case.  Exit with 127 if the utility is not found.  Exit with
126 if we cannot execute the utility for any other reason.

While here, the child should _exit(2) instead of calling exit(3) via
err(3).

Update the manpage accordingly.

With input from millert@ and deraadt@.

Link: https://marc.info/?l=openbsd-tech&m=169739592322978&w=2
ok millert@

12 months agotypo: ignorning -> ignoring
tb [Fri, 3 Nov 2023 15:02:06 +0000 (15:02 +0000)]
typo: ignorning -> ignoring

From Laurie Tratt, ok florian

12 months agoMake netcat tests less flaky by ensuring the server has terminated before
anton [Fri, 3 Nov 2023 14:05:30 +0000 (14:05 +0000)]
Make netcat tests less flaky by ensuring the server has terminated before
examining the outcome.

ok bluhm@

12 months agoinitialize `format' earlier
op [Fri, 3 Nov 2023 13:40:07 +0000 (13:40 +0000)]
initialize `format' earlier

It's easier to see that it's never used un-initialized.

ok tb@

12 months agocast tv_usec to long for *printf
op [Fri, 3 Nov 2023 13:38:28 +0000 (13:38 +0000)]
cast tv_usec to long for *printf

mostly for -portable; on darwin suseconds_t is an int.

ok tb@

12 months agoBe explicit in saying what a shell pattern is.
espie [Fri, 3 Nov 2023 13:03:02 +0000 (13:03 +0000)]
Be explicit in saying what a shell pattern is.
I'm not a big fan of idiosyncratic lua patterns, especially in
that context, but pointing towards them and not mentionning glob(7)
is thoroughly confusing. Don't push lua patterns down people throats !

At least you know what the incredibly fuzzy "shell patterns" refers to
now !

okay millert@, jmc@

12 months agovmd(8): fix block size calculation for vioscsi devices.
dv [Fri, 3 Nov 2023 11:16:43 +0000 (11:16 +0000)]
vmd(8): fix block size calculation for vioscsi devices.

During the multi-process rework, I changed the way disk sizes are
calculated, switching to storing bytes and not 512-byte blocks. The
size calculation from reading an iso did not receive the change in
scaling, resulting in the virtio scsi emulation to think iso's are
larger than reality.

This fixes booting the latest Ubuntu amd64 iso's as apparently
there's some program that tries to arbitrarily read the tail end
of the iso into memory.

ok mlarkin@

12 months agodrm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper()
jsg [Fri, 3 Nov 2023 03:29:36 +0000 (03:29 +0000)]
drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper()

From Lukasz Majczak
6c668e2f338bde76279aeaf4d4c035c4196a479b in linux-6.1.y/6.1.61
3d887d512494d678b17c57b835c32f4e48d34f26 in mainline linux

12 months agodrm/amd: Disable ASPM for VI w/ all Intel systems
jsg [Fri, 3 Nov 2023 03:26:51 +0000 (03:26 +0000)]
drm/amd: Disable ASPM for VI w/ all Intel systems

From Mario Limonciello
024251bab25daf97a3599c985dd04117b9c60d6b in linux-6.1.y/6.1.61
64ffd2f1d00c6235dabe9704bbb0d9ce3e28147f in mainline linux

12 months agodrm/i915/pmu: Check if pmu is closed before stopping event
jsg [Fri, 3 Nov 2023 03:24:23 +0000 (03:24 +0000)]
drm/i915/pmu: Check if pmu is closed before stopping event

From Umesh Nerlige Ramappa
eded5f5261b8ff14417f9441934a1865b379b7db in linux-6.1.y/6.1.61
4cbed7702eb775cca22fff6827a549092cb59f61 in mainline linux

12 months agoUse pfctl_fopen (which checks to ensure the given file isn't a directory)
sthen [Thu, 2 Nov 2023 20:47:31 +0000 (20:47 +0000)]
Use pfctl_fopen (which checks to ensure the given file isn't a directory)
for pfctl -f /path/to/pf.conf. Otherwise, if you accidentally use a dir
instead of a file (e.g. if you have an /etc/pf directory and don't notice
the name when tab-completing), you successfully install an empty ruleset.
ok sashan@

12 months agoFix a few bizarre line wraps in x509.h
tb [Thu, 2 Nov 2023 20:25:48 +0000 (20:25 +0000)]
Fix a few bizarre line wraps in x509.h

12 months agomention codeberg and kde templates on bsd.port.mk(5) DIST_TUPLE
paco [Thu, 2 Nov 2023 16:14:46 +0000 (16:14 +0000)]
mention codeberg and kde templates on bsd.port.mk(5) DIST_TUPLE

ok op@
+1 rsadowski

12 months agonext-prompt can have 1 argument.
nicm [Thu, 2 Nov 2023 10:38:14 +0000 (10:38 +0000)]
next-prompt can have 1 argument.

12 months agoUse X509_ALGOR_set0_by_nid() in X509_ALGOR_set_evp_md()
tb [Wed, 1 Nov 2023 20:41:12 +0000 (20:41 +0000)]
Use X509_ALGOR_set0_by_nid() in X509_ALGOR_set_evp_md()

ok jsing

12 months agoAdd X509_ALGOR_set0_by_nid()
tb [Wed, 1 Nov 2023 20:37:42 +0000 (20:37 +0000)]
Add X509_ALGOR_set0_by_nid()

X509_ALGOR_set0() is annoyingly unergonomic since it takes an ASN1_OBJECT
rather than a nid.  This means that almost all callers call OBJ_obj2nid()
and they often do this inline without error checking so that the resulting
X509_ALGOR object is corrupted and may lead to incorrect encodings.

Provide an internal alternative X509_ALGOR_set0_by_nid() that takes a nid
instead of an ASN1_OBJECT and performs proper error checking. This will be
used to convert callers of X509_ALGOR_set0() in the library.

ok jsing

12 months agoExplain the weird order of doing things in X509_ALGOR_set0()
tb [Wed, 1 Nov 2023 20:26:24 +0000 (20:26 +0000)]
Explain the weird order of doing things in X509_ALGOR_set0()

12 months agoRename ptype and pval to parameter_type and parameter_value
tb [Wed, 1 Nov 2023 20:25:27 +0000 (20:25 +0000)]
Rename ptype and pval to parameter_type and parameter_value

ok jsing

12 months agoUnindent X509_ALGOR_set0_parameter()
tb [Wed, 1 Nov 2023 20:22:24 +0000 (20:22 +0000)]
Unindent X509_ALGOR_set0_parameter()

ok jsing

12 months agoSplit X509_ALGOR_set0_parameter() out of X509_ALGOR_set0()
tb [Wed, 1 Nov 2023 20:19:16 +0000 (20:19 +0000)]
Split X509_ALGOR_set0_parameter() out of X509_ALGOR_set0()

ok jsing

12 months agoSplit X509_ALGOR_set0_obj() out of X509_ALGOR_set0()
tb [Wed, 1 Nov 2023 20:14:51 +0000 (20:14 +0000)]
Split X509_ALGOR_set0_obj() out of X509_ALGOR_set0()

ok jsing

12 months agoSpecify ssh binary to use instead of relying on installed one. Fixes
dtucker [Wed, 1 Nov 2023 02:08:38 +0000 (02:08 +0000)]
Specify ssh binary to use instead of relying on installed one.  Fixes
test failures in -portable when running tests prior to installation.

12 months agoadd some tests of forced commands overriding Subsystem directives
djm [Wed, 1 Nov 2023 00:29:46 +0000 (00:29 +0000)]
add some tests of forced commands overriding Subsystem directives

12 months agocksum: better describe the -c (checklist) option
millert [Tue, 31 Oct 2023 20:42:14 +0000 (20:42 +0000)]
cksum: better describe the -c (checklist) option

The -c option can handle entries in normal (BSD) and reverse (GNU)
format.  Both hex and base64 entries are supported.  OK jmc@

12 months agocksum -c: support checking base64 digests in reverse mode too.
millert [Tue, 31 Oct 2023 19:37:17 +0000 (19:37 +0000)]
cksum -c: support checking base64 digests in reverse mode too.

In reverse mode, the entry does not include the digest algorithm
so the specified algorithm (or the default) is used when checking.
OK deraadt@

12 months agoRemove 3 expected failures those got fixed in the regress code.
claudio [Tue, 31 Oct 2023 08:00:33 +0000 (08:00 +0000)]
Remove 3 expected failures those got fixed in the regress code.

12 months agounlink("/") just needs to error. Checking for a specific errno makes
claudio [Tue, 31 Oct 2023 07:59:52 +0000 (07:59 +0000)]
unlink("/") just needs to error. Checking for a specific errno makes
little sense here since there are multiple possible errnos that could
be returned. On OpenBSD this returns EISDIR and not EBUSY.
OK mbuhl@ millert@

12 months agoWhen creating a file in a directory the file gid is inherited from
claudio [Tue, 31 Oct 2023 07:57:59 +0000 (07:57 +0000)]
When creating a file in a directory the file gid is inherited from
the directory and so checking against getgid() makes no sense.
OK mbuhl@ millert@

12 months agoIgnore closefrom() failure. This fails normally since fd 4 and up are all
claudio [Tue, 31 Oct 2023 07:56:44 +0000 (07:56 +0000)]
Ignore closefrom() failure. This fails normally since fd 4 and up are all
closed.
OK mbuhl@ millert@

12 months agoremove unneeded includes
jsg [Tue, 31 Oct 2023 05:46:36 +0000 (05:46 +0000)]
remove unneeded includes
ok deraadt@

12 months agoDon't try to use sudo inside sshd log wrapper. We still need to
dtucker [Tue, 31 Oct 2023 04:15:40 +0000 (04:15 +0000)]
Don't try to use sudo inside sshd log wrapper.  We still need to
check if we're using sudo since we don't want to chown unecessarily,
as on some platforms this causes an error which pollutes stderr.
We also don't want to unnecessarily invoke sudo, since it's running
in the context of the proxycommand, on *other* platforms it may not
be able to authenticate, and if we're using SUDO then it should
already be privileged.

12 months agoOnly try to chmod logfile if we have sudo. If we don't have sudo
dtucker [Tue, 31 Oct 2023 02:58:45 +0000 (02:58 +0000)]
Only try to chmod logfile if we have sudo.  If we don't have sudo
then we won't need to chmod.

12 months agoUpdate awk to Oct 30, 2023 version.
millert [Tue, 31 Oct 2023 01:08:51 +0000 (01:08 +0000)]
Update awk to Oct 30, 2023 version.

This is really just a version number bump as we already have the
fixes committed.

12 months agomove PKCS#11 setup code to test-exec.sh so it can be reused elsewhere
djm [Mon, 30 Oct 2023 23:00:25 +0000 (23:00 +0000)]
move PKCS#11 setup code to test-exec.sh so it can be reused elsewhere

12 months agoThis is the OpenBSD version of Awk.
millert [Mon, 30 Oct 2023 22:12:02 +0000 (22:12 +0000)]
This is the OpenBSD version of Awk.

12 months agoMinor cosmetic changes to make our awk match my github branch.
millert [Mon, 30 Oct 2023 17:52:54 +0000 (17:52 +0000)]
Minor cosmetic changes to make our awk match my github branch.

12 months agotidy and refactor PKCS#11 setup code
djm [Mon, 30 Oct 2023 17:32:00 +0000 (17:32 +0000)]
tidy and refactor PKCS#11 setup code

Replace the use of a perl script to delete the controlling TTY with a
SSH_ASKPASS script to directly load the PIN.

Move PKCS#11 setup code to functions in anticipation of it being used
elsewhere in additional tests.

Reduce stdout spam

12 months agoAdd support for OpenSSL 3.1 interop tests
tb [Mon, 30 Oct 2023 17:15:21 +0000 (17:15 +0000)]
Add support for OpenSSL 3.1 interop tests

Until OpenSSL 3.1 has replaced OpenSSL 3.0 on most architectures, run
both tests. Installed packages of OpenSSL 3.0 will update automatically
to 3.1, so regress runners should not need to do anything.

12 months agoInclude strings.h for the strncasecmp() prototype.
millert [Mon, 30 Oct 2023 16:14:51 +0000 (16:14 +0000)]
Include strings.h for the strncasecmp() prototype.

From upstream.

12 months agoDo not allow combined UTF-8 characters that are too long, GitHub issue
nicm [Mon, 30 Oct 2023 16:05:30 +0000 (16:05 +0000)]
Do not allow combined UTF-8 characters that are too long, GitHub issue
3729.

12 months agoDo not truncate MSG_EOR in recvmsg().
bluhm [Mon, 30 Oct 2023 13:27:53 +0000 (13:27 +0000)]
Do not truncate MSG_EOR in recvmsg().

The soreceive() code depends on the fact that MSG_EOR is set on the
last mbuf of the chain.  In sbappendcontrol() move MSG_EOR to the
end like sbcompress() does it.  This fixes MSG_EOR handling for
SOCK_SEQPACKET sockets with control message.

bug reported by Eric Wong
analysed, tested and OK claudio@

12 months agoUse KERNEL_ASSERT_UNLOCKED() instead of KASSERT(!_kernel_lock_held()).
mvs [Mon, 30 Oct 2023 12:50:59 +0000 (12:50 +0000)]
Use KERNEL_ASSERT_UNLOCKED() instead of KASSERT(!_kernel_lock_held()).
The first one defined as the second, so no functional changed.

ok claudio

12 months agoUse ERESTART for any single_thread_set() error in sys_execve().
claudio [Mon, 30 Oct 2023 07:13:10 +0000 (07:13 +0000)]
Use ERESTART for any single_thread_set() error in sys_execve().

If single thread is already held by another thread just unwind to userret()
wait there and retry the system call later (if at all).
OK mpi@

12 months agoAdjust KERNEL_ASSERT_UNLOCKED() to not assert during a panic.
claudio [Mon, 30 Oct 2023 07:04:36 +0000 (07:04 +0000)]
Adjust KERNEL_ASSERT_UNLOCKED() to not assert during a panic.

KERNEL_ASSERT_UNLOCKED calls _kernel_lock_held() which returns true
if panicstr || db_active which triggers this assert. Workaround this by
checking them before.

This will alter the following Syzkaller reports:
Reported-by: syzbot+169110a0815838ab5940@syzkaller.appspotmail.com
Reported-by: syzbot+3c2eced405b9de6f79c2@syzkaller.appspotmail.com
OK mpi@

12 months agoseperate -> separate;
jmc [Mon, 30 Oct 2023 06:11:04 +0000 (06:11 +0000)]
seperate -> separate;