s4-dsdb: fixed one_way_link calculation
authorAndrew Tridgell <tridge@samba.org>
Fri, 7 Oct 2011 02:19:48 +0000 (13:19 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 7 Oct 2011 02:20:44 +0000 (13:20 +1100)
we need to check for the other end of the link, not the current linkID

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

source4/dsdb/schema/schema_set.c

index 8cb06bb70e834d84c226440341e94d0c9bd20746..18f3ab7b7cc79f895a6fa7b8bf0362a27d8314f9 100644 (file)
@@ -241,7 +241,8 @@ static void dsdb_setup_attribute_shortcuts(struct ldb_context *ldb, struct dsdb_
                        continue;
                }
                /* handle attributes with a linkID but no backlink */
-               if (dsdb_attribute_by_linkID(schema, attribute->linkID) == NULL) {
+               if ((attribute->linkID & 1) == 0 &&
+                   dsdb_attribute_by_linkID(schema, attribute->linkID + 1) == NULL) {
                        attribute->one_way_link = true;
                        continue;
                }