struct ldb_message *msg;
struct ldb_message *msg_idx;
+ struct loadparm_context *lp_ctx =
+ talloc_get_type(ldb_get_opaque(ldb, "loadparm"),
+ struct loadparm_context);
/* setup our own attribute name to schema handler */
ldb_schema_attribute_set_override_handler(ldb, dsdb_attribute_handler_override, schema);
ldb_schema_set_override_indexlist(ldb, true);
+ if (lp_ctx == NULL ||
+ lpcfg_parm_bool(lp_ctx, NULL, "dsdb", "guid index", true)) {
+ ldb_schema_set_override_GUID_index(ldb, "objectGUID", "GUID");
+ }
if (!write_indices_and_attributes) {
return ret;
goto op_error;
}
+ if (lp_ctx == NULL ||
+ lpcfg_parm_bool(lp_ctx, NULL, "dsdb", "guid index", true)) {
+ ret = ldb_msg_add_string(msg_idx, "@IDXGUID", "objectGUID");
+ if (ret != LDB_SUCCESS) {
+ goto op_error;
+ }
+
+ ret = ldb_msg_add_string(msg_idx, "@IDX_DN_GUID", "GUID");
+ if (ret != LDB_SUCCESS) {
+ goto op_error;
+ }
+ }
ret = ldb_msg_add_string(msg_idx, "@IDXVERSION", SAMDB_INDEXING_VERSION);
if (ret != LDB_SUCCESS) {