mail/spf-tools: [New Port] Shell tools for keeping SPF records tidy
A collection of scripts for manipulating SPF records to stay within
the 10 DNS look-up limit specified in RFC 7208. Also includes scripts
to update SPF records via AWS, Cloudflare, and DNSimple APIs.
PR: 294442
Author: Jordan Montesse <ports at brtsvcs.net>
net/route-summarization: [New Port] Lightweight CIDR aggregator using Perl's Net::CIDR::Lite
A lightweight CIDR aggregation utility built in Perl using the
Net::CIDR::Lite module. This tool summarizes IPv4 and IPv6 prefixes
from standard input and optionally formats output for SPF record
usage.
Inspired by the original concept described in Random Thoughts.
PR: 294430
Author: Jordan Montesse <ports at brtsvcs.net>
[X86] Pool sparse disassembler opcode rows (#202666)
The XOP, 3DNow, and VEX/EVEX map 4-7 decoder tables contain 1,760
context rows but only 266 distinct values. Keep the four common opcode
maps as direct tables and intern rows only for these eight sparse maps.
This reduces fully stripped arm64 llvm-mc from 8,333,344 to 6,797,728
bytes, saving 1,535,616 bytes (18.43%). X86Disassembler.cpp.o decreases
by 1,525,328 bytes (52.36%); constant data falls by 1,526,328 bytes
while text grows by 848 bytes. The stripped all-tools multicall binary
decreases from 145,103,200 to 143,567,584 bytes, saving 1,535,616 bytes
(1.058%).
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
[compiler-rt][sanitizer_common] Remove internal linkage from RegisterFlag (NFC) (#206308)
RegisterFlag is a static function template in a header, so every TU that
includes it without calling it trips `-Wunused-template`. Dropping
static gives it normal external linkage and clears the warning.
NFC. Part of #202945.
[clang] fix redeclarations of the injected class name
The declaration used to represent an injected class name should never
be part of any redeclaration chain.
Fixes #202320
fusefs: fix vnode locking violations during execve
Fix two locking violations that could happen during execve, while
executing a file stored on fusefs. Both would cause panics on an
INVARIANTS kernel after 15.0, or a DEBUG_VFS_LOCKS kernel prior to that.
Neither is likely to be noticeable on a release kernel.
* Don't assume that the vnode is exclusively locked during VOP_CLOSE.
It usually is thanks to !MNTK_LOOKUP_SHARED, but isn't during execve,
which locks the vnode outside of the lookup path.
* Totally rewrite fuse_io_invalbuf. It's had a number of problems ever
since its original introduction[^1]:
- Don't assume that the vnode is exclusively locked. That assumption
failed during execve just like the assumption in fuse_vnop_close.
- Don't livelock forever if vinvalbuf returns ENOSPC or EDQUOT.
[20 lines not shown]
canna-canuum: make terminal library selection more explicit
Use ${IMAKEOPTS} to define a proper macro prepared
(but not properly set by default) in Imakefile,
rather than forcibly patching Imakefile via SUBST.