openbsd
2 years agozap extra blank line
tb [Sun, 23 Jan 2022 09:19:13 +0000 (09:19 +0000)]
zap extra blank line

2 years agoAllow rpki-client to display more than one file in -f mode.
claudio [Sun, 23 Jan 2022 07:21:12 +0000 (07:21 +0000)]
Allow rpki-client to display more than one file in -f mode.
Change -f to be a mode flag and pass one or multiple files as arguments
to rpki-client. Some extra checks need to be done to not load the same
certificate or CRL multiple times.
Input and OK tb@

2 years agoSimplify valid_cert() and valid_roa() by passing in struct auth instead
claudio [Sun, 23 Jan 2022 05:59:35 +0000 (05:59 +0000)]
Simplify valid_cert() and valid_roa() by passing in struct auth instead
of looking it up again. For this valid_roa() needs to be moved up in
proc_parser_roa() also move out the assignment of the TAL id. Not the
right thing to alter an object in a validation function.
OK tb@

2 years agoFlush all stdio streams before running a shell command.
millert [Sat, 22 Jan 2022 23:22:11 +0000 (23:22 +0000)]
Flush all stdio streams before running a shell command.
Otherwise, if ed's output is not line buffered (e.g. if it is
redirected to a file or pipe) the shell command output may be
displayed before data buffered by ed itself is written.
From Soeren Tempel.  OK deraadt@

2 years agoWrap some long lines.
krw [Sat, 22 Jan 2022 15:39:00 +0000 (15:39 +0000)]
Wrap some long lines.

2 years agoChange valid_filename() ot return an enum rtype and rename it to
tb [Sat, 22 Jan 2022 09:18:48 +0000 (09:18 +0000)]
Change valid_filename() ot return an enum rtype and rename it to
rtype_from_mftfile(). Move both rtype_from functions to mft.c.

ok beck claudio

2 years agoSupport multiple -v as promised in the man page
afresh1 [Sat, 22 Jan 2022 05:03:47 +0000 (05:03 +0000)]
Support multiple -v as promised in the man page

There are now four levels of verbosity:
0. Prints only the summary
1. Prints a line when installing/removing
2. Uses the ftp(1) progress bar
3. Provides more details for debugging

With some excellent ksh knowledge provided by kn@

2 years agosync
deraadt [Sat, 22 Jan 2022 00:49:39 +0000 (00:49 +0000)]
sync

2 years agoadd a ssh_packet_process_read() function that reads from a fd
djm [Sat, 22 Jan 2022 00:49:34 +0000 (00:49 +0000)]
add a ssh_packet_process_read() function that reads from a fd
directly into the transport input buffer.

Use this in the client and server mainloops to avoid unnecessary
copying. It also lets us use a more greedy read size without penalty.

Yields a 2-3% performance gain on cipher-speed.sh (in a fairly
unscientific test tbf)

feedback dtucker@ ok markus@

2 years agoUse sshbuf_read() to read directly into the channel input buffer
djm [Sat, 22 Jan 2022 00:45:31 +0000 (00:45 +0000)]
Use sshbuf_read() to read directly into the channel input buffer
rather than into a stack buffer that needs to be copied again;
Improves performance by about 1% on cipher-speed.sh
feedback dtucker@ ok markus@

2 years agoUse memmove instead of memcpy for overlapping memory
inoguchi [Sat, 22 Jan 2022 00:45:17 +0000 (00:45 +0000)]
Use memmove instead of memcpy for overlapping memory

CID 251047 251094

OK beck@ jsing@ millert@ tb@

2 years agoAdd a sshbuf_read() that attempts to read(2) directly in to a
djm [Sat, 22 Jan 2022 00:43:43 +0000 (00:43 +0000)]
Add a sshbuf_read() that attempts to read(2) directly in to a
sshbuf; ok markus@

2 years agoUse memmove instead of memcpy for overlapping memory
inoguchi [Sat, 22 Jan 2022 00:43:41 +0000 (00:43 +0000)]
Use memmove instead of memcpy for overlapping memory

CID 250936 251103

