diff options
-rw-r--r-- | source4/dsdb/schema/schema_init.c | 20 | ||||
-rw-r--r-- | source4/dsdb/schema/schema_syntax.c | 7 | ||||
-rw-r--r-- | source4/librpc/idl/drsuapi.idl | 5 |
3 files changed, 13 insertions, 19 deletions
diff --git a/source4/dsdb/schema/schema_init.c b/source4/dsdb/schema/schema_init.c index 6e903ab52f..4c781946e2 100644 --- a/source4/dsdb/schema/schema_init.c +++ b/source4/dsdb/schema/schema_init.c @@ -445,18 +445,24 @@ static struct drsuapi_DsReplicaAttribute *dsdb_find_object_attr_name(struct dsdb d_printf("%s: %s == NULL\n", __location__, attr); \ return WERR_INVALID_PARAM; \ } \ - if (strict && _a->value_ctr.uint32.num_values != 1) { \ + if (strict && _a->value_ctr.data_blob.num_values != 1) { \ d_printf("%s: %s num_values == %u\n", __location__, attr, \ - _a->value_ctr.uint32.num_values); \ + _a->value_ctr.data_blob.num_values); \ return WERR_INVALID_PARAM; \ } \ - if (strict && !_a->value_ctr.uint32.values[0].value) { \ - d_printf("%s: %s value == NULL\n", __location__, attr); \ + if (strict && !_a->value_ctr.data_blob.values[0].data) { \ + d_printf("%s: %s data == NULL\n", __location__, attr); \ return WERR_INVALID_PARAM; \ } \ - if (_a && _a->value_ctr.uint32.num_values >= 1 \ - && _a->value_ctr.uint32.values[0].value) { \ - (p)->elem = (*_a->value_ctr.uint32.values[0].value?True:False);\ + if (strict && _a->value_ctr.data_blob.values[0].data->length != 4) { \ + d_printf("%s: %s length == %u\n", __location__, attr, \ + _a->value_ctr.data_blob.values[0].data->length); \ + return WERR_INVALID_PARAM; \ + } \ + if (_a && _a->value_ctr.data_blob.num_values >= 1 \ + && _a->value_ctr.data_blob.values[0].data \ + && _a->value_ctr.data_blob.values[0].data->length == 4) { \ + (p)->elem = (IVAL(_a->value_ctr.data_blob.values[0].data->data,0)?True:False);\ } else { \ (p)->elem = False; \ } \ diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c index d370451683..a0c7214110 100644 --- a/source4/dsdb/schema/schema_syntax.c +++ b/source4/dsdb/schema/schema_syntax.c @@ -77,13 +77,6 @@ static WERROR dsdb_syntax_BOOL_drsuapi_to_ldb(const struct dsdb_schema *schema, { uint32_t i; -switch (attr->attributeID_id) { -case DRSUAPI_ATTRIBUTE_isSingleValued: -case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly: -case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet: - return dsdb_syntax_FOOBAR_drsuapi_to_ldb(schema,attr, in, mem_ctx, out); -} - out->flags = 0; out->name = talloc_strdup(mem_ctx, attr->lDAPDisplayName); W_ERROR_HAVE_NO_MEMORY(out->name); diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index 0176fdd709..c7c8bc3f7c 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -524,11 +524,6 @@ interface drsuapi [case(DRSUAPI_ATTRIBUTE_attributeID)] drsuapi_DsAttributeValueCtrUINT32 oid; [case(DRSUAPI_ATTRIBUTE_attributeSyntax)] drsuapi_DsAttributeValueCtrUINT32 oid; - /* BOOL */ - [case(DRSUAPI_ATTRIBUTE_isSingleValued)] drsuapi_DsAttributeValueCtrUINT32 boolean; - [case(DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly)] drsuapi_DsAttributeValueCtrUINT32 boolean; - [case(DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet)] drsuapi_DsAttributeValueCtrUINT32 boolean; - /* UINT32 */ [case(DRSUAPI_ATTRIBUTE_instanceType)] drsuapi_DsAttributeValueCtrUINT32 uint32; [case(DRSUAPI_ATTRIBUTE_rangeLower)] drsuapi_DsAttributeValueCtrUINT32 uint32; |