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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user