r20473: remove special case for boolean values
authorStefan Metzmacher <metze@samba.org>
Tue, 2 Jan 2007 13:18:09 +0000 (13:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:35:55 +0000 (14:35 -0500)
metze
(This used to be commit 8d80629c5dde44a06b597e1247ec96ef1cd3f2e1)

source4/dsdb/schema/schema_init.c
source4/dsdb/schema/schema_syntax.c
source4/librpc/idl/drsuapi.idl

index 6e903ab52f1c6d5a4e65027ed3d79a96ecfc20d2..4c781946e2c8f7546b56734865a321b274a34f66 100644 (file)
@@ -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; \
        } \
index d37045168321e7c6e15e5aa9f71cd594e94a244c..a0c72141109655960182cd221b0d2c7a9db3e1f8 100644 (file)
@@ -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);
index 0176fdd709bceebe8f32c4076f838c479d2cf115..c7c8bc3f7cb0127181daa088e9eb0157f73ac305 100644 (file)
@@ -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;