jmc [Sun, 23 Oct 2022 08:00:29 +0000 (08:00 +0000)]
add libexec/snmpd; help from jsg
kn [Sun, 23 Oct 2022 08:00:10 +0000 (08:00 +0000)]
Constify send/receive command tables
Both only used for printf calls.
OK gkoehler
jmc [Sun, 23 Oct 2022 06:12:06 +0000 (06:12 +0000)]
add a little spacing and fix Nd;
tb [Sun, 23 Oct 2022 06:00:23 +0000 (06:00 +0000)]
Drop RCS ids in upstream zlib source
We're not maintaining a this as a fork, it's upstream source with a handful
of patches. Thus, the RCS ids aren't particularly useful or important. They
are a bit of a maintenance burden and generate noise in diffs.
ok kn, no objection millert, "kill" guess who
gkoehler [Sun, 23 Oct 2022 03:43:03 +0000 (03:43 +0000)]
Connect macppc's power button and lid to the SUSPEND stubs
A kernel with option SUSPEND now calls gosleep() if I run zzz(8),
press the power button (when machdep.pwraction=2), or close the lid
(when machdep.lidaction=1). Because gosleep() is an empty stub, the
macppc does not really suspend; it only suspends some devices and
immediately resumes.
The interrupt from the power button or the lid needs some thread
(other than systq) to call sleep_state(). Use taskq_create(9) to
create another thread.
Add a call to device_register_wakeup(). Without this call,
sleep_state() does nothing.
ok kettenis@ deraadt@
deraadt [Sun, 23 Oct 2022 02:53:14 +0000 (02:53 +0000)]
A better workaround for mips64 mimmutable problem. The problem is the
DT_DEBUG word is inside a R LOAD that gets marked immutable, but ld.so
does a mprotect RW + adjustment + mprotect R. DT_DEBUG is specified as
being inside the DYNAMIC range, solet's do all the immutables and then,
on mips64 only, turn around and make DYNAMIC mutable. That gives us
time to see if we can move DT_DEBUG or change what ld.so is doing.
discussed at length with kettenis
jsg [Sun, 23 Oct 2022 01:15:33 +0000 (01:15 +0000)]
sort Xr; remove '.' after Nd text
jsg [Sun, 23 Oct 2022 01:10:50 +0000 (01:10 +0000)]
new sentence, new line
miod [Sat, 22 Oct 2022 20:09:41 +0000 (20:09 +0000)]
Put struct rwindow back in reg.h, pcb.h depends on this.
gkoehler [Sat, 22 Oct 2022 17:50:28 +0000 (17:50 +0000)]
Add regress for powerpc* AltiVec with subnormal floats
Older CPUs do an AltiVec assist trap, EXC_VECAST_G4 or EXC_VECAST_G5
in /sys/arch/powerpc/powerpc/trap.c; newer CPUs (like POWER9) don't
trap. The trap's emulation of subnormal floats should give almost the
same results as the POWER9.
This test is only for powerpc or powerpc64 with AltiVec. anton@
explained how to skip the test if we're on the wrong arch or don't
have AltiVec.
ok anton@
florian [Sat, 22 Oct 2022 16:37:56 +0000 (16:37 +0000)]
sync to unbound 1.17.0; heavy lifting by sthen
deraadt [Sat, 22 Oct 2022 15:21:25 +0000 (15:21 +0000)]
In __cxa_atexit(), there is no need to initialize local pointer before
the lock, when it is correctly initialized after the lock
ok otto millert
deraadt [Sat, 22 Oct 2022 15:06:47 +0000 (15:06 +0000)]
automatic immutable for base executable is not ready on mips
because DT_DEBUG isn't in the right place
millert [Sat, 22 Oct 2022 14:41:27 +0000 (14:41 +0000)]
Add support to gunzip for zip files that contain a single member.
This matches the behavior of GNU gzip and is most useful with "gunzip
-c" to pipe the uncompressed output. It will not decompress a file
with more than one member unless in cat mode, in which case only
the first file is displayed.
To decompress a .zip file without the -c option, "-S .zip" must be
specified. The file name stored in the .zip file is not used unless
the -N option is specified. This is consistent with GNU gzip).
Does not increase the size of gzip on the install media.
OK jmc@ for documentation.
tb [Sat, 22 Oct 2022 11:33:12 +0000 (11:33 +0000)]
lto is a memory hog. Bump pbuild's datasize-cur on arm64 to 8G as on amd64.
ok phessler
ajacoutot [Sat, 22 Oct 2022 10:34:56 +0000 (10:34 +0000)]
Fix markup ("Ar" -> "Va" ).
from Raf Czlonka, thanks
jmc [Sat, 22 Oct 2022 06:41:04 +0000 (06:41 +0000)]
rework the text to avoid constant 2nd person;
pointed out/ok deraadt
jmc [Sat, 22 Oct 2022 06:39:12 +0000 (06:39 +0000)]
add some missing flags, as pointed out by deraadt; while
here rework the text so it reads a little better;
ok deraadt
jmc [Sat, 22 Oct 2022 06:27:46 +0000 (06:27 +0000)]
missing comma; from josiah frentsos
while here, wrap long line
gkoehler [Sat, 22 Oct 2022 00:58:56 +0000 (00:58 +0000)]
AltiVec assist for subnormal floats in vectors
The old CPU in a macppc traps AltiVec instructions when they encounter
denormal or subnormal floats. Emulate most of them. They operate on
vectors of 4 single-precision floats. The emulations either use
scalar operations (so vmaddfp becomes 4 of fmadds) or a formula (like
vrsqrtefp's 1 / sqrt(b) = 1 / sqrt(b * 2**126) * 2**63).
I am forgetting to emulate some instructions (at least vrfin, vrfiz,
vrfip, vrfim). If I don't emulate it, it will still cause SIGFPE.
Mac OS never emulated these instructions, but set AltiVec's "non-Java"
NJ bit (which changes all subnormal floats to zero). FreeBSD also
sets NJ; NetBSD does SIGFPE; Linux emulates them. The POWER9 running
OpenBSD/powerpc64 does them in hardware (without trapping).
ok kettenis@ miod@
gkoehler [Fri, 21 Oct 2022 22:42:36 +0000 (22:42 +0000)]
hw.power, machdep.lidaction, machdep.pwraction for macppc
I can now use the power button to power off my macppcs running
OpenBSD. The new sysctls machdep.lidaction and machdep.pwraction act
like acpibtn(4), but we are missing code to suspend or hibernate a
macppc. Small kernels (bsd.rd) continue to ignore the power button.
adb(4) sends an environment interrupt when I unplug my PowerBook's AC
or close its lid. Rename PMU_INT_WAKEUP to PMU_INT_ENVIRONMENT like
other BSDs and Linux. Handle PMU_ENV_LID_CLOSED as a lid sensor and
PMU_ENV_AC_POWER by setting sysctl hw.power. Power buttons can either
use PMU_ENV_POWER_BUTTON or go through akbd(4); handle both kinds of
power buttons in the same way. Other models of macppc, with different
power buttons or lids, might not work yet. The lid sensor looks like,
$ sysctl hw.sensors
hw.sensors.adb0.indicator0=On (lid open)
kettenis@ warned against calling prsignal() from interrupt context,
and pointed me to task_add(9).
gkoehler [Fri, 21 Oct 2022 21:26:49 +0000 (21:26 +0000)]
Change len in syncicache(_, len) from int to size_t
The powerpc64 part is under #if 0, so this change affects only macppc.
Simplify powerpc64's __syncicache (which had size_t len) and copy it
to macppc's syncicache (which had int len).
macppc was looping while ((l -= CACHELINESIZE) > 0). The loop would
be infinite if l became an unsigned type like size_t. It is simpler
to set size_t i = 0, do i += by, and loop while (i < len). It helps
that dcbst and icbi can add 2 registers, from + i.
deraadt [Fri, 21 Oct 2022 20:46:40 +0000 (20:46 +0000)]
uvm_map_immutable() takes start,end, not start,end
I juggled my trees incorrectly.
deraadt [Fri, 21 Oct 2022 20:45:51 +0000 (20:45 +0000)]
Recent chrome renderers try to change some immutable RW region to R.
I really want immutable to not allow such transitions either, because it will
help bring code up to the highest standard.
For now, allow this for all processes, until we find out the underlying
reason.
deraadt [Fri, 21 Oct 2022 19:13:31 +0000 (19:13 +0000)]
the debug "name" parameter to uvm_map_immutable() is no longer needed
miod [Fri, 21 Oct 2022 18:55:42 +0000 (18:55 +0000)]
Remove vestigial bits of 32-bit binaries support; drop the `64' suffix in
struct names when the matching `32' flavour got removed.
Joint work with cheloha@, all bugs mine.
kn [Fri, 21 Oct 2022 18:29:37 +0000 (18:29 +0000)]
constify quirks table
Not that big now, but quirks are likely to grow in the feature and there is
no reason to keep them writable.
OK and tested by mglocker
deraadt [Fri, 21 Oct 2022 18:14:09 +0000 (18:14 +0000)]
static binaries self-mprotect their relro in crt0. mimmutable() also works
here.
ok kettenis
deraadt [Fri, 21 Oct 2022 18:11:55 +0000 (18:11 +0000)]
sigaltstack() was adapted to work on mimmutable regions (an unfortunate
compromise...), but it means the stack can be marked immutable again.
ok kettenis
deraadt [Fri, 21 Oct 2022 18:10:52 +0000 (18:10 +0000)]
automatically mark immutable certain regions in program&ld.so LOADs.
The large commented block in elf_load_psection explains the sitaution.
ok kettenis.
kn [Fri, 21 Oct 2022 17:45:40 +0000 (17:45 +0000)]
constify global identity tables
ah{c,d}_find_pci_device() already return their members as const.
OK krw
tb [Fri, 21 Oct 2022 15:48:14 +0000 (15:48 +0000)]
Add extra NULL check after ssl3_setup_read_buffer()
While ssl3_setup_read_buffer() success alone is enough to imply that
the read bufer is non-NULL, several static analyzers fail to recognize
that and throw fits about possible NULL accesses.
CID 331010
Fix from and ok jsing
tb [Fri, 21 Oct 2022 14:58:53 +0000 (14:58 +0000)]
tlsexttest.c: make various static structs const
tb [Fri, 21 Oct 2022 14:55:54 +0000 (14:55 +0000)]
quic tlsext tests: use byte vector in place of string
While this doesn't actually change anything, it should appease Coverity.
CID 358678
CID 358679
kn [Fri, 21 Oct 2022 14:20:03 +0000 (14:20 +0000)]
Grab the non-exclusive net lock to read-only traverse the interface list
Destroying lo(4) interfaces checks for other interfaces in the same
rdomain(4) first which does not modify anything, so allow other readers.
All interface ioctl(2)s currently run with the kernel lock held, so this
should not make a real difference...
OK mvs
tb [Fri, 21 Oct 2022 13:39:35 +0000 (13:39 +0000)]
Add EVP_chacha20_poly1305()
Omission reported by jca.
ok jca jsing
sthen [Fri, 21 Oct 2022 12:40:21 +0000 (12:40 +0000)]
sync
kn [Fri, 21 Oct 2022 12:04:51 +0000 (12:04 +0000)]
Fix synopsis, -n does not require an interface; OK jmc
guenther [Fri, 21 Oct 2022 04:02:16 +0000 (04:02 +0000)]
Document contents of acpicpu's dmesg lines
formating help from jcw@ and schwarze@
ok mlarkin@
kettenis [Thu, 20 Oct 2022 20:40:57 +0000 (20:40 +0000)]
Add the hooks to disable and enable GPIO interrupts. Should fix potential
interrupt storms related to level-triggered interrupts.
ok mglocker@
kettenis [Thu, 20 Oct 2022 20:35:57 +0000 (20:35 +0000)]
Add RK3568 support.
ok jmatthew@
op [Thu, 20 Oct 2022 18:59:24 +0000 (18:59 +0000)]
add zap-to-char and zap-up-to-char; bind zap-to-char to M-z.
ok florian@
kettenis [Thu, 20 Oct 2022 18:43:35 +0000 (18:43 +0000)]
Don't attempt to use EFI runtime services on UEFI versions before 2.1.
The Dell Precision T1600 has a UEFI 2.0 implementation where calling
GetTime() accesses memory that isn't covered by a runtime mapping.
And frankly UEFI 2.0 is so ancient that we don't really want to use it
anyway.
This also adds the check to the arm64 version even though UEFI versions
before 2.4 don't have arm64 support. But for now I want to keep amd64
and arm64 code as similar as possible.
ok kn@
kn [Thu, 20 Oct 2022 16:08:13 +0000 (16:08 +0000)]
Constify global product table
Looking for .rodata candidates in /bsd .data symbols, this one popped up:
ffffffff82281b70 l O .data
0000000000001688 asmc_prods
OK jung
tb [Thu, 20 Oct 2022 15:36:47 +0000 (15:36 +0000)]
Sync sys libz with base
tb [Thu, 20 Oct 2022 15:35:31 +0000 (15:35 +0000)]
Update base libz to 1.2.13
This update contains a few bugfixes (some of which we have already
backported to 1.2.12) and a ton of cosmetic changes. The relevant
bits of the ChangeLog are:
- Repair prototypes and exporting of new CRC functions
- Have infback() deliver all of the available output up to any error
- Fix a bug when getting a gzip header extra field with inflate()
- Fix bug in block type selection when Z_FIXED used
- Tighten deflateBound bounds
- Remove deleted assembler code references
- Various portability and appearance improvements
Tested on amd64 and arm64 by me and on sparc64 by kn.
tb [Thu, 20 Oct 2022 15:26:25 +0000 (15:26 +0000)]
Initial parsing of the NewSessionTicket message
TLSv1.3 introduces a New Session Ticket post-handshake handshake message
that allows a unique association between a ticket value and a pre-shared
key derived from the resumption master secret. Servers may send this
message arbitrarily often at any time after receiving the client's
Finished message.
Implement tls13_new_session_ticket_recv() which parses the contents of
the NewSessionTicket message into a fresh session derived from the
current session so as to avoid modifying sessions that are already in
the session cache.
This uses tls13_new_session_ticket_recv() in tls13_phh_received_cb().
We currently rely on the general rate limiting of 100 PHH messages per
connection and hour to avoid problems from connecting to a misbehaving
or malicious server.
ok jsing
tb [Thu, 20 Oct 2022 15:23:43 +0000 (15:23 +0000)]
Provide TLS13_MAX_TICKET_LIFETIME #define
TLSv1.3 servers must not indicate a lifetime longer than 7 days and
clients must not cache sessions for longer than 7 days. Encode this
in a macro internal to tls13_lib.c for now.
ok jsing
tb [Thu, 20 Oct 2022 15:22:51 +0000 (15:22 +0000)]
Provide ssl_session_dup()
SSL_SESSION_dup() is a currently essentially unused public OpenSSL 1.1.1
API. Add a version that does not duplicate the secrets for internal use.
If the public API should be needed, we can easily make it a wrapper.
ok jsing
tb [Thu, 20 Oct 2022 15:21:22 +0000 (15:21 +0000)]
Clean up resumption master secret in SSL_SESSION_free()
ok jsing
tb [Thu, 20 Oct 2022 15:20:27 +0000 (15:20 +0000)]
Extend SSL_SESSION struct for TLSv1.3 PSK
Add members necessary to store the "ticket_age_add" value and the
resumption master secret needed in the TLSv1.3 version of session
resumption.
ok jsing
tb [Thu, 20 Oct 2022 15:18:54 +0000 (15:18 +0000)]
Annotate misuse of EVP_Digest()
The session_id member of SSL_SESSION has 32 bytes for historical
reasons. This precisely accommodates a SHA-256 and is currently
computed using this hash. If the hash function is ever changed,
this will likely overflow. This should be fixed in code. Leave
it at an XXX comment for now.
Pointed out by jsing
mpi [Thu, 20 Oct 2022 13:31:52 +0000 (13:31 +0000)]
Access to `u_flags' should be serialized by the `vmobjlock'.
This complete previous fix from gnezdo@. The uvm_vnp_sync() still
requires some love and isn't addressed by this diff.
Document which lock is protecting vnode variables.
ok gnezdo@
mglocker [Thu, 20 Oct 2022 10:35:35 +0000 (10:35 +0000)]
Remove the single part string for DS1339, since that is only required on
sparc64 because OpenFirmware doesn't support the <vendor>,<part> compatible
pattern. We don't expect this chip to turn up on sparc64.
Suggested and ok kettenis@
jsg [Thu, 20 Oct 2022 08:52:22 +0000 (08:52 +0000)]
ampintc(4) is specifically for GIC v1/v2
jsg [Thu, 20 Oct 2022 08:45:39 +0000 (08:45 +0000)]
add manual page for Arm GIC v3/v4 driver
sthen [Thu, 20 Oct 2022 08:28:00 +0000 (08:28 +0000)]
remove file no longer present in unbound 1.17.0
sthen [Thu, 20 Oct 2022 08:26:14 +0000 (08:26 +0000)]
merge unbound 1.17.0
sthen [Thu, 20 Oct 2022 08:25:16 +0000 (08:25 +0000)]
import unbound 1.17.0, ok florian
tb [Thu, 20 Oct 2022 07:38:05 +0000 (07:38 +0000)]
Link rust-openssl to regress
tb [Thu, 20 Oct 2022 07:33:14 +0000 (07:33 +0000)]
Provide a harness driving rust-openssl's regress tests
rust-openssl is an integral part of the Rust ecosystem and more than a
dozen ports, including lang/rust itself, depend on it. We need to ensure
that it keeps working with LibreSSL.
If the rust and rust-openssl-tests packages are installed, create a cargo
workspace under obj/ that compiles and runs the rust-openssl regress tests
much like what is done for the openssl-ruby tests. This expands our regress
coverage: for instance, this would have caught the broken ASN.1 indefinite
length encoding caused by asn1/tasn_enc.c r1.25.
Positive feedback beck jsing semarie
Testing and ok anton
millert [Thu, 20 Oct 2022 01:16:04 +0000 (01:16 +0000)]
Display the correct recipient in a Received: header with one recipient.
If multiple recipients are specified but only one is valid, use the
first entry in the recipient list for the Received: header, not the
value from the last "RCPT TO:" command (which could be invalid).
From Chris Waddey
sthen [Wed, 19 Oct 2022 21:23:31 +0000 (21:23 +0000)]
Exclude /tmp/*.shm files from /tmp cleaning in daily(8); removing them
interferes with programs using shm_open(3) which uses them as backing
files.
Problem pointed out by jeremy@ in relation to PostgreSQL.
Suggestion/ok tb@.
ajacoutot [Wed, 19 Oct 2022 21:04:45 +0000 (21:04 +0000)]
Drop support for $rcexec; people should now use the rc_exec function.
prodded by jsg@
kn [Wed, 19 Oct 2022 19:59:06 +0000 (19:59 +0000)]
Remove unused setfd member from struct audio_hw_if
All consumers now use C99 struct init and none of them sets `.setfd'.
OK ratchov miod
kn [Wed, 19 Oct 2022 19:14:16 +0000 (19:14 +0000)]
Use C99 struct init for struct audio_hw_if
This audio(9) struct will lose a member, but drivers init their struct quite
inconsistently, most pre-C99 style.
Use C99 style everywhere, to get rid of all annoying differences and allow
for easy member removals/additions:
- don't change current order of members
- no explicit NULL members
- no comments or blank lines
- trailing comma in last member line
GENERIC.MP builds fine with this on arm64, amd64, i386 and sparc64.
macppc and alpha build-tested by miod
OK ratchov miod
kn [Wed, 19 Oct 2022 19:08:25 +0000 (19:08 +0000)]
Replace "newfs/fsck_ext2fs" with "newfs/msdos -t ext2fs", constify
OK miod
deraadt [Wed, 19 Oct 2022 18:29:36 +0000 (18:29 +0000)]
Document sigaltstack restrictions on OpenBSD.
mandoc suggestions & help from jmc
kn [Wed, 19 Oct 2022 15:34:02 +0000 (15:34 +0000)]
Remove audio(9) setfd() stub
necsb(4/luna88k) is the only driver that "implements" it... through EIO.
Remove it so setfd can be removed from struct audio_hw_if.
Prodded by ratchov
OK aoyama
kn [Wed, 19 Oct 2022 09:11:26 +0000 (09:11 +0000)]
Constify global tables only used in lookups, OK ratchov
kn [Wed, 19 Oct 2022 08:24:14 +0000 (08:24 +0000)]
Get rid of useless/confusing subshell
Other function, same stuff like r1.1210 except here there `>/dev/null 2>&1'
hammer is required to silence the ls(1) test.
The make_dev() call is no longer silenced now but does not print on stdout
anyway; if making the device fails we'd like to know.
Otherwise if probing the disk fails it continues to be silenced.
(cvs diff -w -U1)
|@@ -2311,3 +2311,2 @@ is_rootdisk() {
|
|- (
| make_dev $_d
|@@ -2322,6 +2321,6 @@ is_rootdisk() {
| umount /mnt
|- fi
|+ fi >/dev/null 2>&1
| rm -f /dev/{r,}$_d?
|+
| return $_rc
|- ) >/dev/null 2>&1
| }
OK halex
kn [Wed, 19 Oct 2022 07:59:26 +0000 (07:59 +0000)]
Constify audio_hw_if struct
The only driver with a non-const audio(9) struct.
OK gnezdo
kn [Wed, 19 Oct 2022 07:57:49 +0000 (07:57 +0000)]
Constify string tables
Each only used one for a printf() call in *_attach().
Seen while tweaking their *_hw_if struct.
OK gnezdo ratchov
mglocker [Tue, 18 Oct 2022 16:07:59 +0000 (16:07 +0000)]
Add support for the DS1339 RTC, like found on the PiJuice.
From Michal Mynar -- Thanks!
ok deraadt@
kettenis [Tue, 18 Oct 2022 15:12:13 +0000 (15:12 +0000)]
No longer match on "apple,cluster-cpufreq" compatible string.
ok miod@, kn@
schwarze [Tue, 18 Oct 2022 14:55:19 +0000 (14:55 +0000)]
Remove references to four definitions that tb@ deleted in x509.h rev. 1.89
on Jan 10, 2022: X509_EX_V_INIT X509_EX_V_NETSCAPE_HACK
X509_EXT_PACK_STRING X509_EXT_PACK_UNKNOWN.
Mark BN_set_params and BN_get_params as deprecated, unused,
and intentionally undocumented.
claudio [Tue, 18 Oct 2022 14:03:39 +0000 (14:03 +0000)]
Copy port to proxyport since the sting may point into memory that is
freed.
Should fix https://github.com/rpki-client/rpki-client-portable/issues/74
Reported by Ben Castricum
OK tb@
claudio [Tue, 18 Oct 2022 12:28:36 +0000 (12:28 +0000)]
Switch from up/down time to time of last change.
Having metrics depend on session state makes reporting more complex.
This now reports the number of seconds a session was up or down.
OK tb@
claudio [Tue, 18 Oct 2022 12:24:51 +0000 (12:24 +0000)]
Initalize last_updown in init_peer() so that it is reported correctly
for peers that never managed to establish a connection.
OK tb@
kettenis [Tue, 18 Oct 2022 10:17:56 +0000 (10:17 +0000)]
Add definitions for runtime services related to EFI variables and system
reset.
ok krw@
job [Tue, 18 Oct 2022 09:30:29 +0000 (09:30 +0000)]
Fix some spelling errors
Thanks Marco D'Itri for spotting them
OK claudio@
kn [Tue, 18 Oct 2022 08:22:18 +0000 (08:22 +0000)]
Remove unused AUDIO_PROP_{MMAP,INDEPENDENT}
AUDIO_PROP_FULLDUPLEX is the only audio(9) in use, the other two died with
commit
1cf2860827c8ca659d8097d8da94a5ae5b888c53
Author: ratchov <ratchov@openbsd.org>
Date: Thu Jun 25 06:43:45 2015 +0000
Reimplement the audio driver in a simpler way, removing unused/unusable
functionality. Same API and ABI except for the removed bits and no
behaviour change for programs using libsndio. With help from armani@
and mpi@, thanks.
but remained defined and set in drivers.
and the following merely moved them when they were dead code already:
commit
9215aa3dfad387bca877a805534df6dcfe8722eb
Author: ratchov <ratchov@openbsd.org>
Date: Wed Aug 31 07:22:43 2016 +0000
Delete unused ioctls and associated macros. Move macros that are still
used internally by low-level drivers from sys/audioio.h to
dev/audio_if.h instead of deleting them.
None of this is used in base or ports; codesearch.debian.net only shows
AUDIO_PROP_{CAPTURE,PLAYBACK} in firefox-esr, mozjs and cubeb.
ratchov points out that audio_if.h and audioio.h are private interfaces
and the codesearch shows SunOS and NetBSD bits (#ifdef'd out on OpenBSD).
OK ratchov
kn [Tue, 18 Oct 2022 07:04:20 +0000 (07:04 +0000)]
Document and report mpii(4) RAID 1E as such
At least the built-in controller on sparc64 T4-2 machines supports 1E from
which OpenBSD boots just fine, but bioctl(8) reports it as RAID 10:
mpii0 at pci15 dev 0 function 0 "Symbios Logic SAS2008" rev 0x03: msi
mpii0: Solana On-Board, firmware 9.0.0.0 IR, MPI 2.0
scsibus1 at mpii0: 834 targets
sd0 at scsibus1 targ 0 lun 0: <LSI, Logical Volume, 3000> naa.
600508e0000000006cd1dcd59022a30a
sd0: 713824MB, 512 bytes/sector,
1461911552 sectors
root on sd0a (
efde5b2c6ab7b8ac.a) swap on sd0b dump on sd0b
# bioctl mpii0
Volume Status Size Device
mpii0 0 Online
748498714112 sd0 RAID10
0 Online
500107861504 0:2.0 noencl <ATA CT500MX500SSD1>
1 Online
500107861504 0:1.0 noencl <ATA CT500MX500SSD1>
2 Online
500107861504 0:0.0 noencl <ATA CT500MX500SSD1>
mpii(4) simply munged 1E into 10.
Report it as 0x1E just like softraid(4) RAID 1C is 0x1C internally:
# ./obj/bioctl mpii0 | grep RAID
mpii0 0 Online
748498714112 sd0 RAID1E
OK jsing
kn [Tue, 18 Oct 2022 06:56:42 +0000 (06:56 +0000)]
Hoist common Volume, Status, Size and Device columns in format strings
Only the RAID level itself with level specific values in the end differs.
OK jsing
kettenis [Mon, 17 Oct 2022 19:51:54 +0000 (19:51 +0000)]
Implement uncached mappings on the StarFive JH7100 SoC, where the hardware
provides allows bypassing the L2 cache by using a physical address alias.
ok miod@
kettenis [Mon, 17 Oct 2022 19:09:46 +0000 (19:09 +0000)]
Convert more drivers to use todr_attach(). The quality of the RTC is
set such that "discrete" RTC chips are preferred over RTCs integrated on
a SoC.
ok deraadt@, miod@
jsing [Mon, 17 Oct 2022 18:56:54 +0000 (18:56 +0000)]
Store errors that result from leaf certificate verification.
In the case that a verification callback is installed that tells the
verifier to continue when a certificate is invalid (e.g. expired),
any error resulting from the leaf certificate verification is not stored
and made available post verification, resulting in an incorrect error being
returned.
Also perform leaf certificate verification prior to adding the chain, which
avoids a potential memory leak (as noted by tb@).
Issue reported by Ilya Shipitsin, who encountered haproxy regress failures.
ok tb@
kettenis [Mon, 17 Oct 2022 18:55:20 +0000 (18:55 +0000)]
Fix "map" OpenFirmware call. It does not return a value according to the
IEEE 1275 specification. This should fix booting on machines that would
fail with something like:
OF_map_phys(
3fe44000,8192,
fed58000,-1) failed
no space for symbol table
Program terminated
Based on a diff provided by Harald Gutch (hgutch@netbsd). Also see
NetBSD PR#56829.
There were (and still are) some questions about whether this diff breaks
the blade1.5k. However the failure in question might have been hardware
related and subsequent testing of the equivalent kernel diff (which
was just committed) was successful. So committing this in the hope it
sticks to ease testing.
ok miod@
kettenis [Mon, 17 Oct 2022 18:49:06 +0000 (18:49 +0000)]
Fix "map" OpenFirmware call. It does not return a value according to the
IEEE 1275 specification.
Based on a diff provided by Harald Gutch (hgutch@netbsd). Also see
NetBSD PR#56829.
ok miod@
jsing [Mon, 17 Oct 2022 18:44:36 +0000 (18:44 +0000)]
Revise expire callback regress to use chains with expired certificates.
Rather than using X509_STORE_CTX_set_time() (which is resulting all
certificates in the chain being treated as expired), use chains that have
an expired leaf or expired intermediate. This triggers a different code
path, which is currently mishandled (and hence failing).
Also ensure that the resulting error and error depth match what we expect
them to be.
jsing [Mon, 17 Oct 2022 18:36:52 +0000 (18:36 +0000)]
Ensure that verification results in the expected error and error depth.
Improve verification regress and ensure that the legacy or modern
verification completes with the expected error and error depth.
jsing [Mon, 17 Oct 2022 18:26:41 +0000 (18:26 +0000)]
Avoid potential divide by zero in BIO_dump_indent_cb()
Passing an indent value of 67 results in DUMP_WIDTH_LESS_IDENT returning a
value of zero, which is promptly used for division. Likewise, passing a
value larger than 67 results in a negative value being returned.
Prevent this by limiting indent to 64 (which matches OpenSSL's current
behaviour), as well as ensuring that dump_width is > 0.
Should fix oss-fuzz #52464 and #52467.
ok miod@ tb@
jsing [Mon, 17 Oct 2022 18:03:15 +0000 (18:03 +0000)]
Unbreak ASN.1 indefinite length encoding.
In r1.25 of tasn_enc.c a check was added to ensure that asn1_ex_i2c()
returned the same value on both calls, however in the ndef case the len
variable gets changed between calls. Keep a copy of the original value to
test against.
Issue reported by niklas, who encountered a test failure in rust-openssl.
ok miod@ tb@
claudio [Mon, 17 Oct 2022 16:51:36 +0000 (16:51 +0000)]
SHOW_METRICS for the actions enum. Just to match the rest.
claudio [Mon, 17 Oct 2022 15:42:19 +0000 (15:42 +0000)]
Document /metrics endpoint and use bgpctl show metrics as command.
OK tb@
claudio [Mon, 17 Oct 2022 15:04:12 +0000 (15:04 +0000)]
Use metrics as the command name and document show metrics.
OK tb@
mvs [Mon, 17 Oct 2022 14:49:01 +0000 (14:49 +0000)]
Change pru_abort() return type to the type of void and make pru_abort()
optional.
We have no interest on pru_abort() return value. We call it only from
soabort() which is dummy pru_abort() wrapper and has no return value.
Only the connection oriented sockets need to implement (*pru_abort)()
handler. Such sockets are tcp(4) and unix(4) sockets, so remove existing
code for all others, it doesn't called.
ok guenther@
claudio [Mon, 17 Oct 2022 13:23:31 +0000 (13:23 +0000)]
Add /metrics endpoint which outputs stats in openmetrics format.
This uses `bgpctl show metric` to produce the payload.
OK tb@
claudio [Mon, 17 Oct 2022 12:01:19 +0000 (12:01 +0000)]
Implement openmetric output via bgpctl show metric command
This adds most of the generic code to output the metrics with labels
and implements some basic metrics. The code works but metrics may still
change.
OK tb@
nicm [Mon, 17 Oct 2022 10:59:42 +0000 (10:59 +0000)]
Preserve marked pane when renumbering windows.