diff --git a/samba-3.2.0pre3-join.diff b/samba-3.2.0pre3-join.diff new file mode 100644 index 0000000..26d2307 --- /dev/null +++ b/samba-3.2.0pre3-join.diff @@ -0,0 +1,66 @@ +commit f3251ba03a69c2fd0335861177159a32b2bc9477 +Author: Günther Deschner +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; + } + diff --git a/samba.spec b/samba.spec index 089c9c4..238535f 100644 --- a/samba.spec +++ b/samba.spec @@ -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 - 3.2.0-1.pre3.11 +- Add "net ads join createcomputer=ou1/ou2/ou3" fix (BZO #5465) + * Fri May 09 2008 Guenther Deschner - 3.2.0-1.pre3.10 - Add smbclient fix (BZO #5452)