67 lines
1.9 KiB
Diff
67 lines
1.9 KiB
Diff
commit f3251ba03a69c2fd0335861177159a32b2bc9477
|
|
Author: Günther Deschner <gd@samba.org>
|
|
Date: Wed May 14 23:50:25 2008 +0200
|
|
|
|
Fix Bug #5465 (joining with createcomputer=ou1/ou2/ou3).
|
|
|
|
Guenther
|
|
|
|
diff --git a/source/libads/ldap.c b/source/libads/ldap.c
|
|
index 24eb114..99fd645 100644
|
|
--- a/source/libads/ldap.c
|
|
+++ b/source/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/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
|
|
index 36700b2..4cfdd50 100644
|
|
--- a/source/libnet/libnet_join.c
|
|
+++ b/source/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;
|
|
}
|
|
|