From: Samuel Cabrero Date: Mon, 3 Feb 2025 13:53:59 +0000 (+0100) Subject: winbind:varlink: Set the disposition field in user records X-Git-Tag: tevent-0.17.0~726 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f79bdd17d6fc93d202b8b079d11114fc1b3cba80;p=thirdparty%2Fsamba.git winbind:varlink: Set the disposition field in user records 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 Reviewed-by: Andreas Schneider --- diff --git a/python/samba/tests/varlink/getuserrecord.py b/python/samba/tests/varlink/getuserrecord.py index c82c65df8ad..81ec8480da6 100644 --- a/python/samba/tests/varlink/getuserrecord.py +++ b/python/samba/tests/varlink/getuserrecord.py @@ -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() diff --git a/source3/winbindd/winbindd_varlink_getuserrecord.c b/source3/winbindd/winbindd_varlink_getuserrecord.c index 566cfba3cbe..a8051c97d07 100644 --- a/source3/winbindd/winbindd_varlink_getuserrecord.c +++ b/source3/winbindd/winbindd_varlink_getuserrecord.c @@ -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);