summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema
diff options
context:
space:
mode:
Diffstat (limited to 'source4/dsdb/schema')
-rw-r--r--source4/dsdb/schema/schema_init.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema_init.c b/source4/dsdb/schema/schema_init.c
index 5d28e97271..5b0e2f1465 100644
--- a/source4/dsdb/schema/schema_init.c
+++ b/source4/dsdb/schema/schema_init.c
@@ -287,6 +287,11 @@ WERROR dsdb_attribute_from_ldb(struct ldb_message *msg, TALLOC_CTX *mem_ctx, str
GET_BOOL_LDB(msg, "isDefunct", attr, isDefunct, False);
GET_BOOL_LDB(msg, "systemOnly", attr, systemOnly, False);
+ attr->syntax = dsdb_syntax_for_attribute(attr);
+ if (!attr->syntax) {
+ return WERR_DS_ATT_SCHEMA_REQ_SYNTAX;
+ }
+
return WERR_OK;
}
@@ -545,6 +550,11 @@ WERROR dsdb_attribute_from_drsuapi(struct dsdb_schema *schema,
GET_BOOL_DS(schema, r, "isDefunct", attr, isDefunct, False);
GET_BOOL_DS(schema, r, "systemOnly", attr, systemOnly, False);
+ attr->syntax = dsdb_syntax_for_attribute(attr);
+ if (!attr->syntax) {
+ return WERR_DS_ATT_SCHEMA_REQ_SYNTAX;
+ }
+
return WERR_OK;
}