x11-fonts/webfonts: Fix ClearType extraction with libarchive 3.8.9
Unpack ppviewer.cab to a file instead of piping it into a second bsdtar.
libarchive 3.8.9 fails to skip entries of an LZX cabinet read from a
stream and aborts with "LZX decompression failed (-25)", while the
seekable path works on every version:
https://github.com/libarchive/libarchive/issues/3542
The fix is already upstream but is in no release yet, and main,
stable/15 and stable/14 all carry 3.8.9.
Extracting eula.txt now happens in the same pass over the outer cabinet.
While here, move NO_WRKSUBDIR where portclippy wants it.
PR: 299148
Reported by: KOT at MATPOCKuH.Ru
[mlir][SPIR-V] Deduce capabilities from spec constant types in update-vce (#228067)
Spec constant ops have no results, so the pass skipped their types and
missed capabilities such as Int64 for an i64 spec constant
[TySan] Fix crash in instrumentation with scalar TBAA tag missing offset (#172878)
According to the LLVM language reference, the third operand (offset) for
a scalar TBAA node is allowed to be absent, in which case the offset is
assumed to be zero. However, the TySan instrumentation pass assumes it
exists, causing a crash when instrumenting
[this](https://github.com/llvm/llvm-test-suite/blob/main/Bitcode/Regression/vector_widen/vector_widen.bc)
bitcode file from the LLVM test suite. This PR changes the
instrumentation to treat this field as zero if it is missing, fixing the
crash.
---------
Co-authored-by: Matthew Nagy <matthew.nagy at sony.com>
Co-authored-by: Florian Hahn <flo at fhahn.com>
NAS-144165 / 27.0.0 / Fix iSCSI file extent resize when the extent name contains a slash (by yocalebo) (#19931)
SCST does not allow a period or a slash in a device name, so middleware
replaces both when it writes the SCST configuration. The resize code for
file extents only replaced the period. Growing a file extent with a
slash in its name wrote to a path that does not exist, and connected
initiators did not see the new size.
Both resize functions now use sanitize_extent, which is the helper the
rest of the iSCSI plugin already uses to build these paths.
Original PR: https://github.com/truenas/middleware/pull/19911
Co-authored-by: caleb <yocalebo at gmail.com>
NAS-144165 / 28.0.0-BETA.1 / Fix iSCSI file extent resize when the extent name contains a slash (#19911)
SCST does not allow a period or a slash in a device name, so middleware
replaces both when it writes the SCST configuration. The resize code for
file extents only replaced the period. Growing a file extent with a
slash in its name wrote to a path that does not exist, and connected
initiators did not see the new size.
Both resize functions now use sanitize_extent, which is the helper the
rest of the iSCSI plugin already uses to build these paths.
[X86][Clang] add remaining AVX512 integer comparison intrinsics to be used in constexpr (#228660)
This PR introduces the remaining tests mentioned in (#169452)
```
_mm(/256/512)_cmp_mask_ep(i/u)8_mask
_mm(/256/512)_cmp_mask_ep(i/u)16_mask
_mm(/256/512)_cmp_mask_ep(i/u)32_mask
_mm(/256/512)_cmp_mask_ep(i/u)64_mask
```
closes #162054
[mlir][ArithToSPIRV] Fix crash on tensor arith.uitofp/sitofp lowering (#227102)
This PR adds type validation before calling getIntOrFloatBitWidth() in
uitofp/sitofp conversion, avoiding assertion failures on unsupported
types.
Closes #226380
tlottie: add tlottie-1.0.6
Library for drawing lottie animations, written in Rust.
* Micro-optimized and benchmarked across 17k+ animations from Telegram, against rlottie and thorvg.
* SIMD on ARM NEON, x86_64 SSE2 AVX2 AVX512, and WASM: web demo.
* Support of fitz modifier and color replacements.
* Support of rendering into only alpha channel bitmap.
* Safe. Lottie JSON is treated as untrusted input.
* Zero1 dependencies.
NAS-144136 / 27.0.0 / Report crash-looping app containers as crashed (by Qubad786) (#19910)
## Problem
A container that exits with an error under the catalog's default
`unless-stopped` restart policy is reported by Docker as `restarting`,
not `exited`. The container state mapping only looked at the exit code
for `exited`, so a crash-looping container fell through to `exited`. A
multi-container app with a healthy sibling then showed as Running, and a
single-container app showed as Stopped, which hid its workloads and
blocked logs, upgrade and rollback.
## Solution
Treat a `restarting` container as crashed when its last exit code is
non-zero. Docker only restarts a container after an exit it didn't
cause, since stopping or killing it through Docker cancels the restart
policy, so any non-zero code there is a real failure, including 137 from
an OOM kill. A restart after a clean exit is still reported as exited.
Added a unit test for the Docker status to container state mapping,
which had no coverage.
[5 lines not shown]
[lldb][minidump] Make ArchThreadContexts::data less surprising (#229067)
It is returning the address of one of the union members. Which is valid,
but surprising when you're looking through this code. Looks like a bug
at first glance.
To prevent me thinking that in the future, name the union and return the
address of that.
Stop the SED unlock when the drive is busy
The unlock tries the raw password first and then the two hashed forms
that sedutil made on Linux and on FreeBSD. Any failure moved on to the
next password. That is right when the drive rejects a password. It is
wrong when the wait for another SED operation on the drive ran out,
because no password was sent at all.
The unlock now stops on that timeout and returns its message. A rejected
password still moves on to the next one as before.
This needs the truenas_pylibsed change that raises TimeoutError for the
timeout. Without that change nothing is different.
net/frr: reimplement handling policy list entries as logical groups (#5745)
* net/frr: BGP handle grouped policy objects consistently
Keep the existing flat storage for prefix lists, AS-path lists, community lists, and route maps while presenting each logical group as one model relation option. This avoids a fragile configuration migration and retains compatibility with existing UUID references.
Add a shared FRR controller guard which prevents deleting any member of a logical group while one of its entries is referenced. Group list entries by their displayed name or number and clarify the corresponding form help.
When rendering BGP, consider a logical group enabled when any of its entries is enabled. Apply this consistently to neighbor and peer-group policy attachments, redistribution route maps, and route-map matches.
* net/frr: OSPF handle grouped policy objects consistently
Present flat prefix-list and route-map entries as logical groups in relations. Protect every member of a referenced group from deletion and render references whenever any member of the selected group is enabled.
* net/frr: Update plugin changelog
Document consistent handling of grouped BGP, OSPF, and OSPFv3 policy objects.
* net/frr: Use tabulator groupBy to logically group the keys in the grid
[Remarks] Escape control characters in YAML remark arguments and decode them when parsing
The serializer writes argument values with more than one newline as
literal block scalars. A block scalar has no escapes, so a value that
also contained a control character other than tab or newline was
written with the raw byte, which strict YAML readers reject. Such
values now use the double-quoted form, as do values whose first line
starts with a space, which a block scalar would read as indentation.
The parser took the raw scalar text and stripped only single quotes, so
double-quoted values came back with their quotes and escapes, and ''
inside single quotes was not unescaped. Decode scalars with
ScalarNode::getValue instead and report escape errors. Unescaped values
are copied into storage owned by the parser.
Assisted-by: Claude
[Support] Preserve trailing newlines in YAML block scalar output
Output::blockScalarString always wrote "|", whose default clip chomping
keeps exactly one trailing line break. A value without a trailing
newline came back with one, and extra trailing newlines were dropped.
Write "|-" or "|+" when the value does not end in exactly one newline.
MIR modules and bodies end in exactly one newline, so their output does
not change.
Assisted-by: Claude
[Remarks] Reject null characters in YAML remark strings
The bitstream string table stores NUL-terminated strings, so a string
with an embedded NUL splits into several entries and every later string
is read back at the wrong index. Now that the YAML parser decodes
escapes, "\0" in YAML input reaches that path. Reject it with a parse
error.
Assisted-by: Claude