OK beck@ jsing@ millert@ tb@

2 years agoX509_GET_PUBKEY(3) return value check in libcrypto
inoguchi [Sat, 22 Jan 2022 00:36:46 +0000 (00:36 +0000)]
X509_GET_PUBKEY(3) return value check in libcrypto

CID 345116

ok beck@ tb@

2 years agoX509_GET_PUBKEY(3) return value check in libcrypto
inoguchi [Sat, 22 Jan 2022 00:34:48 +0000 (00:34 +0000)]
X509_GET_PUBKEY(3) return value check in libcrypto

CID 25131

ok beck@ tb@

suggest using X509_REQ_get0_pubkey() and remove the EVP_PKEY_free() from tb@

2 years agoX509_GET_PUBKEY(3) return value check in libcrypto
inoguchi [Sat, 22 Jan 2022 00:33:02 +0000 (00:33 +0000)]
X509_GET_PUBKEY(3) return value check in libcrypto

ok beck@ tb@

suggest using X509_get0_pubkey() and remove EVP_PKEY_free() from tb@

2 years agoX509_GET_PUBKEY(3) return value check in libcrypto
inoguchi [Sat, 22 Jan 2022 00:31:23 +0000 (00:31 +0000)]
X509_GET_PUBKEY(3) return value check in libcrypto

ok beck@ tb@

2 years agoX509_GET_PUBKEY(3) return value check in libcrypto
inoguchi [Sat, 22 Jan 2022 00:29:59 +0000 (00:29 +0000)]
X509_GET_PUBKEY(3) return value check in libcrypto

ok beck@ tb@

2 years agorelease mtx before pool_get() in __xa_alloc()/__xa_store() when
jsg [Fri, 21 Jan 2022 23:49:36 +0000 (23:49 +0000)]
release mtx before pool_get() in __xa_alloc()/__xa_store() when
PR_WAITOK is used to not sleep with mtx held

2 years agoTreat ppoll(2) errors as fatal. OK deraadt@
millert [Fri, 21 Jan 2022 22:53:20 +0000 (22:53 +0000)]
Treat ppoll(2) errors as fatal.  OK deraadt@

2 years agoAdd function to determine the file type from the file name extension
tb [Fri, 21 Jan 2022 18:49:44 +0000 (18:49 +0000)]
Add function to determine the file type from the file name extension

rpki-client uses the same idiom to determine the file type in too many
places. Use one function that determines the appropriate RTYPE from the
file name. Add that type to struct mftfile and use this new member to
simplify queue_add_from_mft*().

input/ok claudio

2 years agothe wrapped cron line is going to lose people
deraadt [Fri, 21 Jan 2022 18:46:21 +0000 (18:46 +0000)]
the wrapped cron line is going to lose people

2 years ago"move" part of the OpenBSD::State code into its own (stateless) class
espie [Fri, 21 Jan 2022 17:41:41 +0000 (17:41 +0000)]
"move" part of the OpenBSD::State code into its own (stateless) class
so that it can be reused light-weight by portgen and the likes.

(the actual move will happen once the base sets all have the new files)

2 years agoSplit PRT_print() into PRT_print_parthdr() and PRT_print_part()
krw [Fri, 21 Jan 2022 17:29:24 +0000 (17:29 +0000)]
Split PRT_print() into PRT_print_parthdr() and PRT_print_part()
to align with GPT functions. Simplifies logic and eliminates the
magic invocations to print the header.

No functional change.

2 years agoLimit unwinder symbol search to FUNC symbols
visa [Fri, 21 Jan 2022 16:39:56 +0000 (16:39 +0000)]
Limit unwinder symbol search to FUNC symbols

The prolog scanning has to locate the start of the subroutine, not some
local symbol in the middle.

This should reduce cases where unwinding goes astray.

OK miod@

