diff options
author | Evgeny Sinelnikov <sin@altlinux.org> | 2019-07-31 23:17:20 +0400 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-09-11 10:31:14 +0000 |
commit | 00a810d8fdd27da712c4c035aa00dbc2a304f690 (patch) | |
tree | 911c8ead508c5806fa9943e42b9e6f5d41cc6773 | |
parent | b9f1be5cf452ecf1070c2f8ce4faba020821cf91 (diff) | |
download | samba-00a810d8fdd27da712c4c035aa00dbc2a304f690.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)
-rw-r--r-- | source3/libads/ldap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index e191ea792a8..1f0fe966028 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); |