FreeNAS/freenas 2d25629src/middlewared/debian control

Add python3-truenas-pyscstadmin dependency
DeltaFile
+2-0src/middlewared/debian/control
+2-01 files

FreeNAS/freenas 10d3a6dsrc/middlewared/middlewared/alembic/versions/26.04 2025-10-07_16-43_iscsi_direct_config.py

Add iscsi_direct_config
DeltaFile
+26-0src/middlewared/middlewared/alembic/versions/26.04/2025-10-07_16-43_iscsi_direct_config.py
+26-01 files

FreeNAS/freenas 0d01450src/middlewared/middlewared/etc_files scst.direct.mako, src/middlewared/middlewared/plugins etc.py

Add scst.direct flag file
DeltaFile
+4-0src/middlewared/middlewared/etc_files/scst.direct.mako
+3-0src/middlewared/middlewared/plugins/etc.py
+3-0src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+10-03 files

FreeNAS/freenas c35d741src/middlewared/middlewared/plugins/iscsi_ scst.py, src/middlewared/middlewared/plugins/service_/services iscsitarget.py

Make iscsitarget reload support direct_config

Also flake8
DeltaFile
+10-4src/middlewared/middlewared/plugins/service_/services/iscsitarget.py
+11-1src/middlewared/middlewared/plugins/iscsi_/scst.py
+21-52 files

FreeNAS/freenas bf38816src/middlewared/middlewared/etc_files scst.conf.mako

Never write RO LUNs to copy_manager
DeltaFile
+4-3src/middlewared/middlewared/etc_files/scst.conf.mako
+4-31 files

FreeNAS/freenas 3d2fae7src/middlewared/middlewared/plugins/iscsi_ iscsi_global.py

Flip DEFAULT_DIRECT_CONFIG to True
DeltaFile
+1-1src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+1-11 files

FreeNAS/freenas 4059541src/middlewared/middlewared/plugins/iscsi_ iscsi_global.py

Add direct_config to iSCSI global config
DeltaFile
+14-0src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+14-01 files

FreeNAS/freenas 4f3c4c5src/middlewared/middlewared/api/v26_04_0 iscsi_global.py

Add direct_config to API
DeltaFile
+1-0src/middlewared/middlewared/api/v26_04_0/iscsi_global.py
+1-01 files

FreeNAS/freenas e861307tests/sharing_protocols/iscsi test_263_pyscstadmin.py

Add pyscstadmin tests
DeltaFile
+654-0tests/sharing_protocols/iscsi/test_263_pyscstadmin.py
+654-01 files

FreeNAS/freenas d417900src/middlewared/middlewared/etc_files scst.conf.mako, src/middlewared/middlewared/plugins etc.py

Move some iSCSI API calls into render context
DeltaFile
+5-5src/middlewared/middlewared/etc_files/scst.conf.mako
+4-0src/middlewared/middlewared/plugins/etc.py
+9-52 files

FreeNAS/freenas dbef741src/middlewared/middlewared/etc_files/syslog-ng/conf.d tnfilters.conf.mako

