summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema/schema_info_attr.c
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamenim@samba.org>2010-04-22 17:24:15 +0300
committerKamen Mazdrashki <kamenim@samba.org>2010-04-29 04:54:06 +0300
commit546a727bd326464c6fac3c6454e4e98314e0e75a (patch)
treefb9f5fde3e11e890e3e9d5cef4a705ad8f928468 /source4/dsdb/schema/schema_info_attr.c
parentda127d44e31306b4865e682be362fd9672d8201f (diff)
downloadsamba-546a727bd326464c6fac3c6454e4e98314e0e75a.tar.gz
samba-546a727bd326464c6fac3c6454e4e98314e0e75a.tar.bz2
samba-546a727bd326464c6fac3c6454e4e98314e0e75a.zip
s4/dsdb: Use default schemaInfo value when no such value is given
Having no value for schemaInfo is totally OK as it turns out. In such cases, we should use a default value with all fields set to 0.
Diffstat (limited to 'source4/dsdb/schema/schema_info_attr.c')
-rw-r--r--source4/dsdb/schema/schema_info_attr.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema_info_attr.c b/source4/dsdb/schema/schema_info_attr.c
index 855bc6f08c..60722eea52 100644
--- a/source4/dsdb/schema/schema_info_attr.c
+++ b/source4/dsdb/schema/schema_info_attr.c
@@ -30,6 +30,28 @@
/**
+ * Creates and initializes new dsdb_schema_info blob value.
+ * Initial schemaInfo values is with:
+ * revision = 0
+ * invocationId = GUID_ZERO
+ */
+WERROR dsdb_schema_info_blob_new(TALLOC_CTX *mem_ctx, DATA_BLOB *_schema_info_blob)
+{
+ DATA_BLOB blob;
+
+ blob = data_blob_talloc_zero(mem_ctx, 21);
+ W_ERROR_HAVE_NO_MEMORY(blob.data);
+
+ /* Set the schemaInfo marker to 0xFF */
+ blob.data[0] = 0xFF;
+
+ *_schema_info_blob = blob;
+
+ return WERR_OK;
+}
+
+
+/**
* Parse schemaInfo structure from a data_blob
* (DATA_BLOB or ldb_val).
* Suitable for parsing blobs that comes from