r12894: Add more detail to error messages.
authorAndrew Bartlett <abartlet@samba.org>
Fri, 13 Jan 2006 04:36:58 +0000 (04:36 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:50:59 +0000 (13:50 -0500)
Andrew Bartlett
(This used to be commit 31fd39f356c9bc40827b22c0cdb622044d896a85)

source4/libnet/libnet_samsync_ldb.c

index e707d69cb851f41f3038c39c28f49fc66e22f8d2..5587f208ef902a05e8ac57b5b1d29f9f4605cff9 100644 (file)
@@ -228,6 +228,12 @@ static NTSTATUS samsync_ldb_handle_user(TALLOC_CTX *mem_ctx,
                           ldap_encode_ndr_dom_sid(mem_ctx, dom_sid_add_rid(mem_ctx, state->dom_sid[database], rid))); 
 
        if (ret == -1) {
+               *error_string = talloc_asprintf(mem_ctx, "gendb_search for user %s failed: %s", 
+                                               dom_sid_string(mem_ctx, 
+                                                              dom_sid_add_rid(mem_ctx, 
+                                                                              state->dom_sid[database], 
+                                                                              rid)),
+                                               ldb_errstring(state->sam_ldb));
                return NT_STATUS_INTERNAL_DB_CORRUPTION;
        } else if (ret == 0) {
                add = True;
@@ -346,15 +352,17 @@ static NTSTATUS samsync_ldb_handle_user(TALLOC_CTX *mem_ctx,
 
                ret = samdb_add(state->sam_ldb, mem_ctx, msg);
                if (ret != 0) {
-                       *error_string = talloc_asprintf(mem_ctx, "Failed to create user record %s",
-                                                       ldb_dn_linearize(mem_ctx, msg->dn));
+                       *error_string = talloc_asprintf(mem_ctx, "Failed to create user record %s: %s",
+                                                       ldb_dn_linearize(mem_ctx, msg->dn),
+                                                       ldb_errstring(state->sam_ldb));
                        return NT_STATUS_INTERNAL_DB_CORRUPTION;
                }
        } else {
                ret = samdb_replace(state->sam_ldb, mem_ctx, msg);
                if (ret != 0) {
-                       *error_string = talloc_asprintf(mem_ctx, "Failed to modify user record %s",
-                                                       ldb_dn_linearize(mem_ctx, msg->dn));
+                       *error_string = talloc_asprintf(mem_ctx, "Failed to modify user record %s: %s",
+                                                       ldb_dn_linearize(mem_ctx, msg->dn),
+                                                       ldb_errstring(state->sam_ldb));
                        return NT_STATUS_INTERNAL_DB_CORRUPTION;
                }
        }