The Samba-Bugzilla – Attachment 5447 Details for
Bug 7204
net ads join createcomputer=Servers/Unix fails with out of memory
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
v3-5-test patch
net_ads_join.patch (text/plain), 2.27 KB, created by
Guenther Deschner
on 2010-03-03 07:00:05 UTC
(
hide
)
Description:
v3-5-test patch
Filename:
MIME Type:
Creator:
Guenther Deschner
Created:
2010-03-03 07:00:05 UTC
Size:
2.27 KB
patch
obsolete
>From 5ce310bae04c7e57ed8ff9cd2a14b78e9af3d43c Mon Sep 17 00:00:00 2001 >From: Simo Sorce <idra@samba.org> >Date: Mon, 1 Mar 2010 14:50:50 -0500 >Subject: [PATCH] s3:ads fix dn parsing name was always null >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >While there also use ldap_exploded_dn instead of ldb_dn_validate() >so we can remove a huge dependency that is hanging there only for one very >minor marginal use. > >Signed-off-by: Günther Deschner <gd@samba.org> >(cherry picked from commit 8492f92843aa17eaf4a3ea9d5a9c6319afc97854) >--- > source3/libads/ldap.c | 35 ++++++++++++++++------------------- > 1 files changed, 16 insertions(+), 19 deletions(-) > >diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c >index 4005ed6..1fd5aa3 100644 >--- a/source3/libads/ldap.c >+++ b/source3/libads/ldap.c >@@ -3855,39 +3855,36 @@ ADS_STATUS ads_check_ou_dn(TALLOC_CTX *mem_ctx, > ADS_STRUCT *ads, > const char **account_ou) > { >- struct ldb_dn *name_dn = NULL; >- const char *name = NULL; >- char *ou_string = NULL; >- struct ldb_context *ldb = ldb_init(mem_ctx, NULL); >- >- name_dn = ldb_dn_new(mem_ctx, ldb, *account_ou); >- if (name_dn && ldb_dn_validate(name_dn)) { >- talloc_free(ldb); >+ char **exploded_dn; >+ const char *name; >+ char *ou_string; >+ >+ exploded_dn = ldap_explode_dn(*account_ou, 0); >+ if (exploded_dn) { >+ ldap_value_free(exploded_dn); > return ADS_SUCCESS; > } > > ou_string = ads_ou_string(ads, *account_ou); > if (!ou_string) { >- talloc_free(ldb); > return ADS_ERROR_LDAP(LDAP_INVALID_DN_SYNTAX); > } > >- name_dn = ldb_dn_new_fmt(mem_ctx, ldb, "%s,%s", ou_string, >- ads->config.bind_path); >+ name = talloc_asprintf(mem_ctx, "%s,%s", ou_string, >+ ads->config.bind_path); > SAFE_FREE(ou_string); > >- if (!name_dn || !ldb_dn_validate(name_dn)) { >- talloc_free(ldb); >- return ADS_ERROR_LDAP(LDAP_INVALID_DN_SYNTAX); >+ if (!name) { >+ return ADS_ERROR_LDAP(LDAP_NO_MEMORY); > } > >- *account_ou = talloc_strdup(mem_ctx, name); >- if (!*account_ou) { >- talloc_free(ldb); >- return ADS_ERROR_LDAP(LDAP_NO_MEMORY); >+ exploded_dn = ldap_explode_dn(name, 0); >+ if (!exploded_dn) { >+ return ADS_ERROR_LDAP(LDAP_INVALID_DN_SYNTAX); > } >+ ldap_value_free(exploded_dn); > >- talloc_free(ldb); >+ *account_ou = name; > return ADS_SUCCESS; > } > >-- >1.6.6.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
gd
:
review+
Actions:
View
Attachments on
bug 7204
: 5447