Add "net ads join createcomputer=ou1/ou2/ou3" fix (BZO #5465).

Guenther
This commit is contained in:
Guenther Deschner 2008-05-16 11:05:08 +00:00
parent 8da6e99695
commit 26003bfbf6
2 changed files with 72 additions and 1 deletions

66
samba-3.2.0pre3-join.diff Normal file
View File

@ -0,0 +1,66 @@
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;
}

View File

@ -1,4 +1,4 @@
%define main_release 10
%define main_release 11
%define samba_version 3.2.0pre3
%define tdb_version 1.1.1
%define talloc_version 1.2.0
@ -48,6 +48,7 @@ Patch111: samba-3.0.13-smbclient.patch
Patch200: samba-3.0.25rc1-inotifiy.patch
Patch207: samba-3.2.0pre2-roreloc.diff
Patch208: samba-3.2.0pre3-smbclient.diff
Patch209: samba-3.2.0pre3-join.diff
Requires(pre): samba-common = %{epoch}:%{version}-%{release}
Requires: pam >= 0:0.64
@ -256,6 +257,7 @@ cp %{SOURCE11} packaging/Fedora/
#%patch200 -p0 -b .inotify # FIXME: does not compile
%patch207 -p1 -b .roreloc
%patch208 -p1 -b .smbclient
%patch209 -p1 -b .join
mv source/VERSION source/VERSION.orig
sed -e 's/SAMBA_VERSION_VENDOR_SUFFIX=$/&\"%{release}\"/' < source/VERSION.orig > source/VERSION
@ -850,6 +852,9 @@ exit 0
%{_datadir}/pixmaps/samba/logo-small.png
%changelog
* Thu May 15 2008 Guenther Deschner <gdeschner@redhat.com> - 3.2.0-1.pre3.11
- Add "net ads join createcomputer=ou1/ou2/ou3" fix (BZO #5465)
* Fri May 09 2008 Guenther Deschner <gdeschner@redhat.com> - 3.2.0-1.pre3.10
- Add smbclient fix (BZO #5452)