Use the _ext api for OpenLDAP, from Honza Machacek (gentoo).

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23153 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-04-30 11:25:57 +00:00
parent e5c092a265
commit 746ad99b8c

View File

@@ -746,11 +746,13 @@ LDAP_dn2principal(krb5_context context, HDB * db, const char *dn,
if (ret) if (ret)
goto out; goto out;
rc = ldap_search_s(HDB2LDAP(db), dn, LDAP_SCOPE_SUBTREE, rc = ldap_search_ext_s(HDB2LDAP(db), dn, LDAP_SCOPE_SUBTREE,
filter, krb5principal_attrs, filter, krb5principal_attrs, 0,
0, &res); NULL, NULL, NULL,
0, &res);
if (check_ldap(context, db, rc)) { if (check_ldap(context, db, rc)) {
krb5_set_error_string(context, "ldap_search_s: filter: %s error: %s", krb5_set_error_string(context, "ldap_search_ext_s: "
"filter: %s error: %s",
filter, ldap_err2string(rc)); filter, ldap_err2string(rc));
ret = HDB_ERR_NOENTRY; ret = HDB_ERR_NOENTRY;
goto out; goto out;
@@ -806,10 +808,14 @@ LDAP__lookup_princ(krb5_context context,
if (ret) if (ret)
goto out; goto out;
rc = ldap_search_s(HDB2LDAP(db), HDB2BASE(db), LDAP_SCOPE_SUBTREE, filter, rc = ldap_search_ext_s(HDB2LDAP(db), HDB2BASE(db),
krb5kdcentry_attrs, 0, msg); LDAP_SCOPE_SUBTREE, filter,
krb5kdcentry_attrs, 0,
NULL, NULL, NULL,
0, msg);
if (check_ldap(context, db, rc)) { if (check_ldap(context, db, rc)) {
krb5_set_error_string(context, "ldap_search_s: filter: %s - error: %s", krb5_set_error_string(context, "ldap_search_ext_s: "
"filter: %s - error: %s",
filter, ldap_err2string(rc)); filter, ldap_err2string(rc));
ret = HDB_ERR_NOENTRY; ret = HDB_ERR_NOENTRY;
goto out; goto out;
@@ -834,11 +840,13 @@ LDAP__lookup_princ(krb5_context context,
if (ret) if (ret)
goto out; goto out;
rc = ldap_search_s(HDB2LDAP(db), HDB2BASE(db), LDAP_SCOPE_SUBTREE, rc = ldap_search_ext_s(HDB2LDAP(db), HDB2BASE(db), LDAP_SCOPE_SUBTREE,
filter, krb5kdcentry_attrs, 0, msg); filter, krb5kdcentry_attrs, 0,
NULL, NULL, NULL,
0, msg);
if (check_ldap(context, db, rc)) { if (check_ldap(context, db, rc)) {
krb5_set_error_string(context, krb5_set_error_string(context,
"ldap_search_s: filter: %s error: %s", "ldap_search_ext_s: filter: %s error: %s",
filter, ldap_err2string(rc)); filter, ldap_err2string(rc));
ret = HDB_ERR_NOENTRY; ret = HDB_ERR_NOENTRY;
goto out; goto out;
@@ -1366,7 +1374,7 @@ LDAP_seq(krb5_context context, HDB * db, unsigned flags, hdb_entry_ex * entry)
&& parserc != LDAP_MORE_RESULTS_TO_RETURN) { && parserc != LDAP_MORE_RESULTS_TO_RETURN) {
krb5_set_error_string(context, "ldap_parse_result: %s", krb5_set_error_string(context, "ldap_parse_result: %s",
ldap_err2string(parserc)); ldap_err2string(parserc));
ldap_abandon(HDB2LDAP(db), msgid); ldap_abandon_ext(HDB2LDAP(db), msgid, NULL, NULL);
} }
ret = HDB_ERR_NOENTRY; ret = HDB_ERR_NOENTRY;
HDBSETMSGID(db, -1); HDBSETMSGID(db, -1);
@@ -1380,7 +1388,7 @@ LDAP_seq(krb5_context context, HDB * db, unsigned flags, hdb_entry_ex * entry)
default: default:
/* Some unspecified error (timeout?). Abandon. */ /* Some unspecified error (timeout?). Abandon. */
ldap_msgfree(e); ldap_msgfree(e);
ldap_abandon(HDB2LDAP(db), msgid); ldap_abandon_ext(HDB2LDAP(db), msgid, NULL, NULL);
ret = HDB_ERR_NOENTRY; ret = HDB_ERR_NOENTRY;
HDBSETMSGID(db, -1); HDBSETMSGID(db, -1);
break; break;
@@ -1413,10 +1421,11 @@ LDAP_firstkey(krb5_context context, HDB *db, unsigned flags,
if (ret) if (ret)
return ret; return ret;
msgid = ldap_search(HDB2LDAP(db), HDB2BASE(db), ret = ldap_search_ext(HDB2LDAP(db), HDB2BASE(db),
LDAP_SCOPE_SUBTREE, LDAP_SCOPE_SUBTREE,
"(|(objectClass=krb5Principal)(objectClass=sambaSamAccount))", "(|(objectClass=krb5Principal)(objectClass=sambaSamAccount))",
krb5kdcentry_attrs, 0); krb5kdcentry_attrs, 0,
NULL, NULL, NULL, 0, &msgid);
if (msgid < 0) if (msgid < 0)
return HDB_ERR_NOENTRY; return HDB_ERR_NOENTRY;
@@ -1588,12 +1597,12 @@ LDAP_store(krb5_context context, HDB * db, unsigned flags,
/* write entry into directory */ /* write entry into directory */
if (e == NULL) { if (e == NULL) {
/* didn't exist before */ /* didn't exist before */
rc = ldap_add_s(HDB2LDAP(db), dn, mods); rc = ldap_add_ext_s(HDB2LDAP(db), dn, mods, NULL, NULL );
errfn = "ldap_add_s"; errfn = "ldap_add_ext_s";
} else { } else {
/* already existed, send deltas only */ /* already existed, send deltas only */
rc = ldap_modify_s(HDB2LDAP(db), dn, mods); rc = ldap_modify_ext_s(HDB2LDAP(db), dn, mods, NULL, NULL );
errfn = "ldap_modify_s"; errfn = "ldap_modify_ext_s";
} }
if (check_ldap(context, db, rc)) { if (check_ldap(context, db, rc)) {
@@ -1652,9 +1661,9 @@ LDAP_remove(krb5_context context, HDB *db, krb5_const_principal principal)
goto out; goto out;
} }
rc = ldap_delete_s(HDB2LDAP(db), dn); rc = ldap_delete_ext_s(HDB2LDAP(db), dn, NULL, NULL );
if (check_ldap(context, db, rc)) { if (check_ldap(context, db, rc)) {
krb5_set_error_string(context, "ldap_delete_s: %s", krb5_set_error_string(context, "ldap_delete_ext_s: %s",
ldap_err2string(rc)); ldap_err2string(rc));
ret = HDB_ERR_CANT_LOCK_DB; ret = HDB_ERR_CANT_LOCK_DB;
} else } else