Author: tridge
Date: 2005-08-26 11:36:28 +0000 (Fri, 26 Aug 2005)
New Revision: 9643

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9643

Log:
fixed samsync code for the new dn explode semantics

Modified:
   branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c       2005-08-26 
11:20:53 UTC (rev 9642)
+++ branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c       2005-08-26 
11:36:28 UTC (rev 9643)
@@ -119,6 +119,8 @@
                const char *domain_attrs[] =  {"nETBIOSName", "nCName", NULL};
                struct ldb_message **msgs_domain;
                int ret_domain;
+               char *base_dn;
+
                ret_domain = gendb_search(state->sam_ldb, mem_ctx, NULL, 
&msgs_domain, domain_attrs,
                                          
"(&(&(nETBIOSName=%s)(objectclass=crossRef))(ncName=*))", 
                                          domain_name);
@@ -130,24 +132,20 @@
                        return NT_STATUS_NO_SUCH_DOMAIN;                
                }
 
-               state->base_dn[database]
-                       = talloc_steal(state, 
samdb_result_string(msgs_domain[0], 
-                                                                 "nCName", 
NULL));
-               
-               state->dom_sid[database]
-                       = talloc_steal(state, 
-                                      samdb_search_dom_sid(state->sam_ldb, 
state,
-                                                           
state->base_dn[database], "objectSid", "dn=%s",
-                                                           
ldb_dn_linearize(mem_ctx, state->base_dn[database])));
+               state->base_dn[database] = samdb_result_dn(state, 
msgs_domain[0], "nCName", NULL);
+
+               base_dn = ldb_dn_linearize(mem_ctx, state->base_dn[database]);
+
+               state->dom_sid[database] = samdb_search_dom_sid(state->sam_ldb, 
state,
+                                                               
state->base_dn[database], 
+                                                               "objectSid", 
"dn=%s", base_dn);
        } else if (database == SAM_DATABASE_BUILTIN) {
-                       /* work out the builtin_dn - useful for so many calls 
its worth
-                          fetching here */
-               state->base_dn[database]
-                       = talloc_steal(state, 
-                                      samdb_search_string(state->sam_ldb, 
mem_ctx, NULL,
-                                                          "dn", 
"objectClass=builtinDomain"));
-               state->dom_sid[database]
-                       = dom_sid_parse_talloc(state, SID_BUILTIN);
+               /* work out the builtin_dn - useful for so many calls its worth
+                  fetching here */
+               const char *dnstring = samdb_search_string(state->sam_ldb, 
mem_ctx, NULL,
+                                                          "dn", 
"objectClass=builtinDomain");
+               state->base_dn[database] = ldb_dn_explode(state, dnstring);
+               state->dom_sid[database] = dom_sid_parse_talloc(state, 
SID_BUILTIN);
        } else {
                /* PRIVs DB */
                return NT_STATUS_INVALID_PARAMETER;

Reply via email to