2 years agoIn 1999 fd_set overflowing beyond FD_SETSIZE became enough of a problem that I
deraadt [Fri, 21 Jan 2022 16:18:16 +0000 (16:18 +0000)]
In 1999 fd_set overflowing beyond FD_SETSIZE became enough of a problem that I
changed the entire tree to use fd_set allocation, and this manpage documented
the "calloc(howmany(max+1, NFDBITS), sizeof(fd_mask))" idiom.  Since then we
completed converting the entire tree to poll(2), for many reasons, even ssh/sshd.
Now the use of kernel-only sys/param.h-found howmany() and related macross grate
on me, so it is time to recommend use of poll(2) instead.  [On a related note,
MacOS poll(2) is been dangerously broken for many years; that is their problem to
handle as the whole ecosystem joins us in pivoting select -> poll)
ok millert

2 years agoFix and re-enable active scans on iwm(4) and iwx(4).
stsp [Fri, 21 Jan 2022 15:51:02 +0000 (15:51 +0000)]
Fix and re-enable active scans on iwm(4) and iwx(4).

Ensure that we supply the access point's DTIM period to firmware after
an active scan, as soon as the next beacon arrives. This prevents the
problems which prompted us to keep active scans disabled in our drivers.

Problem debugged and patch by zxystd from the OpenIntelWireless project.
I made some tweaks regarding TIM parsing, which were reviewed by zxystd.

Johannes Berg from Intel has confirmed to me via IRC that firmware
will misbehave if running with a zero DTIM period.

Tested:
8265: jca, stsp
9260: kettenis (possible fallout observed here; will keep an eye on it)
9650: stsp
ax200: zxystd, kevlo, stsp
ax201: stsp

ok kevlo@ kettenis@

2 years agoDocument EAGAIN error return, as specified by POSIX.
millert [Fri, 21 Jan 2022 15:23:36 +0000 (15:23 +0000)]
Document EAGAIN error return, as specified by POSIX.
Our poll does not use EAGAIN but code needs to handle it for portability.
OK deraadt@ visa@

2 years agoEnable dt(4)
kn [Fri, 21 Jan 2022 15:05:01 +0000 (15:05 +0000)]
Enable dt(4)

This produces helpful flamegraphs on macppc.
With Andrew Krasavin <noiseless-ak AT yandex DOT ru>.

OK mpi

2 years agoAvoid out-of-bounds accesses in case the filename is too showrt to
tb [Fri, 21 Jan 2022 14:08:33 +0000 (14:08 +0000)]
Avoid out-of-bounds accesses in case the filename is too showrt to
contain an extension of length four.

ok claudio

2 years agoFix NULL dereference which allows user programs to read parts
tobhe [Fri, 21 Jan 2022 14:07:06 +0000 (14:07 +0000)]
Fix NULL dereference which allows user programs to read parts
of the kernel memory.  Found with clang static analyzer.

Feedback and ok gkoehler@
ok bluhm@

2 years agosync kfd_ioctl.h with linux 5.15
jsg [Fri, 21 Jan 2022 11:59:40 +0000 (11:59 +0000)]
sync kfd_ioctl.h with linux 5.15

2 years agomove media-bus-format.h to match comment in drm_connector.c
jsg [Fri, 21 Jan 2022 11:37:53 +0000 (11:37 +0000)]
move media-bus-format.h to match comment in drm_connector.c

2 years agodocument show-list
espie [Fri, 21 Jan 2022 09:06:38 +0000 (09:06 +0000)]
document show-list

2 years agoadd a helper for writing an error message to the stderr_buf and setting
djm [Fri, 21 Jan 2022 07:04:19 +0000 (07:04 +0000)]
add a helper for writing an error message to the stderr_buf and setting
quit_pending; no functional change but saves a bunch of boilerplate

2 years agocorrect comment and use local variable instead of long indirection;
djm [Fri, 21 Jan 2022 06:58:06 +0000 (06:58 +0000)]
correct comment and use local variable instead of long indirection;
spotted by dtucker@

2 years agoRequire trig_test-2 to pass on arm64 and powerpc64
gnezdo [Fri, 21 Jan 2022 03:13:22 +0000 (03:13 +0000)]
Require trig_test-2 to pass on arm64 and powerpc64

Thanks to mbuhl@ for testing on a plethora of platforms.

