svn commit: samba r25048 - in branches/SAMBA_4_0/source/libnet: .
abartlet at samba.org
abartlet at samba.org
Mon Sep 10 01:39:25 GMT 2007
Author: abartlet
Date: 2007-09-10 01:39:20 +0000 (Mon, 10 Sep 2007)
New Revision: 25048
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25048
Log:
>From the archives (patch found in one of my old working trees):
Try two different DNs, when performing a samsync from an AD server.
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c
Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c 2007-09-09 19:34:30 UTC (rev 25047)
+++ branches/SAMBA_4_0/source/libnet/libnet_samsync_ldb.c 2007-09-10 01:39:20 UTC (rev 25048)
@@ -432,14 +432,21 @@
if (ret != 0) {
struct ldb_dn *first_try_dn = msg->dn;
/* Try again with the default DN */
- msg->dn = talloc_steal(msg, msgs[0]->dn);
- ret = samdb_add(state->sam_ldb, mem_ctx, msg);
- if (ret != 0) {
- *error_string = talloc_asprintf(mem_ctx, "Failed to create user record. Tried both %s and %s: %s",
+ if (!remote_msgs) {
+ *error_string = talloc_asprintf(mem_ctx, "Failed to create user record. Tried %s: %s",
ldb_dn_get_linearized(first_try_dn),
- ldb_dn_get_linearized(msg->dn),
ldb_errstring(state->sam_ldb));
return NT_STATUS_INTERNAL_DB_CORRUPTION;
+ } else {
+ msg->dn = talloc_steal(msg, remote_msgs[0]->dn);
+ ret = samdb_add(state->sam_ldb, mem_ctx, msg);
+ if (ret != 0) {
+ *error_string = talloc_asprintf(mem_ctx, "Failed to create user record. Tried both %s and %s: %s",
+ ldb_dn_get_linearized(first_try_dn),
+ ldb_dn_get_linearized(msg->dn),
+ ldb_errstring(state->sam_ldb));
+ return NT_STATUS_INTERNAL_DB_CORRUPTION;
+ }
}
}
} else {
More information about the samba-cvs
mailing list