summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Sinelnikov <sin@altlinux.org>2019-07-31 23:17:20 +0400
committerKarolin Seeger <kseeger@samba.org>2019-09-10 09:13:15 +0000
commit02ccbe08a53e385460d17b54bbabee5a362e1a5b (patch)
tree625b921ac92570da64c14ab8ab5278785f743f6d
parentbe42cfafee057993d038f7d476d094c53b00b57e (diff)
downloadsamba-02ccbe08a53e385460d17b54bbabee5a362e1a5b.tar.gz
s3:ldap: Fix join with don't exists machine account
Add check for requested replies of existing machine object during join machine to domain. This solves regression fail during join with error: "None of the information to be translated has been translated." https://bugzilla.samba.org/show_bug.cgi?id=14007 Reviewed-by: Guenther Deschner <gd@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Wed Sep 4 17:02:37 UTC 2019 on sn-devel-184 (cherry picked from commit ad4ef1657e9b2a088a3bfadcce196cfcceead1dc) Autobuild-User(v4-11-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-11-test): Tue Sep 10 09:13:15 UTC 2019 on sn-devel-184
-rw-r--r--source3/libads/ldap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 4f3d43b02b1..2110390b65f 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -2121,13 +2121,14 @@ ADS_STATUS ads_create_machine_acct(ADS_STRUCT *ads,
}
ret = ads_find_machine_acct(ads, &res, machine_escaped);
- ads_msgfree(ads, res);
- if (ADS_ERR_OK(ret)) {
+ if (ADS_ERR_OK(ret) && ads_count_replies(ads, res) == 1) {
DBG_DEBUG("Host account for %s already exists.\n",
machine_escaped);
ret = ADS_ERROR_LDAP(LDAP_ALREADY_EXISTS);
+ ads_msgfree(ads, res);
goto done;
}
+ ads_msgfree(ads, res);
new_dn = talloc_asprintf(ctx, "cn=%s,%s", machine_escaped, org_unit);
samAccountName = talloc_asprintf(ctx, "%s$", machine_name);