OK mbuhl@, tested by mbuhl@ and phessler@

2 years agoOptimization for tiny x in cos and sin
gnezdo [Fri, 21 Jan 2022 03:13:10 +0000 (03:13 +0000)]
Optimization for tiny x in cos and sin

Subset of FreeBSD commit 4339c67c485f0b1f7699863fc29f6c06862d1dde:
Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to
{cos_sin}[f](x) so that x doesn't need to be reclassified in the
"kernel" functions to determine if it is tiny (it still needs to be
reclassified in the cosine case for other reasons that will go away).
...

Parts of the original change were applied separately before.

Suggested by kettenis@

OK mbuhl@, tested by mbuhl@ and phessler@

2 years agoUnplug assembly implementations of trig functions on x86 platforms
gnezdo [Fri, 21 Jan 2022 03:12:55 +0000 (03:12 +0000)]
Unplug assembly implementations of trig functions on x86 platforms

The same change was done by NetBSD some time back as:

Disable x87 implementations of sin, cos, tan.

The x87 hardware uses a bad approximation to pi for argument
reduction, and consequently yields bad answers for inputs near pi or
pi/2.

OK mbuhl@, tested by mbuhl@ and phessler@

2 years agoCopy cos(3) software implementation from FreeBSD-13
gnezdo [Fri, 21 Jan 2022 03:12:43 +0000 (03:12 +0000)]
Copy cos(3) software implementation from FreeBSD-13

The result passes more tests from msun suite. In particular,
testacc(cos, -0.34061437849088045332L, 0.94254960031831729956L,
ALL_STD_EXCEPT, FE_INEXACT);
matches instead of being 1e-16 off.

OK mbuhl@, tested by mbuhl@ and phessler@

2 years agoEnable all supported ciphers and macs in the server before trying
dtucker [Fri, 21 Jan 2022 02:54:41 +0000 (02:54 +0000)]
Enable all supported ciphers and macs in the server before trying
to benchmark them.  Increase the data file size to get more signal.

2 years agoWhen poll(2) returns -1, for some error conditions pfd[].revents is
deraadt [Fri, 21 Jan 2022 00:53:40 +0000 (00:53 +0000)]
When poll(2) returns -1, for some error conditions pfd[].revents is
not cleared.  There are subtle errors in various programs.
In this particular case, the program should error out.
ok djm millert

2 years agoRemove the remaining three parens in return statements.
tb [Thu, 20 Jan 2022 20:37:33 +0000 (20:37 +0000)]
Remove the remaining three parens in return statements.

2 years agoUse correct spelling of NULL.
tb [Thu, 20 Jan 2022 20:35:46 +0000 (20:35 +0000)]
Use correct spelling of NULL.

2 years agoMake sure that all poll loops properly restart the poll loop on EINTR.
claudio [Thu, 20 Jan 2022 18:06:20 +0000 (18:06 +0000)]
Make sure that all poll loops properly restart the poll loop on EINTR.
Also either fail hard or restart after other errors. In anycase do not
look at pollfds after an error.
OK benno@

2 years agocatch poll() returning EINTR.
benno [Thu, 20 Jan 2022 17:56:35 +0000 (17:56 +0000)]
catch poll() returning EINTR.
ok millert@ claudio@

2 years agopfkey import_flow() must do the NULL check before doing pointer
bluhm [Thu, 20 Jan 2022 17:13:12 +0000 (17:13 +0000)]
pfkey import_flow() must do the NULL check before doing pointer
arithmetic.
found by kubsan; joint work with tobhe@; OK millert@

2 years agosnprintf(9) allows NULL string if size is 0. But doing NULL pointer
bluhm [Thu, 20 Jan 2022 17:11:30 +0000 (17:11 +0000)]
snprintf(9) allows NULL string if size is 0.  But doing NULL pointer
arithmetic is undefined behavior.  Check that size is positive
before adding to pointer.  While there, use NUL char for string
termination.
found by kubsan; joint work with tobhe@; OK millert@

