}
ndr_err = ndr_pull_struct_blob(omd_value, mem_ctx,
- lp_iconv_convenience(ldb_get_opaque(samdb, "loadparm")), obj_metadata_ctr,
+ obj_metadata_ctr,
(ndr_pull_flags_fn_t)ndr_pull_replPropertyMetaDataBlob);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
DEBUG(0,(__location__ ": Failed to parse replPropertyMetaData for %s\n",
struct drsuapi_DsReplicaGetInfo *r,
union drsuapi_DsReplicaInfo *reply,
struct ldb_dn *dn,
- int base_index)
+ uint32_t base_index)
{
WERROR status;
struct replPropertyMetaDataBlob omd_ctr;
struct replPropertyMetaData1 *attr;
struct drsuapi_DsReplicaObjMetaData2Ctr *metadata2;
+ const struct dsdb_schema *schema;
+
uint32_t i, j;
DEBUG(0, ("kccdrs_replica_get_info_obj_metadata2() called\n"));
status = get_repl_prop_metadata_ctr(mem_ctx, samdb, dn, &omd_ctr);
W_ERROR_NOT_OK_RETURN(status);
+ schema = dsdb_get_schema(samdb, reply);
+ if (!schema) {
+ DEBUG(0,(__location__": Failed to get the schema\n"));
+ return WERR_INTERNAL_ERROR;
+ }
+
reply->objmetadata2 = talloc_zero(mem_ctx, struct drsuapi_DsReplicaObjMetaData2Ctr);
W_ERROR_HAVE_NO_MEMORY(reply->objmetadata2);
metadata2 = reply->objmetadata2;
/* get a reference to the attribute on 'omd_ctr' */
attr = &omd_ctr.ctr.ctr1.array[j];
- schema_attr = dsdb_attribute_by_attributeID_id(dsdb_get_schema(samdb), attr->attid);
+ schema_attr = dsdb_attribute_by_attributeID_id(schema, attr->attid);
DEBUG(0, ("attribute_id = %d, attribute_name: %s\n", attr->attid, schema_attr->lDAPDisplayName));
struct ncList *nc_list = NULL;
struct ncList *nc_list_elem;
int ret;
- int i;
+ unsigned int i;
char *nc_str;
ret = ldb_search(samdb, mem_ctx, &res, ldb_get_config_basedn(samdb),
for (i = 0; i < res->count; i++) {
struct ldb_message_element *msg_elem = ldb_msg_find_element(res->msgs[i], "hasMasterNCs");
- int k;
+ unsigned int k;
if (!msg_elem || msg_elem->num_values == 0) {
DEBUG(0,(__location__ ": Failed: Attribute hasMasterNCs not found - %s\n",
struct ldb_context *samdb,
struct drsuapi_DsReplicaGetInfo *r,
union drsuapi_DsReplicaInfo *reply,
- int base_index,
+ uint32_t base_index,
struct GUID req_src_dsa_guid,
const char *object_dn_str)
{
WERROR status;
- int i, j;
+ uint32_t i, j;
struct ldb_dn *nc_dn = NULL;
struct ncList *p_nc_list = NULL;
struct repsFromToBlob *reps_from_blob = NULL;
struct repsFromTo2 *reps_from = NULL;
uint32_t c_reps_from;
- int i_rep;
+ uint32_t i_rep;
struct drsuapi_DsReplicaNeighbour neigh;
struct ncList *nc_list = NULL;
struct ldb_context *samdb,
struct drsuapi_DsReplicaGetInfo *r,
union drsuapi_DsReplicaInfo *reply,
- int base_index,
+ uint32_t base_index,
struct GUID req_src_dsa_guid,
const char *object_dn_str)
{
WERROR status;
- int i, j;
+ uint32_t i, j;
struct ncList *p_nc_list = NULL;
struct ldb_dn *nc_dn = NULL;
struct repsFromToBlob *reps_to_blob;
struct repsFromTo2 *reps_to;
uint32_t c_reps_to;
- int i_rep;
+ uint32_t i_rep;
struct drsuapi_DsReplicaNeighbour neigh;
struct ncList *nc_list = NULL;
WERROR status;
struct drsuapi_DsReplicaGetInfoRequest1 *req1;
struct drsuapi_DsReplicaGetInfoRequest2 *req2;
- int base_index;
+ uint32_t base_index;
union drsuapi_DsReplicaInfo *reply;
struct GUID req_src_dsa_guid;
const char *object_dn_str = NULL;