summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema/schema_query.c
diff options
context:
space:
mode:
authorKamen Mazdrashki <kamen.mazdrashki@postpath.com>2010-01-07 02:47:25 +0200
committerAndrew Tridgell <tridge@samba.org>2010-01-08 13:03:03 +1100
commit9871f52bd318b492e6e6ebb525789d7dbc6eac65 (patch)
tree5fbaa5b5b51245d0610a24592301bea758e47b0e /source4/dsdb/schema/schema_query.c
parenta44ae10c77b1eb2276b8c098a245b5b4df4607dd (diff)
downloadsamba-9871f52bd318b492e6e6ebb525789d7dbc6eac65.tar.gz
samba-9871f52bd318b492e6e6ebb525789d7dbc6eac65.tar.bz2
samba-9871f52bd318b492e6e6ebb525789d7dbc6eac65.zip
s4/dsdb_schema: use msDS-IntId value for attribute look-up
Diffstat (limited to 'source4/dsdb/schema/schema_query.c')
-rw-r--r--source4/dsdb/schema/schema_query.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema_query.c b/source4/dsdb/schema/schema_query.c
index df17787f38..907c671257 100644
--- a/source4/dsdb/schema/schema_query.c
+++ b/source4/dsdb/schema/schema_query.c
@@ -55,6 +55,15 @@ const struct dsdb_attribute *dsdb_attribute_by_attributeID_id(const struct dsdb_
*/
if (id == 0xFFFFFFFF) return NULL;
+ /* check for msDS-IntId type attribute */
+ if (dsdb_pfm_get_attid_type(id) == dsdb_attid_type_intid) {
+ for (c = schema->attributes; c; c = c->next) {
+ if (c->msDS_IntId == id) {
+ return c;
+ }
+ }
+ }
+
BINARY_ARRAY_SEARCH_P(schema->attributes_by_attributeID_id,
schema->num_attributes, attributeID_id, id, uint32_cmp, c);
return c;