2 years agoMove the notBefore and notAfter checks from proc_parser_root_cert()
claudio [Thu, 20 Jan 2022 16:36:19 +0000 (16:36 +0000)]
Move the notBefore and notAfter checks from proc_parser_root_cert()
to ta_parse(). This fits better there. Also drop extracting and
printing the x509 subject of the TAs. The subject is more or less
the filename anyway which is already printed.
OK tb@

2 years agoremove unused variable from all copies of _asr_strdname()
naddy [Thu, 20 Jan 2022 14:18:10 +0000 (14:18 +0000)]
remove unused variable from all copies of _asr_strdname()

... including those inlined into print_dname().  This also fixes
-Wunused-but-set-variable warnings warnings in smtpd and smtpctl.
The code was imported with asr and then copied around.

ok deraadt@ guenther@

2 years agoospf6ctl: fix -Wunused-but-set-variable warning
naddy [Thu, 20 Jan 2022 14:12:55 +0000 (14:12 +0000)]
ospf6ctl: fix -Wunused-but-set-variable warning

ok guenther@

2 years agoeigrpd: fix -Wunused-but-set-variable warning
naddy [Thu, 20 Jan 2022 14:11:27 +0000 (14:11 +0000)]
eigrpd: fix -Wunused-but-set-variable warning

ok guenther@

2 years agodvmrpctl: fix -Wunused-but-set-variable warning
naddy [Thu, 20 Jan 2022 14:10:07 +0000 (14:10 +0000)]
dvmrpctl: fix -Wunused-but-set-variable warning

ok guenther@

2 years agomg: fix -Wunused-but-set-variable warnings
naddy [Thu, 20 Jan 2022 14:07:34 +0000 (14:07 +0000)]
mg: fix -Wunused-but-set-variable warnings

strtonum() is only called to verify that a string is numerical, the
return value is unused.
inlist is no longer used after the code was refactored.

ok millert@ guenther@

2 years agoospf6d: fix -Wunused-but-set-variable warnings
naddy [Thu, 20 Jan 2022 14:03:31 +0000 (14:03 +0000)]
ospf6d: fix -Wunused-but-set-variable warnings

ospf6d.c: sync a missing bit of (disabled) code with ospfd
rde.c: ifdef out some more incomplete code

ok denis@ claudio@

2 years agoDon't return uninitialized stack memory on copyin() error.
tobhe [Thu, 20 Jan 2022 14:02:51 +0000 (14:02 +0000)]
Don't return uninitialized stack memory on copyin() error.
Found with clang static analyzer.

ok gkoehler@

2 years agoregen
jsg [Thu, 20 Jan 2022 13:12:48 +0000 (13:12 +0000)]
regen

2 years agoadd Tiger Lake H ids
jsg [Thu, 20 Jan 2022 13:12:07 +0000 (13:12 +0000)]
add Tiger Lake H ids
from 11th Generation Intel Core Processor Datasheet 631121-009
some ids from thfr@'s Dell Precision 7560
and ymtc nvme found in jcs@'s Huawei MateBook X (2020)

2 years agoAdd check for EVP_CIPHER_CTX_ctrl
inoguchi [Thu, 20 Jan 2022 11:31:37 +0000 (11:31 +0000)]
Add check for EVP_CIPHER_CTX_ctrl

suggestion from tb@

2 years agoAdd check for EVP_CIPHER_CTX_set_key_length return value
inoguchi [Thu, 20 Jan 2022 11:22:48 +0000 (11:22 +0000)]
Add check for EVP_CIPHER_CTX_set_key_length return value

CID 21653

ok jsing@ millert@ tb@

2 years agoAdd check for OBJ_nid2obj return value
inoguchi [Thu, 20 Jan 2022 11:18:49 +0000 (11:18 +0000)]
Add check for OBJ_nid2obj return value

input from tb@

2 years agoAdd check for ASN1_INTEGER_set
inoguchi [Thu, 20 Jan 2022 11:15:39 +0000 (11:15 +0000)]
Add check for ASN1_INTEGER_set

CID 24893

ok jsing@ millert@ tb@