NAS-129206 / 26.04 / Remove syslog SNMP filter. (#17352)

The Debian version of the snmp daemon has been updated and patched to
fix the problem introduced with Linux 6.7

Confirmed via inspecting the Debian source for net-snmp and looking for
the characteristic syslog messages.
DeltaFile
+1-8src/middlewared/middlewared/etc_files/syslog-ng/conf.d/tnfilters.conf.mako
+1-81 files

FreeNAS/freenas 7a6ce85src/middlewared/middlewared/etc_files/syslog-ng/conf.d tnfilters.conf.mako

Remove SNMP filter.
The Debian version of the snmp daemon has been updated
and patched to fix the problem introduced with Linux 6.7
DeltaFile
+1-8src/middlewared/middlewared/etc_files/syslog-ng/conf.d/tnfilters.conf.mako
+1-81 files

FreeNAS/freenas 9b9e443src/middlewared/middlewared/api/base model.py

remove `Secret` serialization fallback
DeltaFile
+2-49src/middlewared/middlewared/api/base/model.py
+2-491 files

FreeNAS/freenas 7130a94src/middlewared/middlewared/etc_files scst.direct.mako, src/middlewared/middlewared/plugins etc.py

Add scst.direct flag file
DeltaFile
+4-0src/middlewared/middlewared/etc_files/scst.direct.mako
+3-0src/middlewared/middlewared/plugins/etc.py
+3-0src/middlewared/middlewared/plugins/iscsi_/iscsi_global.py
+10-03 files

FreeNAS/freenas caaa0cbtests requirements.txt

NAS-137956 / 26.04 / Add pyotp to test requirements.txt (#17351)

Halfmoon STIG CI tests are not running due to a missing requirement on
the test runner.
Adding `pyotp` to tests/requirements.txt restores STIG CI tests to
Goldeye level.


http://jenkins.eng.ixsystems.net:8080/job/tests/job/stig_tests/739/
Note: Does not fix tests, but recovers Goldeye functionality.
DeltaFile
+1-0tests/requirements.txt
+1-01 files

FreeNAS/freenas 6274089tests requirements.txt

Add pyotp for stig.
DeltaFile
+1-0tests/requirements.txt
+1-01 files

FreeNAS/freenas f0f702asrc/middlewared/middlewared/plugins/zfs mount_unmount_impl.py resource_crud.py, src/middlewared/middlewared/plugins/zfs_ dataset_actions.py dataset_encryption.py

remove zfs.dataset.mount (replace with zfs.resource.mount)
DeltaFile
+78-1src/middlewared/middlewared/plugins/zfs/mount_unmount_impl.py
+27-20src/middlewared/middlewared/plugins/zfs/resource_crud.py
+0-18src/middlewared/middlewared/plugins/zfs_/dataset_actions.py
+11-0src/middlewared/middlewared/plugins/zfs/exceptions.py
+3-6src/middlewared/middlewared/plugins/zfs/query_impl.py
+6-3src/middlewared/middlewared/plugins/zfs_/dataset_encryption.py
+125-487 files not shown
+147-5813 files

FreeNAS/freenas 8767723src/middlewared/middlewared/plugins/zfs mount_unmount_impl.py

fix recursive mount
DeltaFile
+8-12src/middlewared/middlewared/plugins/zfs/mount_unmount_impl.py
+8-121 files

FreeNAS/freenas b9405dbtests/api2 test_filesystem__file_tail_follow.py

NAS-137954 / 25.10.1 / Fix a few API tests (by creatorcary) (#17349)

Automatic cherry-pick failed. Please resolve conflicts by running:

    git cherry-pick -x fd0da864fff5ca25c3d051a8ecfc35c2ad9a5bc0
    git cherry-pick -x 8d6be49cd04acb5a9c8dc78367264f8cb052de38
    git cherry-pick -x 877e4efa1584bdf175d579d95759f747fcbaf050
    git cherry-pick -x 1c6e0345ecb10b9aba869f8b6d68bdfa5c598ad5

If the original PR was merged via a squash, you can just cherry-pick the
squashed commit:

    git reset --hard HEAD~1
    git cherry-pick -x 3565831cff9f0906b946736a5b1537ae49f6fecd

Fixes 5 tests, 1 which can be backported:
- `test_filesystem__file_tail_follow.py`: follows #17329  (backport)
  - `test_filesystem__file_tail_follow__grouping`
- `test_schema_private.py`: follows #17231

    [9 lines not shown]
DeltaFile
+7-3tests/api2/test_filesystem__file_tail_follow.py
+7-31 files

FreeNAS/freenas ff6db54src/middlewared/middlewared/plugins/zfs mount_unmount_impl.py

fix recursive mount
DeltaFile
+8-12src/middlewared/middlewared/plugins/zfs/mount_unmount_impl.py
+8-121 files

FreeNAS/freenas 3565831src/middlewared/middlewared main.py, src/middlewared/middlewared/plugins/test mock.py

NAS-137954 / 26.04 / Fix a few API tests (#17348)

Fixes 5 tests, 1 which can be backported:
- `test_filesystem__file_tail_follow.py`: follows #17329  (backport)
  - `test_filesystem__file_tail_follow__grouping`
- `test_schema_private.py`: follows #17231
  - `test_private_params_do_not_leak_to_logs`
  - `test_private_params_do_not_leak_to_core_get_jobs`
- `test_audit_system.py`
  - `test_audit_system_escalation`
- `test_disk_wipe_partition_clean.py`
  - `test_disk_wipe_partition_clean`
DeltaFile
+9-2src/middlewared/middlewared/plugins/test/mock.py
+7-3tests/api2/test_filesystem__file_tail_follow.py
+2-1tests/api2/test_audit_system.py
+1-1src/middlewared/middlewared/main.py
+1-1tests/api2/test_disk_wipe.py
+20-85 files

FreeNAS/freenas 9fe2fb6src/middlewared/middlewared/plugins/zfs mount_unmount_impl.py

return True in mount callback
DeltaFile
+1-0src/middlewared/middlewared/plugins/zfs/mount_unmount_impl.py
+1-01 files

FreeNAS/freenas 3e168actests/api2 test_300_nfs.py test_200_ftp.py

test
DeltaFile
+0-2,097tests/api2/test_300_nfs.py
+0-1,411tests/api2/test_200_ftp.py
+0-936tests/api2/test_345_acl_nfs4.py
+0-700tests/api2/test_011_user.py
+0-487tests/api2/test_audit_websocket.py
+0-479tests/api2/test_310_service_announcement.py
+0-6,110238 files not shown
+81-29,190244 files

FreeNAS/freenas f6cad55src/middlewared/middlewared/plugins/docker fs_manage.py

fix typo
DeltaFile
+1-0src/middlewared/middlewared/plugins/docker/fs_manage.py
+1-01 files

FreeNAS/freenas 1921bfcsrc/middlewared/middlewared/plugins/container dataset.py migrate.py, src/middlewared/middlewared/plugins/docker fs_manage.py

remove zfs.dataset.mount
DeltaFile
+0-18src/middlewared/middlewared/plugins/zfs_/dataset_actions.py
+6-2src/middlewared/middlewared/plugins/pool_/dataset_encryption_lock.py
+5-2src/middlewared/middlewared/plugins/zfs_/dataset_encryption.py
+4-2src/middlewared/middlewared/plugins/docker/fs_manage.py
+3-2src/middlewared/middlewared/plugins/container/dataset.py
+2-1src/middlewared/middlewared/plugins/container/migrate.py
+20-274 files not shown
+28-3010 files

FreeNAS/freenas 12065a8src/middlewared/middlewared/plugins/zfs mount_unmount_impl.py resource_crud.py

remove zfs.dataset.mount (replace with zfs.resource.mount)
DeltaFile
+79-1src/middlewared/middlewared/plugins/zfs/mount_unmount_impl.py
+27-20src/middlewared/middlewared/plugins/zfs/resource_crud.py
+11-0src/middlewared/middlewared/plugins/zfs/exceptions.py
+3-6src/middlewared/middlewared/plugins/zfs/query_impl.py
+120-274 files

FreeNAS/freenas e8f273dsrc/middlewared/middlewared/plugins/vm vms.py, src/middlewared/middlewared/pytest/unit/plugins test_vm.py

NAS-137540 / 25.10.0 / Secureboot attrs should only be validated at create time (by Qubad786) (#17347)

## Problem

* `enable_secure_boot` and `bootloader_ovmf` are **create-time
variables**, but their validation is currently part of the **common
validation logic**, which also runs during updates.
* As a result, VMs created **before this change** are incorrectly
validated during updates, leading to user-facing validation errors.
* Additionally, the transition to **Debian Trixie** has removed the
`OVMF_CODE.fd` file from the available choices. This causes problems
when users creates a VM without explicitly defining an OVMF value.

## Solution

* Move the validation for `enable_secure_boot` and `bootloader_ovmf` to
the **VM creation logic only**, preventing validation errors during
updates.
* Updated the right default value for bootloader_ovmf .

    [3 lines not shown]
DeltaFile
+37-36src/middlewared/middlewared/plugins/vm/vms.py
+44-10src/middlewared/middlewared/pytest/unit/plugins/test_vm.py
+81-462 files

FreeNAS/freenas a13c0casrc/middlewared/middlewared/plugins/vm vms.py, src/middlewared/middlewared/pytest/unit/plugins test_vm.py

NAS-137540 / 26.04 / Secureboot attrs should only be validated at create time (#17340)

## Problem

* `enable_secure_boot` and `bootloader_ovmf` are **create-time
variables**, but their validation is currently part of the **common
validation logic**, which also runs during updates.
* As a result, VMs created **before this change** are incorrectly
validated during updates, leading to user-facing validation errors.
* Additionally, the transition to **Debian Trixie** has removed the
`OVMF_CODE.fd` file from the available choices. This causes problems
when users creates a VM without explicitly defining an OVMF value.

## Solution

* Move the validation for `enable_secure_boot` and `bootloader_ovmf` to
the **VM creation logic only**, preventing validation errors during
updates.
* Updated the right default value for bootloader_ovmf .
DeltaFile
+37-36src/middlewared/middlewared/plugins/vm/vms.py
+44-10src/middlewared/middlewared/pytest/unit/plugins/test_vm.py
+81-462 files

FreeNAS/freenas 2e21eebsrc/middlewared/middlewared/plugins/truenas_connect acme.py

NAS-137879 / 25.10.0 / Implement ARI for ACME (by ZackaryWelch) (#17345)

DeltaFile
+84-4src/middlewared/middlewared/plugins/truenas_connect/acme.py
+84-41 files

FreeNAS/freenas 325a6fdsrc/middlewared/middlewared/plugins/acme_protocol_ revoke_cert.py

NAS-137947 / 26.04 / Fix revocation of certs in trixie (#17346)

DeltaFile
+3-6src/middlewared/middlewared/plugins/acme_protocol_/revoke_cert.py
+3-61 files