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@
Migrate vmd(8) to use getexecpath(3).
vmd requires absolute paths during its many instances of fork+exec
in conjunction with its usage of unveil(2). Make it easier to run
vmd by capturing the absolute path via getexecpath(3) during early
init and storing it in the vmd environment state.
Looks good to deraadt@, "go for it" mlarkin@
Fix off-by-one in pf(4) ioctl DIOCIGETIFACES
The check for buffer exhaustion in pfi_get_ifaces() is off-by-one.
This leaves the last part of the buffer uninitialized and copies
out foreign heap data.
from Johann Hoepfner; OK deraadt@ sashan@
auxinfo was not being placed on the stack for -static -pie binaries.
auxinfo was originally intended only for ld.so but libc has started inspecting
it, though nothing went wrong if it was missing. But now libc getexexpath(3)
requires it.
ok kettenis