2 years agoFix check for BN_mod_inverse_ct return value
inoguchi [Thu, 20 Jan 2022 11:12:14 +0000 (11:12 +0000)]
Fix check for BN_mod_inverse_ct return value

ok jsing@ millert@ tb@

2 years agoFix check for BN_mod_inverse_ct return value
inoguchi [Thu, 20 Jan 2022 11:11:17 +0000 (11:11 +0000)]
Fix check for BN_mod_inverse_ct return value

ok jsing@ millert@ tb@

2 years agoAdd check for BN_sub return value
inoguchi [Thu, 20 Jan 2022 11:10:11 +0000 (11:10 +0000)]
Add check for BN_sub return value

CID 24839

ok jsing@ millert@ tb@

2 years agoFix check for BN_mod_inverse_ct return value
inoguchi [Thu, 20 Jan 2022 11:08:12 +0000 (11:08 +0000)]
Fix check for BN_mod_inverse_ct return value

ok jsing@ millert@ tb@

2 years agoShifting signed integers left by 31 is undefined behavior in C.
bluhm [Thu, 20 Jan 2022 11:06:57 +0000 (11:06 +0000)]
Shifting signed integers left by 31 is undefined behavior in C.
found by kubsan; joint work with tobhe@; OK miod@

2 years agoAdd check for BIO_indent return value
inoguchi [Thu, 20 Jan 2022 11:06:24 +0000 (11:06 +0000)]
Add check for BIO_indent return value

CID 24778

ok jsing@ millert@ tb@

2 years agoFix check for BN_mod_inverse_ct return value
inoguchi [Thu, 20 Jan 2022 11:03:48 +0000 (11:03 +0000)]
Fix check for BN_mod_inverse_ct return value

ok jsing@ millert@ tb@

2 years agoFix check for BN_mod_inverse_ct return value
inoguchi [Thu, 20 Jan 2022 11:02:44 +0000 (11:02 +0000)]
Fix check for BN_mod_inverse_ct return value

ok jsing@ millert@ tb@

2 years agoAdd check for BIO_indent return value
inoguchi [Thu, 20 Jan 2022 11:00:34 +0000 (11:00 +0000)]
Add check for BIO_indent return value

CID 24812

ok jsing@ millert@ tb@

2 years agoAdd check for EVP_CIPHER_CTX_set_key_length return value
inoguchi [Thu, 20 Jan 2022 10:58:35 +0000 (10:58 +0000)]
Add check for EVP_CIPHER_CTX_set_key_length return value

It returns 1 on success and 0 for failure, never negative value.

ok jsing@ millert@ tb@

2 years agoAdd and fix check for BN functions return value
inoguchi [Thu, 20 Jan 2022 10:56:22 +0000 (10:56 +0000)]
Add and fix check for BN functions return value

ok jsing@ millert@ tb@

2 years agoAdd check for BN functions return value
inoguchi [Thu, 20 Jan 2022 10:53:33 +0000 (10:53 +0000)]
Add check for BN functions return value

CID 21665 24835

comment from jsing@ and tb@
ok jsing@ millert@ tb@

2 years agoAdd check for BIO_indent return value
inoguchi [Thu, 20 Jan 2022 10:49:56 +0000 (10:49 +0000)]
Add check for BIO_indent return value

CID 24869

ok jsing@ millert@ tb@

2 years agodrm/amd/display: explicitly set is_dsc_supported to false before use
jsg [Thu, 20 Jan 2022 10:18:26 +0000 (10:18 +0000)]
drm/amd/display: explicitly set is_dsc_supported to false before use

From Mario Limonciello
ce258c74f8d95e81ce65f53775fcdcbc8ca090da in linux 5.15.y/5.15.16
63ad5371cd1e379519395c49a4b6a652c36c98e5 in mainline linux

2 years agoRename mft_check() to proc_parser_mft_check() and make it a static function.
claudio [Thu, 20 Jan 2022 09:24:08 +0000 (09:24 +0000)]
Rename mft_check() to proc_parser_mft_check() and make it a static function.

2 years agodt: Add frame skip parameters for octeon
visa [Thu, 20 Jan 2022 07:49:25 +0000 (07:49 +0000)]
dt: Add frame skip parameters for octeon

