diff options
-rw-r--r-- | source4/dsdb/schema/schema_init.c | 10 |
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; } |