From 847d385f7bac1c02727d7655f4e277813d4fe42c Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 14 May 2008 23:50:25 +0200 Subject: Fix Bug #5465 (joining with createcomputer=ou1/ou2/ou3). Guenther (This used to be commit f3251ba03a69c2fd0335861177159a32b2bc9477) --- source3/libads/ldap.c | 10 +++++----- source3/libnet/libnet_join.c | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 24eb114f51..99fd645a3d 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -3595,18 +3595,18 @@ const char *ads_get_extended_right_name_by_guid(ADS_STRUCT *ads, ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, - const char *account_ou) + const char **account_ou) { struct ldb_dn *name_dn = NULL; const char *name = NULL; char *ou_string = NULL; - name_dn = ldb_dn_explode(mem_ctx, account_ou); + name_dn = ldb_dn_explode(mem_ctx, *account_ou); if (name_dn) { return ADS_SUCCESS; } - ou_string = ads_ou_string(ads, account_ou); + ou_string = ads_ou_string(ads, *account_ou); if (!ou_string) { return ADS_ERROR_LDAP(LDAP_INVALID_DN_SYNTAX); } @@ -3623,8 +3623,8 @@ ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx, return ADS_ERROR_LDAP(LDAP_INVALID_DN_SYNTAX); } - account_ou = talloc_strdup(mem_ctx, name); - if (!account_ou) { + *account_ou = talloc_strdup(mem_ctx, name); + if (!*account_ou) { return ADS_ERROR_LDAP(LDAP_NO_MEMORY); } diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 36700b26c0..4cfdd50473 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -207,7 +207,7 @@ static ADS_STATUS libnet_join_precreate_machine_acct(TALLOC_CTX *mem_ctx, const char *attrs[] = { "dn", NULL }; bool moved = false; - status = ads_check_ou_dn(mem_ctx, r->in.ads, r->in.account_ou); + status = ads_check_ou_dn(mem_ctx, r->in.ads, &r->in.account_ou); if (!ADS_ERR_OK(status)) { return status; } @@ -1486,7 +1486,6 @@ static int libnet_destroy_UnjoinCtx(struct libnet_UnjoinCtx *r) unsetenv(KRB5_ENV_CCNAME); } - return 0; } -- cgit