LLVM/project 804efba — llvm/lib/Target/PowerPC PPCInstrInfo.cpp, llvm/test/CodeGen/PowerPC convert-rr-to-ri-instrs.mir convert-rr-to-ri-instrs-out-of-range.mir

PowerPC: Promote 32-bit ops to 64-bit in place for EXTSW elimination (#229054)

promoteInstr32To64ForElimEXTSW rebuilt a 32-bit instruction as its
64-bit counterpart (e.g. SRAWI -> SRAWI8) with BuildMI, which adds the opcode's
implicit defs, and then copied over the original operands, which already carry them. 
This produced duplicate, inconsistent defs:

%8:g8rc = SRAWI8 killed %7, 8, implicit-def $carry, implicit-def dead $carry

The 32-bit and 64-bit opcodes have the same operand layout, so mutate the 
original instruction with setDesc instead. This keeps the original implicit defs 
with their dead flags, and also preserves the memoperands and MI flags
that rebuilding dropped. The preserved memoperand on a promoted LHA8 allows
the scheduler to reorder it with spills in aix-cc-abi.ll.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+5-16llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+6-6llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
+6-6llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
+2-3llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
+19-314 files

LLVM/project 0865fa8 — lldb/test CMakeLists.txt

[lldb][test] Check cryptography.x509 in the strict test requirements (#229409)

`lldb_find_python_module(cryptography)` only runs `import cryptography`,
which does not load the native `cryptography.hazmat.bindings._rust`. An
install without cffi (`pip install --no-deps cryptography`) passed the
check, then every `from cryptography import x509` in `TestSymStore.py`
failed with `"ModuleNotFoundError: No module named '_cffi_backend'"`.

This patch imports `cryptography.x509` instead so such an install fails
at configure time.

This was uncovered in swiftlang testing.
DeltaFile
+1-1lldb/test/CMakeLists.txt
+1-11 files

LLVM/project c198ce3 — llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/lib/Target/Hexagon HexagonVLIWPacketizer.cpp HexagonOptAddrMode.cpp

Targets: Remove redundant TRI arguments from InstrInfo helpers (#228165)

Continue with cleanups enabled by #158224. This is directly available in
TargetInstrInfo.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+9-8llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+7-8llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
+6-8llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+4-6llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+3-3llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
+2-2llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
+31-358 files not shown
+41-5014 files

FreeNAS/freenas 9a578a3 — src/middlewared/middlewared/plugins/pool_ dataset_query_utils.py, src/middlewared/middlewared/plugins/zfs create_rules.py encryption_keys.py

Unlock zfs resources through typed models

## Problem
Internal callers (failover, boot import, KMIP) started a private dict-based unlock job with its own private models, and results were read with dict indexing. Changing a key from a pipe also rejected valid keys with a leading zero, and change_key accepted keys and passphrases that ZFS would later refuse.

## Solution
- **Unlock**: `zfs.resource.encryption.unlock` gains `toggle_attachments`, and internal callers start the public job with `ZFSResourceEncryptionUnlockArgsData` and read the returned entry by attribute. `unlock_impl` is now the non-job implementation that takes the model and unwraps secrets once; pool.dataset.unlock calls it directly since it already holds the same job lock.
- **Change key**: the key must be 64 hex characters and a passphrase 8 to 512 characters; a key read from the input pipe is matched as hex text instead of round-tripped through int.
- **Cleanup**: shared `secret_value`/`ancestor_chain` and `is_internal_dataset_name` live in one place each, store_key receives the lowercase ZFS key format while hook payloads are uppercase, and the sync_keys failure is logged with its traceback.
DeltaFile
+27-42src/middlewared/middlewared/plugins/zfs/encryption_lock.py
+9-30src/middlewared/middlewared/plugins/zfs/encryption_service.py
+33-0src/middlewared/middlewared/pytest/unit/plugins/zfs/test_read_hex_key_from_pipe.py
+3-27src/middlewared/middlewared/plugins/pool_/dataset_query_utils.py
+10-20src/middlewared/middlewared/plugins/zfs/encryption_keys.py
+5-17src/middlewared/middlewared/plugins/zfs/create_rules.py
+87-13614 files not shown
+177-18020 files

LLVM/project 869dd2d — lldb/source/Host/windows ProcessLauncherWindows.cpp, lldb/test/Shell/Process/Windows lldb_server_stdio.cpp

[lldb][Windows] Honor the last stdio file action when launching a process (#229435)

lldb starts lldb-server with its stdio first closed and then reopened on
the null device. On Windows, the launcher only looked at the first of
those two actions, so lldb-server inherited lldb's own stdout and
stderr.
lldb-server's messages, like "Connection established." and "lldb-server
exiting...", are buffered and get written when it exits, in the middle
of lldb's output. That makes Shell tests that check lldb's output flaky,
such as `NativePDB/local-variables.cpp`.

The launcher now uses the last action that opens or closes each stdio
descriptor, which is the order the actions are applied in. Duplicating a
descriptor onto another one doesn't change it, so those actions are
skipped.

The new test runs a program through lldb-server and checks that none of
lldb-server's messages show up in lldb's output.

In a stress run of `local-variables.cpp`, failures went from 11 in 640
runs to none.
DeltaFile
+14-0lldb/test/Shell/Process/Windows/lldb_server_stdio.cpp
+7-1lldb/source/Host/windows/ProcessLauncherWindows.cpp
+21-12 files

LLVM/project 7348e71 — llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AMDGPU s-wakeup-barrier.ll

[AMDGPU][GIsel] Properly handle unsupported intrinsic translation (#228040)

unsupported intrinsic results are defined with G_IMPLICIT_DEF,
preventing malformed translation. Basically tries to mimic SDAG path
which creates poison results.

Assisted by: Opus 5
DeltaFile
+23-10llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+4-0llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
+27-102 files

FreeNAS/freenas 4d0c19b — src/middlewared/middlewared/plugins/zfs create_rules.py, src/middlewared/middlewared/pytest/unit/api test_zfs_types.py

Create thick zvols with refreservation=auto

libzfs now resolves refreservation=auto in zfs_create() (openzfs/zfs
PR #19227), so a thick volume gets the reservation `zfs create -V`
would set, the volsize plus metadata and raidz/draid overhead, and
libzfs grows it along with the volsize. Default to it at creation
instead of reserving exactly the volsize, accept an explicit 'auto'
the way zfs.resource.set already does, and reject it for a filesystem
with the same error.

Volumes created by earlier releases keep reserving exactly their
volsize until they are grown, which apply_thick_follow() still turns
into auto. The tests compare against a reference `zfs create -V`
volume through a shared helper, and one covers the legacy case.
DeltaFile
+13-13tests/api2/test_zvol_resize.py
+19-2tests/api2/test_zfs_resource_create.py
+14-2src/middlewared/middlewared/test/integration/assets/zfs_resource.py
+10-4src/middlewared/middlewared/plugins/zfs/create_rules.py
+8-5tests/api2/test_zfs_resource_set.py
+9-1src/middlewared/middlewared/pytest/unit/api/test_zfs_types.py
+73-275 files not shown
+87-3511 files

NetBSD/src 0WX7do7 — sys/arch/aarch64/aarch64 cpufunc_asm_armv8.S, sys/arch/aarch64/include cpufunc.h

   aarch64: Add TLB invalidation functions for EL2.

   Add assembly implementations of three new EL2 TLB invalidation functions.
VersionDeltaFile
1.9+45-1sys/arch/aarch64/aarch64/cpufunc_asm_armv8.S
1.33+5-1sys/arch/aarch64/include/cpufunc.h
+50-22 files

LLVM/project 6a92974 — llvm/include/llvm/IR RuntimeLibcalls.td

RuntimeLibcalls: Add provider libraries for targets to reference

Add shared LibcallLibrary defs for targets to reference instead of listing
impls directly: compiler-rt, libm and libc. Define various OS specific library
variants.

ARM, Lanai and SPIRV are migrated to the new organization here. The remaining
targets' SystemRuntimeLibrary bodies are stubbed to (add) and filled in by
pending per-target changes.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+431-318llvm/include/llvm/IR/RuntimeLibcalls.td
+431-3181 files

LLVM/project 62ec7a1 — llvm/utils/TableGen/Basic RuntimeLibcallsEmitter.cpp

RuntimeLibcallsEmitter: Attribute DefaultCC to the library that references it

Libraries sharing a LibraryName are emitted as one function, so the
DefaultCC for that function was collected from every SystemRuntimeLibrary
that referenced any library with that name. A consumer that references
only a variant not using DefaultCC still contributed its
DefaultLibcallCallingConv, and two such consumers made the name ambiguous.

Only take DefaultCC from consumers whose referenced library uses it. This
is needed once ARM's DefaultCC-using compiler-rt and Lanai's FASTCC both
reference the shared "compiler-rt" name. No change to generated output.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+24-6llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+24-61 files

LLVM/project d1b174e — llvm/include/llvm/IR RuntimeLibcallsImpl.td, llvm/utils/TableGen/Basic RuntimeLibcallsEmitter.cpp

RuntimeLibcalls: Dedup dispatch calls to the same library function

Referencing a provider both as a base opt-out and as a same-name re-add
variant emitted the same setAvailableLibFuncs_<name> call twice. Collapse
references with the same (Name, FuncSuffix) into one dispatch, and drop
the unused dispatch-side exclusion list.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+13-19llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+4-3llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+17-222 files

LLVM/project 445981d — llvm/lib/CodeGen RegisterCoalescer.cpp, llvm/test/CodeGen/AMDGPU coalescer-subreg-implicit-def-phi-input.mir

RegisterCoalescer: Restore subrange PHI inputs of pruned undef values (#229551)

When joining erases an IMPLICIT_DEF or a copy, the liveness of undefined
lanes may have started at that instruction, so pruneSubRegValues removes
those subrange values. If such a value was live-out into a subrange PHI,
the PHI is left without an input from that predecessor, even though
after the join the lane value from the earlier def of the joined
register reaches it. The main range does not have this gap because
pruneValues collects the pruned end points and joinVirtRegs restores
them with extendToIndices.

Record the PHI kills of the pruned value, the predecessor block ends
where it is live-out into a PHI as in LiveIntervals::hasPHIKill, and
restore them with extendToIndices once operands are rewritten, together
with the existing subrange shrinking. The rewrite is needed so
computeSubRangeUndefs sees the defs of both registers. Only PHI kills
are restored; the in-block kills of a pruned value are reads of an undef
lane and get undef flags instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+126-0llvm/test/CodeGen/X86/coalescer-subreg-implicit-def-phi-input.mir
+72-25llvm/lib/CodeGen/RegisterCoalescer.cpp
+75-0llvm/test/CodeGen/AMDGPU/coalescer-subreg-implicit-def-phi-input.mir
+10-10llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
+283-354 files

NetBSD/pkgsrc WgoVMvP — doc CHANGES-2026

   doc: Updated devel/nss to 3.131
VersionDeltaFile
1.6761+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc 3nR1Qzv — devel/nss Makefile distinfo

   nss: update to 3.131.

   Bug 2078438 remove unused private pkcs12, pkcs7, and smime functions.
   Bug 2070738 Fix generating nss.pc with system-nspr.
   Bug 2066048 replace sslSecurityInfo peerCert with peerCertDER.
   Bug 2067244 remove support for inherited DSA parameters in libssl.
   Bug 2017995 Fix issues with Unwrapping keys using tokens in FIPS mode.
   Bug 2069886 remove Windows-only AES-CTR implementation.
   Bug 2069887 improve algorithm policy enforcement for ML-DSA.
   Bug 2064512 reject non-RFC 8410 curve OIDs when encoding an X25519 or Ed25519 SubjectPublicKeyInfo.
   Bug 2076212 Clear freed CMS members in the destructors.
   Bug 2076212 Release the previous signer certificate when re-verifying a PKCS#7 signature.
   Bug 2076212 Make SEC_PKCS7DecoderAbort fail the decode.
   Bug 2076212 Fail closed after an incomplete PKCS#12 decode.
   Bug 2076240 remove unused NSSCryptoContext and NSSTrustDomain functions.
   Bug 1993638 can’t import eddsa .p12 from OpenSSL.
   Bug 2055638 fix clang format.
   Bug 2072045 pk12util fails to import private key into SoftHSM token despite initialized slot and valid PKCS#12 file.
   Bug 2075580 p7content: open output file in binary mode.

    [19 lines not shown]
VersionDeltaFile
1.220+4-4devel/nss/distinfo
1.305+2-2devel/nss/Makefile
+6-62 files

LLVM/project 8ea9a49 — compiler-rt/lib/tysan tysan.cpp tysan_interceptors.cpp

[TySan] Make TySan compatible with sanitizer common interceptors (par… (#197688)

…tial #183310 reland)

Previous attempt here https://github.com/llvm/llvm-project/pull/183310
Some changes already added back here
https://github.com/llvm/llvm-project/pull/192413/changes

This shouldn't cause the same issue on apple platforms that the last
go-around did, and sets TySan up to be able to run on Sanitizer Common
tests and use its features.

(Edit:) Specifically it allows TySan to use all common sanitizer
interceptors, and adds a little more code to help it use the common
sanitizer features to handle deadly signals
DeltaFile
+39-1compiler-rt/lib/tysan/tysan_interceptors.cpp
+2-0compiler-rt/lib/tysan/tysan.cpp
+41-12 files

FreeBSD/ports 3f8da2c — www/py-django61 Makefile distinfo

www/py-django61: Update to 6.1.2

(cherry picked from commit 938f037c2ce89ca1bb810213ecdd691ff14c63ab)
DeltaFile
+3-3www/py-django61/distinfo
+1-1www/py-django61/Makefile
+4-42 files

FreeBSD/ports 7996907 — www/py-django52 Makefile distinfo

www/py-django52: Update to 5.2.18

(cherry picked from commit f4cf2c0ae7a2e792d181bbb6c5128d8669542cac)
DeltaFile
+3-3www/py-django52/distinfo
+1-1www/py-django52/Makefile
+4-42 files

FreeBSD/ports f5f145b — www/py-django60 Makefile distinfo

www/py-django60: Update to 6.0.9

(cherry picked from commit f4d1047e94f7a17abe46e9e0ee783ef4b742b201)
DeltaFile
+3-3www/py-django60/distinfo
+1-1www/py-django60/Makefile
+4-42 files

FreeBSD/ports 002d410 — www/py-fastapi Makefile

www/py-fastapi: Add missing RUN_D

PR:             joneum at FreeBSD.org
Reported by:    299185

(cherry picked from commit 7f7f8cca4b4dd5c8b70fc2309bb01df584ddb36c)
DeltaFile
+3-1www/py-fastapi/Makefile
+3-11 files

FreeBSD/ports 068aaee — www/py-fastapi Makefile distinfo

www/py-fastapi: Update to 0.142.2

(cherry picked from commit 66b0165af9e521bc00087e0d6fc421131a1fd61c)
DeltaFile
+3-3www/py-fastapi/distinfo
+1-1www/py-fastapi/Makefile
+4-42 files

LLVM/project 708fee3 — clang/include/clang/Basic DiagnosticFrontendKinds.td, clang/test/CodeGen/AArch64 sme-inline-streaming-attrs.c

[AArch64][SME] Allow more inlining when SME attributes are incompatible. (#223393)

At the moment, 'areInlineCompatible' is very strict as it conservatively
disallows inlining any callee if they use intrinsics and have
incompatible SME attributes. This PR relaxes those constraints by
allowing more intrinsics.

It also updates the Clang diagnostic to match the 'new' behaviour that a
function is no longer inlined despite 'always_inline' when they are not
inline compatible.


This is an alternative approach to #218727. This PR holds on to the
approach of not inlining unless proven safe to do so, as opposed to
relying on the user to know what they're doing (#218727).

This a first step in trying to fix
https://github.com/llvm/llvm-project/issues/217639 in a better way.
DeltaFile
+453-69llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
+167-20llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+0-47llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
+47-0llvm/test/Transforms/Inline/AArch64/sme-pstatesm-inline-transitive.ll
+3-3clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
+1-1clang/include/clang/Basic/DiagnosticFrontendKinds.td
+671-1406 files

LLVM/project 5669f2c — llvm/lib/Target/AMDGPU GCNSubtarget.h GCNSubtarget.cpp

AMDGPU: Apply xnack/sramecc settings before constructing TargetLowering

The module flag xnack and sramecc settings were applied to the TargetID
in the GCNSubtarget constructor body, after SITargetLowering was already
constructed in the initializer list. Fix this so future legality rules can
depend on d16PresevesUnusedBits.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+17-15llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+4-2llvm/lib/Target/AMDGPU/GCNSubtarget.h
+21-172 files

FreeBSD/ports 7f7f8cc — www/py-fastapi Makefile

www/py-fastapi: Add missing RUN_D

PR:             joneum at FreeBSD.org
Reported by:    299185
DeltaFile
+3-1www/py-fastapi/Makefile
+3-11 files

LLVM/project f549451 — llvm/include/llvm/IR RuntimeLibcallsImpl.td, llvm/test/TableGen RuntimeLibcallEmitter-library-isolated.td

RuntimeLibcallsEmitter: Add isolated LibcallLibrary variant (#223764)

This is essentially a hack to not break the common core functions shared
by most targets. Most targets have essentially the same base set of
compiler-rt or libc/libm functions, but a few are so radically different
there is nothing in common (e.g., the GPU targets have a handful of
functions, arm64ec changes every single function). This bit will pull these out of
the library merge-by-name system, and emitted as its own special case. This
allows the single name to be universal across targets without duplicating large
tables in the emitted inc file.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+74-0llvm/test/TableGen/RuntimeLibcallEmitter-library-isolated.td
+17-5llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+7-0llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+98-53 files

LLVM/project e699478 — llvm/lib/CodeGen IndirectBrExpandPass.cpp, llvm/test/CodeGen/X86 opt-pipeline.ll O0-pipeline.ll

Revert "[IndirectBrExpand] Preserve profile weights" (#229691)

Reverts llvm/llvm-project#227784

Causes compile-time regression at `-O0` due to the extra passes.
DeltaFile
+0-148llvm/test/Transforms/IndirectBrExpand/pgo.ll
+13-114llvm/lib/CodeGen/IndirectBrExpandPass.cpp
+1-5llvm/test/CodeGen/X86/O0-pipeline.ll
+1-4llvm/test/CodeGen/X86/opt-pipeline.ll
+1-0llvm/utils/profcheck-xfail.txt
+16-2715 files

NetBSD/src yMMDR11 — sys/arch/aarch64/include armreg.h

   aarch64: fix HPFAR_EL2_FIPA defines for various configurations

   HPFAR_EL2_FIPA is 36bits long when FEAT_D128 and FEAT_LPA aren't
   implemented, i.e. HPFAR_EL2[39:4]

   Add HPFAR_EL2_FIPA_LPA for when FEAT_D128 is not implemented and
   FEAT_LPA is.

   Provide HPFAR_EL2_FIPA_{D128_,LPA_,}BITS for the Faulting Intermediate
   Physical Address.

   Remove HPFAR_EL2_FIPA_BITSHIFT
VersionDeltaFile
1.82+8-4sys/arch/aarch64/include/armreg.h
+8-41 files

FreeNAS/freenas 019ee19 — src/middlewared/middlewared/api/v28_0_0 container.py vm.py, src/middlewared/middlewared/plugins network.py

Fix interface.nic_attach_users crash when VMs or containers exist

## Problem
`nic_attach_users`, added in 4fb2e51a1b, reads `vm.query` and `container.query` results as dicts. Both are typesafe services on master, so internal calls return Pydantic models and subscripting them raised a `TypeError`. As soon as any VM or container existed, `interface.bridge_members_choices` failed, and so did creating or updating a bridge with `bridge_members`.

## Solution
Read the typed `VMEntry` / `ContainerEntry` devices and match `VMNICDevice` / `ContainerNICDevice` attributes instead of subscripting dicts.

`nic_attach_users` only needs persisted NIC config, but both query methods always gathered runtime `status` from libvirt (which can even start libvirtd). Status is now optional: it is skipped when `query-options.extra.retrieve_status` is false (status is then `null`) or when `select` does not include `status`. The default is unchanged, so existing callers, events and the UI still get status.

The value is stored in `status_or_null` (aliased to `status`, so the API schema and payloads are unchanged), and a `status` property returns it non-optional, raising `ValueError` if it was not retrieved. That keeps existing consumers reading `.status` untouched. The update paths exclude `status_or_null` when dumping, since pydantic `exclude` matches field names rather than aliases.
DeltaFile
+14-6src/middlewared/middlewared/plugins/network.py
+18-2src/middlewared/middlewared/api/v28_0_0/vm.py
+15-2src/middlewared/middlewared/api/v28_0_0/container.py
+12-0src/middlewared/middlewared/utils/libvirt/utils.py
+6-4src/middlewared/middlewared/plugins/vm/crud.py
+4-4src/middlewared/middlewared/pytest/unit/plugins/test_interface.py
+69-181 files not shown
+73-227 files

FreeBSD/ports f4cf2c0 — www/py-django52 Makefile distinfo

www/py-django52: Update to 5.2.18
DeltaFile
+3-3www/py-django52/distinfo
+1-1www/py-django52/Makefile
+4-42 files

LLVM/project c5845c3 — llvm/test/CodeGen/AMDGPU gds-load-store.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-constant.mir legalize-load-flat.mir

Merge branch 'main' into users/arsenm/ppc/avoid-duplicating-implicit-defs-promotion
DeltaFile
+3,103-3,156llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+3,245-2,647llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+2,490-2,634llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+4,568-0llvm/test/CodeGen/AMDGPU/gds-load-store.ll
+2,148-2,222llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
+1,812-1,908llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
+17,366-12,5671,908 files not shown
+90,959-44,8221,914 files

OPNSense/core 403435e — src/etc/inc interfaces.inc

Revert "interfaces: fallback here to prevent php warnings"

This reverts commit cda3b2f717fce26add61c147d1da0b0a0812c3eb.

these are stored by default now after save
DeltaFile
+2-2src/etc/inc/interfaces.inc
+2-21 files