editors/openoffice-devel: Upgrade to a new snapshot
Upgrade to a new snapshot of the upstream AOO42X branch.
Switch from system textproc/libtextcat to bundled libtextcat.
The system version probably never worked properly because it
lacks UTF-8 support, whereas the bundled version has been patched
to support UTF-8. Longer term, libtextcat should be replaced
by libexttextcat.
Disable WIKI_PUBLISHER and mark BROKEN. It relies on
apache-commons-httpclient which has an open MITM CVE. It should
be upgraded to Apache HttpComponents, but that requires a newer
java.
Disable bridgetest on i386 due to a uno core dump in testtools.
Removed old code optimization tweak that is probably left over
from when we used the buggy -Os compiler optimization flag.
[4 lines not shown]
rtld: more caution when parsing in digest_notes()
Incorrect ELF might have PT_NOTE slightly larger than the needed to
contain all notes, and the PT_NOTE size could be larger than one page.
Then rtld mmaps just the notes bytes to parse. After the last note,
we iterate past the mapped region trying to read the Elf_Note header.
This was found in wild.
Require full elf note to fit into the [start_note, end_note) region to
continue the parsing. Check it in stages, first verifying the Elf_Note
header structure fits, to be able to read the name and data length.
After that, check the whole note against limit.
Reported and tested by: makc
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D59635
image: Use msg_n/done idiom for ZFS image build status messages
zfs send/recv, zpool create, and zfs create/snapshot are all silent
on success and can take a noticeable amount of time (especially for
larger images), but were reported via standalone msg() calls with no
completion signal. Switch to the msg_n "...done" idiom used elsewhere
for silent, potentially slow operations.
image: Use msg_n/done idiom for install_world tar status
install_world() reported "Installing world with tar" and "Installing
world done" as two separate msg() lines, even though both the tar
pipeline and make -s are always silent on success and the operation
(copying the full world plus delete-old) can take a while. Switch to
the msg_n "...done" idiom used elsewhere for silent, potentially slow
operations.
jail: Add trailing ellipsis to make/freebsd-update status messages
Each of these msg() calls is immediately followed by an unredirected
external command (make or freebsd-update) whose own real-time output
streams directly to the console right after the header, with no
paired completion message -- the command's own output, or the
err()/msg_warn() on failure, is what signals progress/completion.
Add a trailing "..." so the header reads as in-progress rather than
a standalone statement, consistent with msg_n() callers elsewhere.
image: Use msg_n/done idiom for miniroot creation status
mkminiroot() reported "Making miniroot" as a standalone msg() even
though the function is mostly silent and can take a noticeable
amount of time (copying files, resolving shared library deps, and
running makefs/gzip). Of its steps, only makefs writes unredirected
output to stdout; gzip -9 without -v is already silent. Redirect
makefs's output to /dev/null, matching the same treatment already
used for its sibling make_esp_file(), and switch to the msg_n
"...done" idiom used elsewhere for silent, potentially slow
operations so the whole function reports as one in-progress status
line instead of a header with no matching completion.
build_port: Add trailing ellipsis to shared library dependency check
The readelf/grep output for the NEEDED library list prints directly
after this status line, so it should read as in-progress like other
such messages instead of a standalone statement.
iflib: Use a bounded buf_ring for simple_tx
Implement buf_ring/drbr deferred transmit in iflib. This is intended
to allow the new simpler code path to replace mp_ring. This patch
makes the simple_tx outperform mp_ring by a wide margin when CPU is
the bottleneck (eg, cannot fill the NIC). See graphs at:
https://people.freebsd.org/~gallatin/mpring_vs_simple_tx
Note that the buf ring is used for contention, not capacity. Eg,
it is used as a place for contending threads to put packets without
waiting for a mutex. It is not designed to act as a software ring
on top of the hardware descriptors provided by the underlying NIC
driver. "stranded packets" are exceedingly rare due to the fact that
if there is enough load to use the buf_ring, there will probably be
more load coming that can be a drainer. Not scheduling a gtask to
drain is intentional, and we really on the timer as a fallback.
One thing I noticed while developing this patch is that a simple mutex
with no deferral generally outperformed both mp_ring and drbr at high
[28 lines not shown]
vtnet: offer VIRTIO_NET_F_GUEST_CSUM
Always offer the VIRTIO_NET_F_GUEST_CSUM feature to the host, and not
only if RXCSUM is enabled on vtnet. Instead of using RXCSUM to control
whether this feature will be negotiated with the host, just use it to
control whether the VIRTIO_NET_HDR_F_DATA_VALID flag on an incoming
packet is processed (i.e., translated to the corresponding mbuf flag
only if RXCSUM is enabled on the vtnet interface).
This has two benefits:
1. Enabling/disabling RXCSUM on vtnet does not require feature
renegotiation.
2. The host is always allowed to send locally generated TCP or UDP
packets to the guest without computing a full checksum (by setting
the VIRTIO_NET_HDR_F_NEEDS_CSUM flag) and not only if the guest has
enabled RXCSUM on vtnet. Since locally generated packets do not
require a checksum, this saves otherwise unnecessarily wasted
computing power.
If a user of a FreeBSD guest really does not want to negotiate the
VIRTIO_NET_F_GUEST_CSUM feature with the host, it still can disable
[6 lines not shown]
linuxkpi: Add x86 CPU ID matching functions and macros
There are two parts that go together:
* `X86_MATCH_VFM()` to declare a matching pattern
* `x86_match_cpu()` to check if the current CPU matches one of the
patterns in an array.
The i915 DRM driver started to use this in Linux 6.14.
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57700
Reject unsafe package names from ports metadata
PKGNAME is used to construct host-side package staging paths. A port
can supply traversal components and cause those paths to escape the
staging directory.
Validate package names when reading port metadata and before a build
worker uses one. This prevents path separators and dot traversal
components from reaching host filesystem operations.
(cherry picked from commit e90c7ba59dbb1b42b9e83029e88c570caf29d632)
Conflicts:
src/share/poudriere/common.sh
Issue #1363