OK mpi@

2 years agoxa_pool is protected by xa_lock mtx so drop pool ipl to IPL_NONE
jsg [Thu, 20 Jan 2022 06:33:03 +0000 (06:33 +0000)]
xa_pool is protected by xa_lock mtx so drop pool ipl to IPL_NONE

2 years agoinitial support for drm sync files, fences associated with file
jsg [Thu, 20 Jan 2022 03:43:30 +0000 (03:43 +0000)]
initial support for drm sync files, fences associated with file
descriptors for explicit fencing

tested with libdrm's amdgpu_test syncobj timeline tests and vkcube on
intel broadwell with Mesa 21.3 (which hangs without sync file support
after the 'anv: Assume syncobj support' Mesa commit)

feedback and ok visa@

2 years agoDocument the bizarre fact that {CMS,PCKS7}_get0_signers() needs some
tb [Wed, 19 Jan 2022 20:28:06 +0000 (20:28 +0000)]
Document the bizarre fact that {CMS,PCKS7}_get0_signers() needs some
freeing of what they return despite being get0 functions: the stack
of X509s that they return must be freed with sk_X509_free(). The get0
thus probably refers to the individual certs, but not to the stack
itself.

The libcrypto and libssl APIs never cease to amaze with new traps.

ok inoguchi

2 years agoOnly invoke the underlying cpuid instruction if the real CPU might support
guenther [Wed, 19 Jan 2022 19:39:42 +0000 (19:39 +0000)]
Only invoke the underlying cpuid instruction if the real CPU might support
the leaf (<=cpuid_level) and always pass the subleaf.  Delete the
CPUID_LEAF() calls made superfluous by always passing the subleaf.

ok mlarkin@

2 years agoAdd -f to usage in main routine
job [Wed, 19 Jan 2022 17:15:08 +0000 (17:15 +0000)]
Add -f to usage in main routine

OK tb@

2 years agoDocument the -f file inspection function
job [Wed, 19 Jan 2022 16:33:36 +0000 (16:33 +0000)]
Document the -f file inspection function

2 years agoImplement a filemode where the passed file from the command line is
claudio [Wed, 19 Jan 2022 15:50:31 +0000 (15:50 +0000)]
Implement a filemode where the passed file from the command line is
printed in human readable form and is also verified against the valid
cache of rpki-client.

To validate the file the chain is explored backwards by looking at the
Authority Information Access URI and X509v3 CRL Distribution Point of
the cert. Once the trust anchor is found this chain can be verified.

Feedback and OK job@ tb@

2 years agoCheck return value from EVP_CIPHER_CTX_new in cms_pwri.c
inoguchi [Wed, 19 Jan 2022 13:47:44 +0000 (13:47 +0000)]
Check return value from EVP_CIPHER_CTX_new in cms_pwri.c

CID 345137

ok jsing@ tb@

2 years agoMention more controllers that provide sdmmc(4) bus.
visa [Wed, 19 Jan 2022 13:45:22 +0000 (13:45 +0000)]
Mention more controllers that provide sdmmc(4) bus.

Initial diff from and OK jmc@

2 years agoCheck function return value in libtls
inoguchi [Wed, 19 Jan 2022 11:10:55 +0000 (11:10 +0000)]
Check function return value in libtls

EVP_EncryptInit_ex, EVP_DecryptInit_ex and HMAC_Init_ex are possible to
fail and return error.
Error from these functions will be fatal for the callback, and I choose to
return -1.
SSL_CTX_set_tlsext_ticket_key_cb.3 explains the return value of callback.

This also could fix Coverity CID 345319.

ok jsing@ tb@

2 years agoMark regress set requests as expected failure now that snmpd(8) doesn't
martijn [Wed, 19 Jan 2022 11:05:36 +0000 (11:05 +0000)]
Mark regress set requests as expected failure now that snmpd(8) doesn't
support set requests anymore.
Fix up multi-varbind bulkget requests now that the new application layer
returns the correct order.

OK jmatthew@

