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
add missing LDEPs, though there's something strange about this because
upstream's cmake files are using lib<whatever>.so.x.y on linker command
lines rather than -lwhatever.
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
devel/py-test-check: update to 2.9.1
ok and suggestion to explicitly list sysutils/py-packaging as a runtime
dependency (instead of indirectly depending on it through devel/pytest) by tb@