]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
winbind:varlink: Set the disposition field in user records
authorSamuel Cabrero <scabrero@samba.org>
Mon, 3 Feb 2025 13:53:59 +0000 (14:53 +0100)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 20 Feb 2025 08:07:32 +0000 (08:07 +0000)
Set the disposition field in the user record, otherwise systemd could derive it
from the uid based on its configured ranges.

Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
python/samba/tests/varlink/getuserrecord.py
source3/winbindd/winbindd_varlink_getuserrecord.c

index c82c65df8ada4ccad4c951beb2e91a1cc2e3c32c..81ec8480da6195cd77905ce8c95b512d940fc69c 100644 (file)
@@ -50,7 +50,10 @@ class VarlinkGetUserRecordTests(VarlinkTestCase):
                 self.assertEqual(r.record["gid"], user["gid"])
                 self.assertEqual(r.record["shell"], user["shell"])
                 self.assertEqual(r.record["homeDirectory"], user["dir"])
+                self.assertEqual(r.record["disposition"], "regular")
+
 
 if __name__ == "__main__":
     import unittest
+
     unittest.main()
index 566cfba3cbe567e5aa5097fd4c68e1dceab98d98..a8051c97d0794e618b47309f640c4def8ac1f972 100644 (file)
@@ -36,6 +36,7 @@ user_record_reply(VarlinkCall *call, struct winbindd_pw *pw, bool continues)
 
        WB_VL_ERR_CHECK_GOTO(varlink_object_new(&record), err_free_record);
        WB_VL_ERR_CHECK_GOTO(varlink_object_set_string(record, "service", service_name), err_free_record);
+       WB_VL_ERR_CHECK_GOTO(varlink_object_set_string(record, "disposition", "regular"), err_free_record);
        WB_VL_ERR_CHECK_GOTO(varlink_object_set_string(record, "userName", pw->pw_name), err_free_record);
        WB_VL_ERR_CHECK_GOTO(varlink_object_set_int(record, "uid", pw->pw_uid), err_free_record);
        WB_VL_ERR_CHECK_GOTO(varlink_object_set_int(record, "gid", pw->pw_gid), err_free_record);