2 years agoDisable regress for set requests after dropping support in new application
martijn [Wed, 19 Jan 2022 11:02:38 +0000 (11:02 +0000)]
Disable regress for set requests after dropping support in new application
layer.

OK jmatthew@

2 years agoHook up the new application layer.
martijn [Wed, 19 Jan 2022 11:00:56 +0000 (11:00 +0000)]
Hook up the new application layer.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoAdd the new application layer. Changes include:
martijn [Wed, 19 Jan 2022 10:59:35 +0000 (10:59 +0000)]
Add the new application layer. Changes include:
- Asynchronous design, which should allow us to cleanly implement agentx
  support.
- Cluster requests when sending them to backends
- Return a better error code in a lot of cases.
- Allow bulkget to return row by row instead of column by column (as per
  RFC3416)
- Better SNMPv1 mapping as per RFC3584
- Allow registration of overlapping regions.
- Stricter OID comparison.
- We loose write support. Previous write support didn't guarantee
  atomicity, wasn't persistent across restarts and didn't implement
  anything useful. This can be added later if it's missed.
- This is quite a bit slower, but this should clear up once the current
  mps.c and mib.c code gets pushed out. Other tricks could help speed
  things up, but I don't want to resort to extra tricks if it's not needed.
- More detailed debugging output.

This commit is stand-alone and gets hooked in with the following commit.

"Looks good at first glance" benno@
minor issues pointed out by and OK jmatthew@
Performance loss aceptable to sthen@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoOn SDHC version 3.0 controllers the divisor doesn't have to be a power
patrick [Wed, 19 Jan 2022 10:51:04 +0000 (10:51 +0000)]
On SDHC version 3.0 controllers the divisor doesn't have to be a power
of two, but can be a multiple of two.  Make use of this to achieve card
clock frequencies closer to the target frequency.

ok visa@

2 years agoGrab the kernel lock in uvm_wxcheck() when aborting the process
kn [Wed, 19 Jan 2022 10:43:48 +0000 (10:43 +0000)]
Grab the kernel lock in uvm_wxcheck() when aborting the process

kern.wxabort=1 logs and kills programs after W^X violations.
At least sigexit() -> coredump() as well as the non-atomic increment of
ps_wxcounter require protection, so grab the big lock for the entire block.

This is part of the effort to unlock mmap(2)'s MAP_ANON case.

Feedback mvs claudio kettenis deraadt
OK kettenis

2 years agoImplement snmpe_send to allow to allow the new application layer to send
martijn [Wed, 19 Jan 2022 10:36:35 +0000 (10:36 +0000)]
Implement snmpe_send to allow to allow the new application layer to send
messages through the current transport mapping code.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoMake sure that we ASN1 verify the varbindlist as soon as we unpack it.
martijn [Wed, 19 Jan 2022 10:28:13 +0000 (10:28 +0000)]
Make sure that we ASN1 verify the varbindlist as soon as we unpack it.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoAdd definitions for SNMP-TARGET-MIB. These are needed for the new
martijn [Wed, 19 Jan 2022 10:26:37 +0000 (10:26 +0000)]
Add definitions for SNMP-TARGET-MIB. These are needed for the new
application layer.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoMove some smi.c functions to their own header.
martijn [Wed, 19 Jan 2022 10:25:04 +0000 (10:25 +0000)]
Move some smi.c functions to their own header.
These are needed for a new application layer, where a lot of the snmpd.h
stuff just clutter.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoMove some snmpe.c functions to their own header.
martijn [Wed, 19 Jan 2022 10:22:48 +0000 (10:22 +0000)]
Move some snmpe.c functions to their own header.
These functions are needed from the new application layer and don't
really belong in snmpd.h.

OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat

2 years agoMove log.c functions to their own header.
martijn [Wed, 19 Jan 2022 10:19:27 +0000 (10:19 +0000)]
Move log.c functions to their own header.
This is needed for a new application layer where, where a lot of the
snmpd.h stuff just clutter.

Requested by benno@
OK jmatthew@
tested as part of larger diff by sthen@ and Joel Carnat