[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-1431-g0d07ce1

Stefan Metzmacher metze at samba.org
Mon Sep 7 07:04:52 MDT 2009


The branch, master has been updated
       via  0d07ce19496ffbc20a5be2548476a07033acb6d7 (commit)
       via  ff7b41c4dea7eb6108bfc88d0af25505c037d8ee (commit)
      from  b11aaadb68802dc4fd5591923600b1b414567620 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0d07ce19496ffbc20a5be2548476a07033acb6d7
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Sep 4 14:31:28 2009 +0200

    s4:dsdb: correctly implement _dsdb_syntax_OID_oid_ldb_to_drsuapi()
    
    Here we just need to map the oid string in the ldb value to
    the ATTRTYP id.
    
    metze

commit ff7b41c4dea7eb6108bfc88d0af25505c037d8ee
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Sep 7 14:21:11 2009 +0200

    lib/tdr: fix the build with --enable-automatic-dependencies
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 lib/tdr/tdr.h                       |    2 +-
 source4/dsdb/schema/schema_syntax.c |   32 +++++++++++++++++++++++++++++++-
 2 files changed, 32 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tdr/tdr.h b/lib/tdr/tdr.h
index c983cd3..1eedc58 100644
--- a/lib/tdr/tdr.h
+++ b/lib/tdr/tdr.h
@@ -62,6 +62,6 @@ struct tdr_print {
 typedef NTSTATUS (*tdr_push_fn_t) (struct tdr_push *, const void *);
 typedef NTSTATUS (*tdr_pull_fn_t) (struct tdr_pull *, TALLOC_CTX *, void *);
 
-#include "lib/tdr/tdr_proto.h"
+#include "../lib/tdr/tdr_proto.h"
 
 #endif /* __TDR_H__ */
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index 33a43cf..0977ee1 100644
--- a/source4/dsdb/schema/schema_syntax.c
+++ b/source4/dsdb/schema/schema_syntax.c
@@ -706,7 +706,37 @@ static WERROR _dsdb_syntax_OID_oid_ldb_to_drsuapi(struct ldb_context *ldb,
 						  TALLOC_CTX *mem_ctx,
 						  struct drsuapi_DsReplicaAttribute *out)
 {
-	return _dsdb_syntax_OID_obj_ldb_to_drsuapi(ldb, schema, attr, in, mem_ctx, out);
+	uint32_t i;
+	DATA_BLOB *blobs;
+
+	out->attid= attr->attributeID_id;
+	out->value_ctr.num_values= in->num_values;
+	out->value_ctr.values= talloc_array(mem_ctx,
+					    struct drsuapi_DsAttributeValue,
+					    in->num_values);
+	W_ERROR_HAVE_NO_MEMORY(out->value_ctr.values);
+
+	blobs = talloc_array(mem_ctx, DATA_BLOB, in->num_values);
+	W_ERROR_HAVE_NO_MEMORY(blobs);
+
+	for (i=0; i < in->num_values; i++) {
+		uint32_t v;
+		WERROR status;
+
+		out->value_ctr.values[i].blob= &blobs[i];
+
+		blobs[i] = data_blob_talloc(blobs, NULL, 4);
+		W_ERROR_HAVE_NO_MEMORY(blobs[i].data);
+
+		status = dsdb_map_oid2int(schema,
+					  (const char *)in->values[i].data,
+					  &v);
+		W_ERROR_NOT_OK_RETURN(status);
+
+		SIVAL(blobs[i].data, 0, v);
+	}
+
+	return WERR_OK;
 }
 
 static WERROR dsdb_syntax_OID_drsuapi_to_ldb(struct ldb_context *ldb, 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list