From fa7d288637e7d7100c3e03f28c71735f6640bee0 Mon Sep 17 00:00:00 2001 From: Evgeny Sinelnikov Date: Wed, 31 Jul 2019 23:17:20 +0400 Subject: [PATCH] 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 --- source3/libads/ldap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 112100b0536..8d13a7cf18c 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); -- 2.21.0