Learn the execpath executable from either of AUX_execpath or
AUX_openbsd_execpath (the first will be deleted in about a week
when kernels have crossed over)
ok kettenis
Using AUX_execpath 15 collides with Linux use of the portable space,
so let's use AUX_openbsd_execpath 4001 instead so that tools can tell
the difference.
Expand ELF_AUX_ENTRIES to 13 temporarily, and keep providing 15 for
a while until people's kernels are updated through this phase.
ok kettenis
Since static non-PIE executables also get aux vals on the stack, we
don't need the special code to find some values inside the executable
image mapping.
ok kettenis
Assign connections a 64 bit identifier rather than using the socket fd to
identify them between subprocesses.
Based on a report from Franz Bettag of Bettag Systems
ok deraadt
Render an empty tbl(7) table as an output line break and not
as a 1v vertical space like in groff-1.22.4 because groff-1.23
stopped emitting vertical space around tables in general.
G. Branden Robinson agrees that this new behaviour probably makes
the most sense and that groff_man(7) and groff_mdoc(7) should
probably follow in the future by having .TS imply .br, even though
from groff-1.23.0 to groff-1.25.0, yet another behaviour was
implemented, where an empty table printed nothing whatsoever,
not even an output line break.
While here, modernise the code in roff_TE() by using the
internal node creation API from "roff_int.h" rather than
the old, heavy-handed ROFF_REPARSE method.
Small formatting issue found while working on
regression tests for the fix of a bug found by
Hippolyte Doncieu de la Batie <hippolyte.doncieu at gmail.com>.
Add new layout format which includes floating panes. The new format is
now a JSON subset which is less fragile and easier to handle than the
old custom format. The old (version 1) format is still supported for
control mode clients for now - they must set the new-layouts flag to
receive the new format. From Dane Jensen.
acme-client: reject whitespace and control characters in url2host()
Prevents an HTTP request injection issue when handling the URLs returned
by an ACME server.
from Acts1631
ok jmatthew
Use getexecpath(3) to find the binary, and then transform the paths
to execute the other privsep processes at relative paths in libexec
with millert, ok gilles
Add ACPI hardware IDS for Qualcom Glymur (X2) SoC.
The HIDs map to to glymur device tree nodes as follows:
QCOM0F0C: GIO0 -> tlmm: pinctrl at f100000
QCOM0F10:
I2C1 -> i2c0: i2c at b80000
I2C5 -> i2c4: i2c at b90000
I2C6 -> i2c5: i2c at b94000
I2C9 -> i2c8: i2c at a80000
QCOM0F8B: URS0 -> usb_0: usb at a600000
QCOM0F8C: URS1 -> usb_1: usb at a800000
QCOM0FED: URS2 -> usb_2: usb at a000000
This gets USB, keyboard and touchpad working in ACPI mode
on the HP Elitebook X G2q.
ok kettenis@
Do not call the high-level mdoc(7) or man(7) parser cleanup
before the low-level roff(7) parser cleanup;
instead, clean up in the opposite order.
From a perspective of traditional roff(7) systems, the existing order
might seem intuitive: a traditional system needs the low-level roff(7)
infrastructure in an operational state for doing anything with
high-level macros.
However, in mandoc(1), the architecture is built up in the opposite way.
The mdoc(7) and man(7) parsers provide the foundational tree structure,
and the roff(7) parser only serves auxiliary functions that need the
mdoc(7) and man(7) infrastructure in an operational state.
If the .TE macro ending a tbl(7) was missing before the end of the input
file, this logic bug caused man_endparse() to reset the parse point to the
root of the syntax tree, only for roff_endtbl() called from roff_endparse()
then expecting the parse point to still point to the ROFFT_TBL node,
resulting in a NULL pointer access in roff_endtbl().
[4 lines not shown]
amd64: expose machinery for BHI_CTRL and BHI_DIS_S
Some recent Intel CPUs expose BHI_CTRL. That allows one to enable BHI_DIS_S
if BHI_NO is not present. This change adds the infrastructure for this but
does not yet enable BHI_DIS_S.
ok jsg@
Switch syslogd(8) to getexecpath(3).
Both syslogd and syslogd-parent call getexecpath() to get their own
program path. Then they transform the trailing components into the
path of the other one, which each has to execv(3) during start or
after SIGHUP.
with deraadt@; OK millert@