ldb = ldb_module_get_ctx(ac->module);
+ if (schema_attr->linkID == 0) {
+ return ldb_operr(ldb);
+ }
+
+ if (schema_attr->linkID & 1) {
+ return ldb_operr(ldb);
+ }
os = talloc_zero(ac, struct la_op_store);
if (!os) {
/* we may be putting multiple values in an attribute -
disable checking for this attribute */
el2->flags |= LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECK;
+ if (target->linkID & 1) {
+ el2->flags |= LDB_FLAG_INTERNAL_DISABLE_DUP_VALUE_CHECK;
+ }
ret = dsdb_module_modify(module, msg, DSDB_FLAG_NEXT_MODULE, parent);
if (ret != LDB_SUCCESS) {
valued and a backlink. We need to cope with that by
ignoring the single value flag */
ret_el->flags |= LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECK;
+ ret_el->flags |= LDB_FLAG_INTERNAL_DISABLE_DUP_VALUE_CHECK;
#if 0
ldb_debug(ldb, LDB_DEBUG_WARNING,
valued and a backlink. We need to cope with that by
ignoring the single value flag */
msg->elements[0].flags |= LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECK;
+ msg->elements[0].flags |= LDB_FLAG_INTERNAL_DISABLE_DUP_VALUE_CHECK;
ret = dsdb_module_modify(module, msg, DSDB_FLAG_NEXT_MODULE, parent);
if (ret == LDB_ERR_NO_SUCH_ATTRIBUTE && !bl->active) {