File 0040-adenroll-write-SID-before-secret-to-Samba-s-db.patch of Package adcli.35968

From 80f59fde4af03ca0edc35daedda59a28cc6d9d2b Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Thu, 15 Sep 2022 18:24:16 +0200
Subject: [PATCH] adenroll: write SID before secret to Samba's db

Looks like 'net changesecretpw' expects the SID entry to be present to
work correctly. This patch will set the SID before trying to set the
machine account password.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1991619
(cherry picked from commit 0e1aafad7da78ded9ed45fd0638c42876d2a8d6a)
---
 library/adenroll.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/library/adenroll.c b/library/adenroll.c
index 479a1bc..ab26e30 100644
--- a/library/adenroll.c
+++ b/library/adenroll.c
@@ -1862,13 +1862,6 @@ update_samba_data (adcli_enroll *enroll)
 	}
 	argv_sid[0] = argv_pw[0];
 
-	_adcli_info ("Trying to set Samba secret.");
-	ret = _adcli_call_external_program (argv_pw[0], argv_pw,
-	                                    enroll->computer_password, NULL, NULL);
-	if (ret != ADCLI_SUCCESS) {
-		_adcli_err ("Failed to set Samba computer account password.");
-	}
-
 	argv_sid[2] = (char *) adcli_conn_get_domain_sid (enroll->conn);
 	if (argv_sid[2] == NULL) {
 		_adcli_err ("Domain SID not available.");
@@ -1882,6 +1875,13 @@ update_samba_data (adcli_enroll *enroll)
 		}
 	}
 
+	_adcli_info ("Trying to set Samba secret.");
+	ret = _adcli_call_external_program (argv_pw[0], argv_pw,
+	                                    enroll->computer_password, NULL, NULL);
+	if (ret != ADCLI_SUCCESS) {
+		_adcli_err ("Failed to set Samba computer account password.");
+	}
+
 	return ret;
 }
 
-- 
2.41.0

openSUSE Build Service is sponsored by