Ignore various roff(7) requests that are new in groff-1.23 and groff-1.24.
Most of these only serve debugging purposes, and some are related to
features that are not relevant in manual pages and that we do not support
in the first place.
Two special cases are notable: .msoquiet is ignored because insecure
(just like .mso already was), and .soquiet is treated as an exact
alias for .so, without suppressing any diagnostics, because in manual
pages, missing include files are never harmless.
List of requests that needed checking provided by G. Branden Robinson.
regress/lib/libmlgamma: remove no longer needed __POSIX_VISIBLE 201403
These days we default to POSIX 2024 with XSI extensions. The original define
was only needed when our default was POSIX 2008 and we needed to advance to
a newer standard to run this test.
groff-1.23.0 invented new roff(7) requests .stringup and .stringdown that
change the case of the named user-defined string in place. I haven't seen
them used in any manual page yet and - like for all roff(7) requests - do
not recommend using them, but i chose to implement them anyway because that
was almost as trivial as it would have been to mark them as unsupported.
G. Branden Robinson reminded me of the new feature.
Stop clobbering the return value of getenv(3) with strtok(3).
The getenv(3) manual discourages tampering with the returned string.
Instead, copy the value to the heap such that it can be safely modified.
This fixes a bug that Luca Del Re <l.osd at ldr.name>
found on Alpine Linux and reported to bsd.lv.
The consequence of the bug was likely implementation-dependent, but
on both OpenBSD and Alpine Linux, the first colon after the first
byte of the MANPATH variable was set to NUL in the actual environment
of the man(1) process, and this truncated value would later be
passed to the pager child process by execv(3). Hence, while
MANPATH=:mypath1 worked as expected, the pager would only see
MANPATH=mypath1 if man(1) saw any of the following:
MANPATH=mypath1:
MANPATH=mypath1:mypath2
MANPATH=mypath1::mypath2
A specially crafted ELF interpreter binary can trigger a KASSERT() in
vmcmd_map_readvn(). While this points at some deficiencies in
elf_load_file(), we have no intention to supporting such weirdly crafted
binaries (even if they're technically valid). So return EINVAL instead.
ok deraadt@
TIOCGSID can dereference a freed t_session, because we are storing s_leader
in the wrong place. This is a cold hard crash crashes. Some folk are
looking at fixing this properly but it will take some time, so in the meantime
we should just fail the ioctl.
From Acts1632, ok kettenis
Specify the correct "read" and "write" bits to the NVMMU based on the
opcode of the NVMe command. Drop the opcode itself, since it isn't needed.
This allows us to drop the magic "null check" bit that is no longer
supported by the firmware that Apple ships with newer macOS releases.
Based on work done by Sven Peter over at Asahi Linux.
ok jmatthew@
Prevent read buffer overflow in verbose debug logging.
When we receive more than 8 nameservers in a DHCP lease we would
overread the nameservers buffer because the loop was not bounded by
items in the array but the whole size.
Pointed out by Stuart Thomas some time ago, thanks!
isakmpd: Handle malformed MONITOR_BIND message
Using a stack allocated sockaddr_storage avoids the malloc(3)
entirely. Add length checks for the payload sent by the child.
When a malicious child sends us a malformed message the privsep
protocol is out of sync. Thus terminate gracefully with log_fatalx().
While there, attribute log_fatalx() with __dead.
Reported by Shibo, Hugo Systopia Team
ok markus@ tb@ deraadt@
disable dynamic power gating on Panther Lake and later
described in Intel changes as known to cause hangs
tested on 0x57b3 / E1000_DEV_ID_PCH_PTP_I219_LM25
partly from Intel's DPDK driver
ok jmatthew@
change K1 exit timeout on Meteor Lake and later
without this my Panther Lake machine could not receive non-broadcast packets
tested on 0x57b3 / E1000_DEV_ID_PCH_PTP_I219_LM25 and
0x550b / E1000_DEV_ID_PCH_MTP_I219_V18
partly from Intel's DPDK driver
ok jmatthew@
match Panther Lake and Wildcat Lake
tested on 0x57b3 / E1000_DEV_ID_PCH_PTP_I219_LM25
needs workarounds coming in another commit to be useable
ok jmatthew@