From 3f109f8fd7bdd2cc691beb78463fba7a469e2a3d Mon Sep 17 00:00:00 2001 From: Kamen Mazdrashki Date: Mon, 6 Sep 2010 14:33:14 +0300 Subject: s4-drs: Dump exact error when failure occurs during DsReplicaUpdateRefs call --- source4/rpc_server/drsuapi/updaterefs.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'source4/rpc_server/drsuapi') diff --git a/source4/rpc_server/drsuapi/updaterefs.c b/source4/rpc_server/drsuapi/updaterefs.c index e911838637..8efdfbbdbb 100644 --- a/source4/rpc_server/drsuapi/updaterefs.c +++ b/source4/rpc_server/drsuapi/updaterefs.c @@ -136,15 +136,17 @@ WERROR drsuapi_UpdateRefs(struct drsuapi_bind_state *b_state, TALLOC_CTX *mem_ct } if (ldb_transaction_start(b_state->sam_ctx) != LDB_SUCCESS) { - DEBUG(0,(__location__ ": Failed to start transaction on samdb\n")); + DEBUG(0,(__location__ ": Failed to start transaction on samdb: %s\n", + ldb_errstring(b_state->sam_ctx))); return WERR_DS_DRA_INTERNAL_ERROR; } if (req->options & DRSUAPI_DRS_DEL_REF) { werr = uref_del_dest(b_state->sam_ctx, mem_ctx, dn, &req->dest_dsa_guid, req->options); if (!W_ERROR_IS_OK(werr)) { - DEBUG(0,("Failed to delete repsTo for %s\n", - GUID_string(mem_ctx, &req->dest_dsa_guid))); + DEBUG(0,("Failed to delete repsTo for %s: %s\n", + GUID_string(mem_ctx, &req->dest_dsa_guid), + win_errstr(werr))); goto failed; } } @@ -163,14 +165,16 @@ WERROR drsuapi_UpdateRefs(struct drsuapi_bind_state *b_state, TALLOC_CTX *mem_ct werr = uref_add_dest(b_state->sam_ctx, mem_ctx, dn, &dest, req->options); if (!W_ERROR_IS_OK(werr)) { - DEBUG(0,("Failed to add repsTo for %s\n", - GUID_string(mem_ctx, &dest.source_dsa_obj_guid))); + DEBUG(0,("Failed to add repsTo for %s: %s\n", + GUID_string(mem_ctx, &dest.source_dsa_obj_guid), + win_errstr(werr))); goto failed; } } if (ldb_transaction_commit(b_state->sam_ctx) != LDB_SUCCESS) { - DEBUG(0,(__location__ ": Failed to commit transaction on samdb\n")); + DEBUG(0,(__location__ ": Failed to commit transaction on samdb: %s\n", + ldb_errstring(b_state->sam_ctx))); return WERR_DS_DRA_INTERNAL_ERROR; } -- cgit