mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
s4/dsdb_schema: GET_UINT32_DS() macro to use supplied default value instead of 0
This commit is contained in:
parent
f7756c87bb
commit
a7b3891fb5
@ -945,7 +945,7 @@ static struct drsuapi_DsReplicaAttribute *dsdb_find_object_attr_name(struct dsdb
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define GET_UINT32_DS(s, r, attr, p, elem) do { \
|
||||
#define GET_UINT32_DS(s, r, attr, p, elem, def_val) do { \
|
||||
struct drsuapi_DsReplicaAttribute *_a; \
|
||||
_a = dsdb_find_object_attr_name(s, r, attr, NULL); \
|
||||
if (_a && _a->value_ctr.num_values >= 1 \
|
||||
@ -953,7 +953,7 @@ static struct drsuapi_DsReplicaAttribute *dsdb_find_object_attr_name(struct dsdb
|
||||
&& _a->value_ctr.values[0].blob->length == 4) { \
|
||||
(p)->elem = IVAL(_a->value_ctr.values[0].blob->data,0);\
|
||||
} else { \
|
||||
(p)->elem = 0; \
|
||||
(p)->elem = def_val; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
@ -1011,7 +1011,7 @@ WERROR dsdb_attribute_from_drsuapi(struct ldb_context *ldb,
|
||||
|
||||
GET_STRING_DS(schema, r, "name", mem_ctx, attr, cn, true);
|
||||
GET_STRING_DS(schema, r, "lDAPDisplayName", mem_ctx, attr, lDAPDisplayName, true);
|
||||
GET_UINT32_DS(schema, r, "attributeID", attr, attributeID_id);
|
||||
GET_UINT32_DS(schema, r, "attributeID", attr, attributeID_id, 0xFFFFFFFF);
|
||||
status = dsdb_schema_pfm_oid_from_attid(schema->prefixmap, attr->attributeID_id,
|
||||
mem_ctx, &attr->attributeID_oid);
|
||||
if (!W_ERROR_IS_OK(status)) {
|
||||
@ -1021,18 +1021,18 @@ WERROR dsdb_attribute_from_drsuapi(struct ldb_context *ldb,
|
||||
return status;
|
||||
}
|
||||
GET_GUID_DS(schema, r, "schemaIDGUID", mem_ctx, attr, schemaIDGUID);
|
||||
GET_UINT32_DS(schema, r, "mAPIID", attr, mAPIID);
|
||||
GET_UINT32_DS(schema, r, "mAPIID", attr, mAPIID, 0);
|
||||
|
||||
GET_GUID_DS(schema, r, "attributeSecurityGUID", mem_ctx, attr, attributeSecurityGUID);
|
||||
|
||||
attr->objectGUID = r->identifier->guid;
|
||||
|
||||
GET_UINT32_DS(schema, r, "searchFlags", attr, searchFlags);
|
||||
GET_UINT32_DS(schema, r, "systemFlags", attr, systemFlags);
|
||||
GET_UINT32_DS(schema, r, "searchFlags", attr, searchFlags, 0);
|
||||
GET_UINT32_DS(schema, r, "systemFlags", attr, systemFlags, 0);
|
||||
GET_BOOL_DS(schema, r, "isMemberOfPartialAttributeSet", attr, isMemberOfPartialAttributeSet, false);
|
||||
GET_UINT32_DS(schema, r, "linkID", attr, linkID);
|
||||
GET_UINT32_DS(schema, r, "linkID", attr, linkID, 0);
|
||||
|
||||
GET_UINT32_DS(schema, r, "attributeSyntax", attr, attributeSyntax_id);
|
||||
GET_UINT32_DS(schema, r, "attributeSyntax", attr, attributeSyntax_id, 0xFFFFFFFF);
|
||||
status = dsdb_schema_pfm_oid_from_attid(schema->prefixmap, attr->attributeSyntax_id,
|
||||
mem_ctx, &attr->attributeSyntax_oid);
|
||||
if (!W_ERROR_IS_OK(status)) {
|
||||
@ -1041,7 +1041,7 @@ WERROR dsdb_attribute_from_drsuapi(struct ldb_context *ldb,
|
||||
win_errstr(status)));
|
||||
return status;
|
||||
}
|
||||
GET_UINT32_DS(schema, r, "oMSyntax", attr, oMSyntax);
|
||||
GET_UINT32_DS(schema, r, "oMSyntax", attr, oMSyntax, 0);
|
||||
GET_BLOB_DS(schema, r, "oMObjectClass", mem_ctx, attr, oMObjectClass);
|
||||
|
||||
GET_BOOL_DS(schema, r, "isSingleValued", attr, isSingleValued, true);
|
||||
@ -1049,7 +1049,7 @@ WERROR dsdb_attribute_from_drsuapi(struct ldb_context *ldb,
|
||||
GET_UINT32_PTR_DS(schema, r, "rangeUpper", attr, rangeUpper);
|
||||
GET_BOOL_DS(schema, r, "extendedCharsAllowed", attr, extendedCharsAllowed, false);
|
||||
|
||||
GET_UINT32_DS(schema, r, "schemaFlagsEx", attr, schemaFlagsEx);
|
||||
GET_UINT32_DS(schema, r, "schemaFlagsEx", attr, schemaFlagsEx, 0);
|
||||
GET_BLOB_DS(schema, r, "msDs-Schema-Extensions", mem_ctx, attr, msDs_Schema_Extensions);
|
||||
|
||||
GET_BOOL_DS(schema, r, "showInAdvancedViewOnly", attr, showInAdvancedViewOnly, false);
|
||||
@ -1084,7 +1084,7 @@ WERROR dsdb_class_from_drsuapi(struct ldb_context *ldb,
|
||||
|
||||
GET_STRING_DS(schema, r, "name", mem_ctx, obj, cn, true);
|
||||
GET_STRING_DS(schema, r, "lDAPDisplayName", mem_ctx, obj, lDAPDisplayName, true);
|
||||
GET_UINT32_DS(schema, r, "governsID", obj, governsID_id);
|
||||
GET_UINT32_DS(schema, r, "governsID", obj, governsID_id, 0xFFFFFFFF);
|
||||
status = dsdb_schema_pfm_oid_from_attid(schema->prefixmap, obj->governsID_id,
|
||||
mem_ctx, &obj->governsID_oid);
|
||||
if (!W_ERROR_IS_OK(status)) {
|
||||
@ -1097,7 +1097,7 @@ WERROR dsdb_class_from_drsuapi(struct ldb_context *ldb,
|
||||
|
||||
obj->objectGUID = r->identifier->guid;
|
||||
|
||||
GET_UINT32_DS(schema, r, "objectClassCategory", obj, objectClassCategory);
|
||||
GET_UINT32_DS(schema, r, "objectClassCategory", obj, objectClassCategory, 0);
|
||||
GET_STRING_DS(schema, r, "rDNAttID", mem_ctx, obj, rDNAttID, false);
|
||||
|
||||
attr = dsdb_find_object_attr_name(schema, r, "defaultObjectCategory", NULL);
|
||||
@ -1114,7 +1114,7 @@ WERROR dsdb_class_from_drsuapi(struct ldb_context *ldb,
|
||||
}
|
||||
obj->defaultObjectCategory = (char *)blob.data;
|
||||
|
||||
GET_UINT32_DS(schema, r, "subClassOf", obj, subClassOf_id);
|
||||
GET_UINT32_DS(schema, r, "subClassOf", obj, subClassOf_id, 0);
|
||||
|
||||
GET_UINT32_LIST_DS(schema, r, "systemAuxiliaryClass", mem_ctx, obj, systemAuxiliaryClass_ids);
|
||||
GET_UINT32_LIST_DS(schema, r, "auxiliaryClass", mem_ctx, obj, auxiliaryClass_ids);
|
||||
@ -1129,7 +1129,7 @@ WERROR dsdb_class_from_drsuapi(struct ldb_context *ldb,
|
||||
|
||||
GET_STRING_DS(schema, r, "defaultSecurityDescriptor", mem_ctx, obj, defaultSecurityDescriptor, false);
|
||||
|
||||
GET_UINT32_DS(schema, r, "schemaFlagsEx", obj, schemaFlagsEx);
|
||||
GET_UINT32_DS(schema, r, "schemaFlagsEx", obj, schemaFlagsEx, 0);
|
||||
GET_BLOB_DS(schema, r, "msDs-Schema-Extensions", mem_ctx, obj, msDs_Schema_Extensions);
|
||||
|
||||
GET_BOOL_DS(schema, r, "showInAdvancedViewOnly", obj, showInAdvancedViewOnly, false);
|
||||
|
Loading…
Reference in New Issue
Block a user