FreeNAS/freenas 61b1d23 — src/middlewared/middlewared main.py

NAS-142000 / 27.0.0 / Set the syslog ident for PAM records from middlewared (by anodos325) (#20132)

Original PR: https://github.com/truenas/middleware/pull/20130

Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
DeltaFile
+3-0src/middlewared/middlewared/main.py
+3-01 files

FreeNAS/freenas 242682d — tests/api2 test_account_privilege_role_private_fields.py

Remove user redacting test
DeltaFile
+0-9tests/api2/test_account_privilege_role_private_fields.py
+0-91 files

LLVM/project 2389e98 — lld/MachO SyntheticSections.cpp ConcatOutputSection.cpp, lld/test/MachO objc-stubs-order-file.s arm64-thunk-objc-class-stubs.s

[lld-macho] Put ObjC class stubs in __objc_clsstubs

ld64 puts class stubs (_objc_msgSendClass$...) in their own section, __TEXT,__objc_clsstubs, between the stubs and __objc_stubs, on arm64 and arm64e. lld mixed them into __objc_stubs. Do as ld64 does.

The section has an explicit place in the __TEXT order, and thunk generation, the map file and order files treat it like __objc_stubs.

Assisted-by: Claude Code
DeltaFile
+122-69lld/test/MachO/arm64-objc-class-stubs.s
+58-0lld/test/MachO/arm64-thunk-objc-class-stubs.s
+30-12lld/test/MachO/objc-stubs-order-file.s
+14-8lld/MachO/Writer.cpp
+13-7lld/MachO/ConcatOutputSection.cpp
+9-8lld/MachO/SyntheticSections.cpp
+246-10411 files not shown
+300-12517 files

LLVM/project d17046d — lld/test/MachO arm64e-stubs.s arm64-objc-class-stubs.s, llvm/test/tools/llvm-objdump/MachO chained-fixups-objc-refs.test

[llvm-objdump] Read ObjC references through chained fixups

llvm-objdump names the selector or class reference that an instruction loads by reading the pointer in sections such as __objc_selrefs. With chained fixups, as on arm64e, each of these pointers holds an encoded fixup instead, so few or none of them got a name, and a bound class reference showed as "bad class ref".

Read them through the fixups that libObject already decodes: a rebase gives its target, and a bind reads as zero, as it does without chained fixups, so a class reference gets its name from the bind table, which now includes chained binds. The bind table also serves --objc-meta-data, which now names bound class references too. For a pointer format that libObject does not decode, llvm-objdump warns and reads the pointers as before.

Two lld tests now check the arm64e selector references they had left unchecked.

Assisted-by: Claude Code
DeltaFile
+374-0llvm/test/tools/llvm-objdump/MachO/chained-fixups-objc-refs.test
+32-0llvm/tools/llvm-objdump/MachODump.cpp
+10-12lld/test/MachO/arm64-objc-class-stubs.s
+8-4lld/test/MachO/arm64e-stubs.s
+424-164 files

LLVM/project 1a93c44 — lld/MachO/Arch ARM64.cpp

[lld-macho] Delegate small arm64e class stubs to ARM64

Small arm64e class stubs now call the ARM64 writer, as ARM64e::writeObjCMsgSendStub does for selector stubs, so the shared code handles only fast stubs and no longer needs a placeholder _objc_msgSend slot. GOT slot addresses come from GotSection::getVA. The output is unchanged.

Co-authored-by: Nico Weber <thakis at chromium.org>
Assisted-by: Claude Code
DeltaFile
+69-67lld/MachO/Arch/ARM64.cpp
+69-671 files

LLVM/project e61a9cc — libc/src/__support/GPU allocator.cpp

[libc][GPU] Restore release/acquire ordering on the allocator bitfield (#238208)
DeltaFile
+2-2libc/src/__support/GPU/allocator.cpp
+2-21 files

FreeNAS/freenas 7284a74 — src/middlewared/middlewared/api/base model.py, src/middlewared/middlewared/api/base/handler remove_secrets.py

NAS-145062 / 27.0.0 / Fix `serialize_result` fallback (by themylogin) (#20137)

`serialize_result` was broken trivially and didn't have any integration
tests (and unit tests didn't cover failure mode).

Added explicit integration tests for secret redaction for invalid rows.
There only a few plugins left. Everything else has been already
converted to the new style that simply ignores invalid rows.

Original PR: https://github.com/truenas/middleware/pull/20115

---------

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+180-2src/middlewared/middlewared/pytest/unit/api/handler/result/test_secret.py
+99-78src/middlewared/middlewared/api/base/handler/remove_secrets.py
+146-4tests/api2/test_account_privilege_role_private_fields.py
+0-10src/middlewared/middlewared/plugins/test/init.py
+9-0src/middlewared/middlewared/plugins/test/dump_result.py
+6-2src/middlewared/middlewared/api/base/model.py
+440-962 files not shown
+443-988 files

FreeNAS/freenas 1c32c0f — src/middlewared/middlewared/plugins/truenas license.py, src/middlewared/middlewared/plugins/truenas_connect update.py

NAS-144234 / 27.0.0 / Remove the TNC-delivered license when leaving TrueNAS Connect (by sonicaj) (#20134)

This PR adds changes to remove the license TrueNAS Connect delivered
when the system leaves TNC, either because the user disabled it or
because TNC de-registered the system (heartbeat/ACME 401). Without this
the license daemon kept honoring the TNC license until its signed
expiry, so paid entitlements persisted after leaving TNC.

Only a community license carrying TNC_SUB is removed. TNC_SUB can also
appear on commercial/enterprise licenses, so the type check is what
keeps paid licenses untouched. Removal deletes the license file, waits
for the daemon to reload and fires `system.post_license_update` so
entitlements, alerts and services re-evaluate. It is best effort: any
failure is logged and never fails the disable or de-registration.

Original PR: https://github.com/truenas/middleware/pull/20107

Co-authored-by: Waqar Ahmed <waqarahmedjoyia at live.com>
DeltaFile
+34-0src/middlewared/middlewared/pytest/unit/plugins/truenas/test_license_remove.py
+14-0src/middlewared/middlewared/utils/license/daemon.py
+14-0src/middlewared/middlewared/plugins/truenas/license.py
+9-0src/middlewared/middlewared/plugins/truenas_connect/update.py
+2-1src/middlewared/middlewared/utils/license/__init__.py
+73-15 files

FreeNAS/freenas 7ef9d72 — src/middlewared/middlewared/plugins/crypto_ renew_certs.py, src/middlewared/middlewared/plugins/truenas_connect acme.py

NAS-145003 / 27.0.0 / Renew TNC certificate when the ARI lookup fails (by sonicaj) (#20135)

This PR fixes an issue where the TNC certificate was never renewed when
the current ACME CA could not answer the ARI lookup for it, which
happens when TNC moves the account to a CA that did not issue the
certificate (LE and ZeroSSL answer 404, GTS 400). Every ARI error was
treated as "renewal not needed" and the TNC certificate was only looked
at in its last 5 days, so it was skipped daily until it expired.

ARI is now consulted on every daily run with `renew_days` as the floor.
A 400/404 for a certificate issued at least 7 days ago triggers an
immediate renewal without `replaces`; the age guard keeps a fault on our
side or the CA's from reissuing daily across the fleet. Other ARI errors
fall back to the floor instead of vetoing renewal, an expired
certificate renews without querying ARI, and `renew_cert` is serialized
so the boot/failover state check and `renew_certs` cannot both issue a
certificate.

Depends on https://github.com/truenas/truenas_crypto_utils/pull/19 for

    [10 lines not shown]
DeltaFile
+53-38src/middlewared/middlewared/plugins/truenas_connect/acme.py
+35-3src/middlewared/middlewared/pytest/unit/plugins/test_truenas_connect.py
+7-4src/middlewared/middlewared/plugins/crypto_/renew_certs.py
+95-453 files

LLVM/project dd05b6c — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-byref.cir indirect-aliased-nyi.cir

[CIR][mlir][ABI] Add IndirectAliased (byref) argument lowering (#230415)

**Summary:**
Stacked on PR #229991
This PR includes the following changes:

ABIRewriteContext:
- Added `ArgKind::IndirectAliased` and
`ArgClassification::getIndirectAliased` to the MLIR ABI library.

CallConvLowering:
- Mapped classic `IndirectAliased` to the new kind instead of asserting.

CIRABIRewriteContext:
- Rewrite a `byref` parameter to a pointer in its own address space.
- Attach `llvm.align`, `llvm.noundef` and `llvm.byref(T)` to the
parameter and to call operands.
- Callee copies the object into its param slot, as for byval.
- Call site forwards matching storage or copies into a "byref" slot.

    [7 lines not shown]
DeltaFile
+233-0clang/test/CIR/Transforms/abi-lowering/indirect-aliased.cir
+122-54clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+63-0clang/test/CIR/Transforms/abi-lowering/indirect-aliased-nyi.cir
+55-0clang/test/CIR/Transforms/abi-lowering/amdgpu-byref.cir
+48-0mlir/unittests/ABI/TestTargetTest.cpp
+16-6mlir/lib/ABI/Targets/Test/TestTarget.cpp
+537-606 files not shown
+594-8512 files

NetBSD/pkgsrc nLXPwxM — doc CHANGES-2026

   doc: Updated www/drupal11 to 11.4.10
VersionDeltaFile
1.7649+2-1doc/CHANGES-2026
+2-11 files

FreeNAS/freenas dd80c87 —

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

NetBSD/pkgsrc aS4Xh9p — www/drupal11 Makefile distinfo

   www/drupal11: update to 11.4.10

   11.4.8 (2026-09-26)

   This is a patch (bugfix) release of Drupal 11.

   11.4.9 (2026-10-09)

   This is a patch (bugfix) release of Drupal 11.

   11.4.10 (2026-10-14)

   Security issues fixed

   This release fixes security vulnerabilities. Sites are urged to update
   immediately after reading the following security announcements and release
   notes:

   * Drupal core - Critical - Remote code execution - SA-CORE-2026-014

    [15 lines not shown]
VersionDeltaFile
1.7+38-3www/drupal11/PLIST
1.7+4-4www/drupal11/distinfo
1.14+2-2www/drupal11/Makefile
+44-93 files

LLVM/project 69e04aa — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Add assert
DeltaFile
+1-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-01 files

FreeNAS/freenas 3b72985 — src/middlewared/middlewared/plugins/usage __init__.py run.py, src/middlewared/middlewared/plugins/zfs resource.py count_impl.py

NAS-144926 / 28.0.0-BETA.1 / Submit usage statistics once a day and gather space cheaply (#20110)

## Problem
Usage statistics were submitted at a random time after every middleware
start, so reboots, restarts and failovers could send them more than once
a day.
Gathering also walked every dataset and zvol on every pool and read
space properties for each one, when only counts, root dataset space,
zvol `used` and the `used` of backed-up datasets were needed. The
per-pool entries only had `capacity`, so used and free space couldn't be
told apart, and `data_without_backup_size` summed `used` over every
dataset, counting nested data once per level.

## Solution
- **Submit at most once every 24 hours.** The time of the last
successful submission is kept in keyvalue, `usage.start` only submits
once 24 hours have passed since then, and the next run is scheduled for
24 hours after it, or 24 hours from now if the attempt raises, so an
unexpected error can't stop future runs until middleware restarts. When

    [27 lines not shown]
DeltaFile
+44-25src/middlewared/middlewared/plugins/usage/gather.py
+36-8src/middlewared/middlewared/plugins/usage/run.py
+30-0src/middlewared/middlewared/plugins/zfs/count_impl.py
+7-10src/middlewared/middlewared/plugins/usage/__init__.py
+17-0tests/api2/test_usage_reporting.py
+6-0src/middlewared/middlewared/plugins/zfs/resource.py
+140-436 files

NetBSD/pkgsrc Xy0YGqt — doc CHANGES-2026

   doc: Updated www/squid7 to 7.8
VersionDeltaFile
1.7648+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc TdRETNt — www/squid7 PLIST Makefile, www/squid7/patches patch-configure

   www/squid7: update to 7.8

   7.8 (28 Oct 2026)

   - Bug 5553: Segfault when parsing valueless request_header_add
   - Bug 5552: Buffer overflow when parsing deny_info NNN w/o URL
   - HTTP(S): Reject Range and Content-Range with INT64_MAX last-pos
   - Treat %00 pct-encoding triplets in URLs as invalid
   - Improve uri_whitespace chop support
   - Improve cache digest mask sizing
   - ICP: Tolerate more responses not associated with a cache_peer
   - FTP: Properly escape unusual directory listing lines
   - ICAP: Replace Trailer validation Must() with an explicit throw
   - ntlm_fake_auth: Convert documentation to POD syntax
   - basic_radius_auth: Do not pass negative char to isspace()
   - negotiate_sspi_auth: Fix crash in FormatMessage()
   - WCCP: Fix offset calculation when parsing incoming packets
   - Remove unimplemented sslflags=DELAYED_AUTH squid.conf option
   - Apply OpenSSL pkg-config settings before checking headers

    [2 lines not shown]
VersionDeltaFile
1.2+19-19www/squid7/patches/patch-configure
1.9+5-5www/squid7/distinfo
1.13+2-2www/squid7/Makefile
1.3+2-1www/squid7/PLIST
+28-274 files

NetBSD/pkgsrc oR1lGsQ — doc CHANGES-2026

   doc: Updated www/php-ja-wordpress to 7.0.8
VersionDeltaFile
1.7647+2-1doc/CHANGES-2026
+2-11 files

LLVM/project 12fba37 — llvm/utils profcheck-xfail.txt

[ProfCheck] Add FixIrreducible test to XFail (#238825)

We haven't gotten to this pass yet.

Introduced in 2edd62c274ea536a65fff39ffb7e66aa018a1082 (#237917).
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

NetBSD/pkgsrc mcocb6R — www/php-ja-wordpress Makefile distinfo

   www/php-ja-wordpress: update to 7.0.8

   7.0.8 (2026-10-28)

   * An Editor+ stored cross-site scripting (XSS) issue in the personal data
     erasure requests screen reported by Anthropic

   * A Contributor+ stored cross-site scripting (XSS) issue via whitespace in
     block delimiters reported by Rafie Muhammad (Awesome Motive, Inc.)

   * An information disclosure issue exposing unpublished Customizer changes to
     unauthenticated visitors reported by Antonio Lorensius Silaban

   * A hardening fix for unescaped usernames on the multisite Network Users
     screens reported by Anthropic

   * A permissions issue letting custom roles that moderate comments read, edit
     and delete notes on posts they can’t edit reported by Ramon of the
     WordPress Security Team

    [41 lines not shown]
VersionDeltaFile
1.21+1-139www/php-ja-wordpress/PLIST
1.36+4-4www/php-ja-wordpress/distinfo
1.41+2-2www/php-ja-wordpress/Makefile
+7-1453 files

NetBSD/pkgsrc TlcoKsU — doc CHANGES-2026

   doc: Updated www/wordpress to 7.0.8
VersionDeltaFile
1.7646+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc 03qTXRO — www/wordpress Makefile distinfo

   www/wordpress: update to 7.0.8

   7.0.8 (2026-10-28)

   * An Editor+ stored cross-site scripting (XSS) issue in the personal data
     erasure requests screen reported by Anthropic

   * A Contributor+ stored cross-site scripting (XSS) issue via whitespace in
     block delimiters reported by Rafie Muhammad (Awesome Motive, Inc.)

   * An information disclosure issue exposing unpublished Customizer changes to
     unauthenticated visitors reported by Antonio Lorensius Silaban

   * A hardening fix for unescaped usernames on the multisite Network Users
     screens reported by Anthropic

   * A permissions issue letting custom roles that moderate comments read, edit
     and delete notes on posts they can’t edit reported by Ramon of the
     WordPress Security Team

    [41 lines not shown]
VersionDeltaFile
1.106+4-4www/wordpress/distinfo
1.126+2-2www/wordpress/Makefile
+6-62 files

FreeNAS/freenas 8315717 — src/middlewared/middlewared/etc_files nfs.conf.mako krb5.conf.py, src/middlewared/middlewared/etc_files/ctdb nodes.mako ctdb.conf.mako

NAS-145088 / 28.0.0-BETA.1 / Use `raise FileShouldNotExist()` (#20138)

Although `raise FileShouldNotExist` is a valid Python code, it just
looks wrong.

It's the only exception class that is raised like this across our
codebase.
DeltaFile
+4-4src/middlewared/middlewared/etc_files/local/openldap/ldap.conf.mako
+3-3src/middlewared/middlewared/etc_files/krb5.conf.py
+1-1src/middlewared/middlewared/etc_files/sssd/sssd.conf.mako
+1-1src/middlewared/middlewared/etc_files/nfs.conf.mako
+1-1src/middlewared/middlewared/etc_files/ctdb/nodes.mako
+1-1src/middlewared/middlewared/etc_files/ctdb/ctdb.conf.mako
+11-112 files not shown
+13-138 files

LLVM/project 66f6119 — flang/include/flang/Semantics symbol.h

[flang] [Semantics] [NFC] Use copy-initialization for DerivedTypeDetails:ordinalComponentName (#238674)

Brace-initializing the in-class static constexpr char array fails to
compile with Visual Studio 2019 16.11 (MSVC 19.29.30156). Use the equals
form instead. The array value is unchanged, and the change keeps Flang
buildable with the Visual Studio 2019 16.8 minimum listed in
GettingStarted.md.
DeltaFile
+3-1flang/include/flang/Semantics/symbol.h
+3-11 files

FreeNAS/freenas 73a1498 — src/middlewared/middlewared/common/attachment __init__.py, src/middlewared/middlewared/plugins/truenas_s3 bucket_crud.py

Keep other writers off S3 bucket datasets

## Problem
Middleware only refused a writer whose own path was at or inside a BUCKET bucket's dataset, and only when the writer was saved. A writable share or task on a parent dataset and several path-based writers were never checked, and renaming a dataset that held a bucket left the bucket row on the old name.

## Solution
These are best-effort guard rails against misconfiguration.
- **Writers above a bucket.** Writable shares and tasks whose writes cross into child mounts, home directories and the anonymous FTP root are refused on or above a bucket's dataset, on save and on enable. Creating or recovering a bucket where such a writer already reaches it is refused too, and rsync and cloud sync pulls re-check before each run.
- **Path-based writers.** iSCSI and NVMe-oF file extents, VM disks and container devices, `filesystem` writes, VM disk conversion, update uploads, the cloud backup cache and restore, and recursive permission changes inside a bucket outside `s3data` get the same check. Webshare honours `readonly`.
- **Rename.** Renaming a dataset that holds a bucket is refused, since the running service pins the bucket's mount and the row would keep the old name.
- **`Middleware._call`** no longer drops keyword arguments for coroutine methods.
DeltaFile
+157-44src/middlewared/middlewared/plugins/truenas_s3/bucket_crud.py
+110-36tests/api2/test_s3_bucket.py
+44-2src/middlewared/middlewared/common/attachment/__init__.py
+33-6src/middlewared/middlewared/utils/service/path.py
+26-0src/middlewared/middlewared/pytest/unit/plugins/test_truenas_s3_bucket_paths.py
+17-3src/middlewared/middlewared/service/sharing_task_service_part.py
+387-9126 files not shown
+499-12032 files

OPNSense/core dfb125b — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

firewall: DNAT - decorate rules after filtering

Decorating only the returned rows avoids unnecessary presentation metadata work.
DeltaFile
+12-5src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+12-51 files

OPNSense/core 502d1c7 — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php

firewall: SNAT - decorate rules after filtering

Decorating only the returned rows avoids unnecessary presentation metadata work.
DeltaFile
+13-5src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+13-51 files

LLVM/project 3e0a258 — llvm/lib/Transforms/Utils CodeExtractor.cpp, llvm/test/Transforms/HotColdSplit assumption-cache-verify-arg.ll

[CodeExtractor] Handle non-instruction assumption conditions (#238462)

Replaces the `cast<Instruction>` in CodeExtractor's assumption cache
verifier with `dyn_cast` so it no longer asserts when an assumption's
condition is not an instruction such as a function argument like`call
void @llvm.assume(i1 %condition)`

Since only instructions can have moved into the outlined function, other
values can be skipped.

The verifier is also now run under `#ifndef NDEBUG` rather than only
with `-debug-only=code-extractor`.
DeltaFile
+20-0llvm/test/Transforms/HotColdSplit/assumption-cache-verify-arg.ll
+6-4llvm/lib/Transforms/Utils/CodeExtractor.cpp
+26-42 files

OPNSense/core 3bb365e — src/etc/inc filter.inc, src/opnsense/scripts/filter list_non_mvc_rules.php

firewall: NAT: add same query performance fix for automatic rules as in 889bcde (#11102)
DeltaFile
+17-2src/opnsense/scripts/filter/list_non_mvc_rules.php
+5-7src/opnsense/service/conf/actions.d/actions_filter.conf
+5-1src/etc/inc/filter.inc
+27-103 files

NetBSD/pkgsrc wnLFQFv — doc CHANGES-2026

   doc: Updated www/php-contao-manager to 1.10.19
VersionDeltaFile
1.7645+2-1doc/CHANGES-2026
+2-11 files