route_output() can not use the info struct late in its function
since the rtm struct that populated it was freed around the
rtm_report() call. In that case access to info.rti_info[RTAX_DST]
is a use-after-free. Cache the address family before handling the
route message so that the route_input call can use this value instead.
Report from Bruce Dang of Calif.io
OK deraadt@
Refine unveil(2) usage.
* Process man.conf(5) early before unveil(2) because it needs realpath(3).
* Rather than unveiling the whole file system for reading and execution,
only reveal the manpaths actually needed for reading, and /usr/share/locale/
if needed, and only reveal the pager binary for execution.
* Only reveal the whole file system for reading if input file names
are listed individually on the command line.
* Rather than unveiling /tmp unconditionally, only do so when it is
actually needed for the pager.
* When -O outfilename or -O tagfilename is specified, rather than
unveiling the current working directory for writing, only unveil
the specific filenames needed.
Using some feedback from deraadt@, in particular reducing the number
of vnodes that are held, and avoiding use of the "unveil" pledge(2).
Prepare for refining unveil(2) usage by providing a function manpath_unveil()
that makes the manpath directories accessible. Soon to be used by man(1),
spropos(1), and makewhatis(8).
wayland/waybar: Unbreak USR1/USR2 signal handling
https://github.com/Alexays/Waybar/pull/4278 inadvertently broke handling
SIGUSR1/SIGUSR2 on OpenBSD. This reverts the offending bit.
+ replace sndio module in the default configuration with a custom module
using sndioctl(1)
Delete the pointless logic that remembers the original working directory.
It was never needed because manpath_add() in manpath.c has always been
using realpath(3) since the very beginning in 2011, so struct manpaths
only ever contains absolute paths.
The only exception is man.cgi(8), but that chdir(2)s to the right
directory beforehand and only ever uses one single manpath, ".".
This simplifies the code with no functional change.
lowdown: use ports-gcc on base-gcc
base-gcc doesn't support deprecated attributes with deprecation message.
ports-gcc is lower friction than patching the header:
lowdown.h:460: error: wrong number of arguments specified for 'deprecated' attribute