FreeNAS/freenas c6cad6asrc/middlewared/middlewared/pytest/unit/utils test_nss.py, src/middlewared/middlewared/utils/nss pwd.py grp.py

Fix off-by-one in getpwall and getgrall (#13674)

We were omitting first NSS entry. Add basic CI tests to ensure
that our pwd and grp output matches what is expected from base
python module.
DeltaFile
+58-0src/middlewared/middlewared/pytest/unit/utils/test_nss.py
+3-5src/middlewared/middlewared/utils/nss/pwd.py
+2-4src/middlewared/middlewared/utils/nss/grp.py
+63-93 files

FreeNAS/freenas 2368354src/middlewared/middlewared/pytest/unit/utils test_nss.py, src/middlewared/middlewared/utils/nss pwd.py grp.py

Fix off-by-one in getpwall and getgrall

We were omitting first NSS entry. Add basic CI tests to ensure
that our pwd and grp output matches what is expected from base
python module.
DeltaFile
+58-0src/middlewared/middlewared/pytest/unit/utils/test_nss.py
+3-5src/middlewared/middlewared/utils/nss/pwd.py
+2-4src/middlewared/middlewared/utils/nss/grp.py
+63-93 files

FreeNAS/freenas be37465src/middlewared/middlewared/utils/nss grp.py pwd.py

Fix off-by-one in getpwall and getgrall

We were omitting first NSS entry.
DeltaFile
+2-4src/middlewared/middlewared/utils/nss/grp.py
+2-4src/middlewared/middlewared/utils/nss/pwd.py
+4-82 files

FreeNAS/freenas 405c085src/middlewared/debian control

Add freeipa client
DeltaFile
+1-0src/middlewared/debian/control
+1-01 files

FreeNAS/freenas d2f9c53src/middlewared/middlewared/plugins filesystem.py

Re-add recently removed import of pwd, grp (#13673)

DeltaFile
+2-1src/middlewared/middlewared/plugins/filesystem.py
+2-11 files

FreeNAS/freenas d295dbesrc/middlewared/middlewared/plugins filesystem.py

Re-add recently removed import of pwd, grp
DeltaFile
+2-1src/middlewared/middlewared/plugins/filesystem.py
+2-11 files

FreeNAS/freenas 0078290debian/debian control, src/middlewared/debian control

Fix
DeltaFile
+2-2src/middlewared/debian/control
+0-1debian/debian/control
+2-32 files

FreeNAS/freenas 5d80a15src/middlewared/middlewared/plugins/smb_ util_smbconf.py

Add comment
DeltaFile
+2-0src/middlewared/middlewared/plugins/smb_/util_smbconf.py
+2-01 files

FreeNAS/freenas e28bda6src/middlewared/middlewared logger.py, src/middlewared/middlewared/plugins/container_runtime_interface update_alerts.py

Log container registry exceptions in separate file
DeltaFile
+5-1src/middlewared/middlewared/plugins/container_runtime_interface/update_alerts.py
+2-0src/middlewared/middlewared/logger.py
+7-12 files

FreeNAS/freenas 5f5c1d9debian/debian control, src/middlewared/debian control

Add freeipa-client dependency

This package provides tools and python modules that help with
joining and getting status from a FreeIPA domain.
DeltaFile
+2-0src/middlewared/debian/control
+1-0debian/debian/control
+3-02 files

FreeNAS/freenas 2cdf1fcsrc/middlewared/middlewared/plugins boot.py, src/middlewared/middlewared/plugins/disk_ swap_configure.py

NAS-128772 / 24.10 / cache boot disks (#13662)

* cache boot.get_disks

* update boot.get_disks cache on zfs event

* improve disk_/swap_configure.py
DeltaFile
+21-12src/middlewared/middlewared/plugins/disk_/swap_configure.py
+27-3src/middlewared/middlewared/plugins/boot.py
+6-2src/middlewared/middlewared/plugins/zfs_/zfs_events.py
+54-173 files

FreeNAS/freenas 265e80bsrc/middlewared/middlewared/plugins filesystem.py pwenc.py

NAS-128404 / 24.04.1 / Improve file receive (by yocalebo) (#13671)

* improve filesystem.file_receive

(cherry picked from commit e26d1d84c002aba1670eef488f46e006e7068334)

* fix imports

---------

Co-authored-by: caleb <yocalebo at gmail.com>
DeltaFile
+26-16src/middlewared/middlewared/plugins/filesystem.py
+2-1src/middlewared/middlewared/plugins/pwenc.py
+28-172 files

FreeNAS/freenas e48b017src/middlewared/middlewared/plugins filesystem.py

fix imports
DeltaFile
+2-2src/middlewared/middlewared/plugins/filesystem.py
+2-21 files

FreeNAS/freenas 2651167src/middlewared/middlewared/plugins filesystem.py pwenc.py

improve filesystem.file_receive

(cherry picked from commit e26d1d84c002aba1670eef488f46e006e7068334)
DeltaFile
+28-18src/middlewared/middlewared/plugins/filesystem.py
+2-1src/middlewared/middlewared/plugins/pwenc.py
+30-192 files

FreeNAS/freenas 6849183src/middlewared/middlewared/plugins filesystem.py pwenc.py

improve filesystem.file_receive (#13600)

DeltaFile
+26-17src/middlewared/middlewared/plugins/filesystem.py
+2-1src/middlewared/middlewared/plugins/pwenc.py
+28-182 files

FreeNAS/freenas 18820fcsrc/middlewared/middlewared/plugins/disk_ swap_configure.py

improve disk_/swap_configure.py
DeltaFile
+21-12src/middlewared/middlewared/plugins/disk_/swap_configure.py
+21-121 files

FreeNAS/freenas 15ae93csrc/middlewared/middlewared/plugins/zfs_ zfs_events.py

update boot.get_disks cache on zfs event
DeltaFile
+6-2src/middlewared/middlewared/plugins/zfs_/zfs_events.py
+6-21 files

FreeNAS/freenas 2e726d8src/middlewared/middlewared/plugins boot.py

cache boot.get_disks
DeltaFile
+27-3src/middlewared/middlewared/plugins/boot.py
+27-31 files

FreeNAS/freenas 27c6fa1src/middlewared/middlewared/plugins ldap.py directoryservices.py, src/middlewared/middlewared/plugins/smb_ util_smbconf.py passdb.py

Remove legacy samba domain support

DragonFish was last release where we support this legacy feature.
This commit removes most of middleware code, but leaves database
untouched. Next related PR for FreeIPA support will finalize
schema changes.
DeltaFile
+1-264tests/api2/test_275_ldap.py
+0-47src/middlewared/middlewared/plugins/ldap.py
+0-39src/middlewared/middlewared/plugins/smb_/util_smbconf.py
+1-6src/middlewared/middlewared/plugins/smb_/passdb.py
+0-5src/middlewared/middlewared/plugins/directoryservices.py
+0-3src/middlewared/middlewared/plugins/smb_/groupmap.py
+2-3641 files not shown
+2-3657 files

FreeNAS/freenas ff7b512tests/api2 test_261_iscsi_cmd.py test_300_nfs.py

Remove tests
DeltaFile
+0-2,741tests/api2/test_261_iscsi_cmd.py
+0-1,810tests/api2/test_300_nfs.py
+0-1,492tests/api2/test_200_ftp.py
+0-1,131tests/api2/test_341_pool_dataset_encryption.py
+0-946tests/api2/test_345_acl_nfs4.py
+0-818tests/api2/test_425_smb_protocol.py
+0-8,938215 files not shown
+0-35,234221 files

FreeNAS/freenas 2b802ectests/api2 test_275_ldap.py

Fix
DeltaFile
+0-37tests/api2/test_275_ldap.py
+0-371 files

FreeNAS/freenas fe1c985tests/api2 test_030_activedirectory.py

In test_07_enable_leave_activedirectory for HA test vip rather than ip
DeltaFile
+5-3tests/api2/test_030_activedirectory.py
+5-31 files

FreeNAS/freenas 26a131fsrc/middlewared/middlewared/plugins ldap.py directoryservices.py, src/middlewared/middlewared/plugins/smb_ util_smbconf.py passdb.py

Remove legacy samba domain support

DragonFish was last release where we support this legacy feature.
This commit removes most of middleware code, but leaves database
untouched. Next related PR for FreeIPA support will finalize
schema changes.
DeltaFile
+1-227tests/api2/test_275_ldap.py
+0-47src/middlewared/middlewared/plugins/ldap.py
+0-39src/middlewared/middlewared/plugins/smb_/util_smbconf.py
+1-6src/middlewared/middlewared/plugins/smb_/passdb.py
+0-5src/middlewared/middlewared/plugins/directoryservices.py
+0-3src/middlewared/middlewared/plugins/smb_/groupmap.py
+2-3271 files not shown
+2-3287 files

FreeNAS/freenas c5e7888src/middlewared/middlewared/plugins etc.py, src/middlewared/middlewared/pytest/unit/utils test_write_if_changed.py

NAS-128802 / 24.10 / Improve configuration file generation (#13669)

1. use os.rename to overwrite config files. Avoid possibility of
having applications read partially written configuration files by
first writing the changed config to a temporary file, then renaming
over existing file.

2. have write_if_changed allow specifying the desired permissions
and ownership of the file. This allows us to ensure that ownership and
permissions changes happen before we close and rename the file.

3. alter return value for write_if_changed from boolean indicating
whether changes were written to a bitmask of changes made. This allows
us to flag when permissions and ownership had to be altered (logging
potentially unexpected CLI changes).

4. add optional non-default parameter to raise an exception if
we had to change ownership and permissions. This exception can be
used in future to generate audit messages / alerts if we had

    [2 lines not shown]
DeltaFile
+191-0src/middlewared/middlewared/pytest/unit/utils/test_write_if_changed.py
+127-14src/middlewared/middlewared/utils/io.py
+20-30src/middlewared/middlewared/plugins/etc.py
+338-443 files

FreeNAS/freenas 1384ebbsrc/middlewared/middlewared/pytest/unit/utils test_write_if_changed.py

Expand tests
DeltaFile
+31-0src/middlewared/middlewared/pytest/unit/utils/test_write_if_changed.py
+31-01 files

FreeNAS/freenas 8273474src/middlewared/middlewared/utils io.py

Clarify `raise_error`
DeltaFile
+2-2src/middlewared/middlewared/utils/io.py
+2-21 files

FreeNAS/freenas 53b9443src/middlewared/middlewared/utils io.py

Add more validation
DeltaFile
+11-1src/middlewared/middlewared/utils/io.py
+11-11 files

FreeNAS/freenas 342bd4dsrc/middlewared/middlewared/utils io.py

Add documentation for dirfd
DeltaFile
+3-0src/middlewared/middlewared/utils/io.py
+3-01 files

FreeNAS/freenas 20f3aa1src/middlewared/middlewared/plugins etc.py

Stop raising exception
DeltaFile
+1-1src/middlewared/middlewared/plugins/etc.py
+1-11 files

FreeNAS/freenas 1100ad7src/middlewared/middlewared/plugins etc.py, src/middlewared/middlewared/pytest/unit/utils test_write_if_changed.py

Address review
DeltaFile
+8-7src/middlewared/middlewared/plugins/etc.py
+1-1src/middlewared/middlewared/pytest/unit/utils/test_write_if_changed.py
+1-1src/middlewared/middlewared/utils/io.py
+10-93 files