summaryrefslogtreecommitdiff
path: root/source4/kdc/hdb-ldb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/kdc/hdb-ldb.c')
-rw-r--r--source4/kdc/hdb-ldb.c35
1 files changed, 12 insertions, 23 deletions
diff --git a/source4/kdc/hdb-ldb.c b/source4/kdc/hdb-ldb.c
index 86c1b048a7..0306bf3106 100644
--- a/source4/kdc/hdb-ldb.c
+++ b/source4/kdc/hdb-ldb.c
@@ -509,18 +509,11 @@ static krb5_error_code LDB_lookup_principal(krb5_context context, struct ldb_con
realm_dn_str = ldb_dn_linearize(mem_ctx, realm_dn);
- if (lret != LDB_SUCCESS || res->count == 0) {
- krb5_warnx(context, "ldb_search: basedn: '%s' filter: '%s' failed: %s",
- realm_dn_str, filter, ldb_errstring(ldb_ctx));
- krb5_set_error_string(context, "ldb_search: basedn: '%s' filter: '%s' failed: %s",
- realm_dn_str, filter, ldb_errstring(ldb_ctx));
+ if (lret != LDB_SUCCESS) {
+ DEBUG(3, ("Failed to search for %s: %s\n", filter, ldb_errstring(ldb_ctx)));
return HDB_ERR_NOENTRY;
- } else if (res->count > 1) {
- krb5_warnx(context, "ldb_search: basedn: '%s' filter: '%s' more than 1 entry: %d",
- realm_dn_str, filter, res->count);
- krb5_set_error_string(context, "ldb_search: basedn: '%s' filter: '%s' more than 1 entry: %d",
- realm_dn_str, filter, res->count);
- talloc_free(res);
+ } else if (res->count == 0 || res->count > 1) {
+ DEBUG(3, ("Failed find a single entry for %s: got %d\n", filter, res->count));
return HDB_ERR_NOENTRY;
}
talloc_steal(mem_ctx, res->msgs);
@@ -548,25 +541,21 @@ static krb5_error_code LDB_lookup_realm(krb5_context context, struct ldb_context
ret = ldb_search(ldb_ctx, NULL, LDB_SCOPE_SUBTREE, cross_ref_filter, realm_ref_attrs, &cross_ref_res);
- if (ret != LDB_SUCCESS || cross_ref_res->count == 0) {
- krb5_warnx(context, "ldb_search: filter: '%s' failed: %s", cross_ref_filter, ldb_errstring(ldb_ctx));
- krb5_set_error_string(context, "ldb_search: filter: '%s' failed: %s", cross_ref_filter, ldb_errstring(ldb_ctx));
-
+ if (ret != LDB_SUCCESS) {
+ DEBUG(3, ("Failed to search for %s: %s\n", cross_ref_filter, ldb_errstring(ldb_ctx)));
talloc_free(cross_ref_res);
return HDB_ERR_NOENTRY;
- } else if (cross_ref_res->count > 1) {
- krb5_warnx(context, "ldb_search: filter: '%s' more than 1 entry: %d", cross_ref_filter, cross_ref_res->count);
- krb5_set_error_string(context, "ldb_search: filter: '%s' more than 1 entry: %d", cross_ref_filter, cross_ref_res->count);
-
+ } else if (cross_ref_res->count == 0 || cross_ref_res->count > 1) {
+ DEBUG(3, ("Failed find a single entry for %s: got %d\n", cross_ref_filter, cross_ref_res->count));
talloc_free(cross_ref_res);
return HDB_ERR_NOENTRY;
}
if (pmsg) {
- *pmsg = talloc_steal(mem_ctx, cross_ref_res->msgs);
- } else {
- talloc_free(cross_ref_res);
+ *pmsg = cross_ref_res->msgs;
+ talloc_steal(mem_ctx, cross_ref_res->msgs);
}
+ talloc_free(cross_ref_res);
return 0;
}
@@ -922,6 +911,7 @@ static krb5_error_code LDB_firstkey(krb5_context context, HDB *db, unsigned flag
priv->count = res->count;
priv->msgs = talloc_steal(priv, res->msgs);
+ talloc_free(res);
db->hdb_openp = priv;
@@ -958,7 +948,6 @@ NTSTATUS kdc_hdb_ldb_create(TALLOC_CTX *mem_ctx,
{
NTSTATUS nt_status;
struct auth_session_info *session_info;
- struct gensec_security_ops **not_kerberos_list;
*db = talloc(mem_ctx, HDB);
if (!*db) {
krb5_set_error_string(context, "malloc: out of memory");