[SCM] Samba Shared Repository - branch v4-0-test updated -
release-4-0-0alpha2-1283-ga3e1f28
Andrew Bartlett
abartlet at samba.org
Thu Mar 13 05:36:37 GMT 2008
The branch, v4-0-test has been updated
via a3e1f2830679a56366f0080115de504cdb0144f7 (commit)
via 9bfc4757887ceabb4c621d62c140515794679250 (commit)
from def46f6852075e1efe2bb7c5a7cffa5defdbb4ee (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit a3e1f2830679a56366f0080115de504cdb0144f7
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Mar 13 16:35:53 2008 +1100
Don't use 'dn', this attribute does not exist with the LDAP backend,
or in AD.
Andrew Bartlett
commit 9bfc4757887ceabb4c621d62c140515794679250
Author: Andrew Bartlett <abartlet at samba.org>
Date: Thu Mar 13 16:35:11 2008 +1100
Show why a LookupName fails (help debugging)
Andrew Bartlett
-----------------------------------------------------------------------
Summary of changes:
source/dsdb/samdb/cracknames.c | 2 +-
source/rpc_server/lsa/dcesrv_lsa.c | 23 ++++++++++++++++++++---
source/rpc_server/lsa/lsa_lookup.c | 1 +
3 files changed, 22 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/dsdb/samdb/cracknames.c b/source/dsdb/samdb/cracknames.c
index 93da46d..b9333e4 100644
--- a/source/dsdb/samdb/cracknames.c
+++ b/source/dsdb/samdb/cracknames.c
@@ -329,7 +329,7 @@ static WERROR DsCrackNameUPN(struct ldb_context *sam_ctx, TALLOC_CTX *mem_ctx,
result_filter = talloc_asprintf(mem_ctx, "(&(objectClass=user)(samAccountName=%s))",
ldb_binary_encode_string(mem_ctx, unparsed_name_short));
- domain_filter = talloc_asprintf(mem_ctx, "(dn=%s)", ldb_dn_get_linearized(domain_res->msgs[0]->dn));
+ domain_filter = talloc_asprintf(mem_ctx, "(distinguishedName=%s)", ldb_dn_get_linearized(domain_res->msgs[0]->dn));
if (!result_filter || !domain_filter) {
free(unparsed_name_short);
diff --git a/source/rpc_server/lsa/dcesrv_lsa.c b/source/rpc_server/lsa/dcesrv_lsa.c
index 4375088..4d381ea 100644
--- a/source/rpc_server/lsa/dcesrv_lsa.c
+++ b/source/rpc_server/lsa/dcesrv_lsa.c
@@ -644,9 +644,26 @@ static NTSTATUS dcesrv_lsa_CreateTrustedDomain(struct dcesrv_call_state *dce_cal
/* create the trusted_domain */
ret = ldb_add(trusted_domain_state->policy->sam_ldb, msg);
- if (ret != LDB_SUCCESS) {
- DEBUG(0,("Failed to create trusted_domain record %s: %s\n",
- ldb_dn_get_linearized(msg->dn), ldb_errstring(trusted_domain_state->policy->sam_ldb)));
+ switch (ret) {
+ case LDB_SUCCESS:
+ break;
+ case LDB_ERR_ENTRY_ALREADY_EXISTS:
+ ldb_transaction_cancel(trusted_domain_state->policy->sam_ldb);
+ DEBUG(0,("Failed to create trusted domain record %s: %s\n",
+ ldb_dn_get_linearized(msg->dn),
+ ldb_errstring(trusted_domain_state->policy->sam_ldb)));
+ return NT_STATUS_DOMAIN_EXISTS;
+ case LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS:
+ ldb_transaction_cancel(trusted_domain_state->policy->sam_ldb);
+ DEBUG(0,("Failed to create trusted domain record %s: %s\n",
+ ldb_dn_get_linearized(msg->dn),
+ ldb_errstring(trusted_domain_state->policy->sam_ldb)));
+ return NT_STATUS_ACCESS_DENIED;
+ default:
+ ldb_transaction_cancel(trusted_domain_state->policy->sam_ldb);
+ DEBUG(0,("Failed to create user record %s: %s\n",
+ ldb_dn_get_linearized(msg->dn),
+ ldb_errstring(trusted_domain_state->policy->sam_ldb)));
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
diff --git a/source/rpc_server/lsa/lsa_lookup.c b/source/rpc_server/lsa/lsa_lookup.c
index bcc2af9..e01efa8 100644
--- a/source/rpc_server/lsa/lsa_lookup.c
+++ b/source/rpc_server/lsa/lsa_lookup.c
@@ -220,6 +220,7 @@ static NTSTATUS dcesrv_lsa_lookup_name(struct loadparm_context *lp_ctx,
} else if (strchr_m(name, '@')) {
status = crack_name_to_nt4_name(mem_ctx, lp_ctx, DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL, name, &domain, &username);
if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(3, ("Failed to crack name %s into an NT4 name: %s\n", name, nt_errstr(status)));
return status;
}
} else {
--
Samba Shared Repository
More information about the samba-cvs
mailing list