summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2006-01-29 21:14:03 +0000
committerSam Hartman <hartmans@mit.edu>2006-01-29 21:14:03 +0000
commita177821837fb86d88e43e22b57767fd5ef2515fb (patch)
tree03ee11094af5f272f85dc3f8d76ad611f44c0df7
parenta46812b69fb353574c958396b26bce817d88e20f (diff)
downloadkrb5-hartmans/ldap-integ.tar.gz
* Fix prototype of db2 library initializer to work with changes introduced in error handling patch.hartmans/ldap-integ
* Remove thread safety flag from the LDAP plugin vftable * Work around LDAP_X_ERROR not being in all version of OpenLDAP * Work around older OpenLDAP using ldap_opt_error_number not ldap_opt_result_code * Source is in SRCTOP not BUILDTOP; kadmin/server got this wrong. * Document more blocking bugs git-svn-id: svn://anonsvn.mit.edu/krb5/users/hartmans/ldap-integ@17633 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--blocking-bugs6
-rw-r--r--src/kadmin/server/Makefile.in2
-rw-r--r--src/plugins/kdb/db2/ChangeLog4
-rw-r--r--src/plugins/kdb/db2/db2_exp.c4
-rw-r--r--src/plugins/kdb/kdb_ldap/ChangeLog8
-rw-r--r--src/plugins/kdb/kdb_ldap/ldap_err.c4
-rw-r--r--src/plugins/kdb/kdb_ldap/ldap_exp.c1
-rw-r--r--src/plugins/kdb/kdb_ldap/ldap_principal2.c3
8 files changed, 27 insertions, 5 deletions
diff --git a/blocking-bugs b/blocking-bugs
index 8b772cbef..60baef71a 100644
--- a/blocking-bugs
+++ b/blocking-bugs
@@ -13,7 +13,7 @@ specific data is OK.
* --with-ldap needs to be carefully considered; is OPENLDAP upper case really correct? Consider GCS and other options we already use.
-* kdc, kadmin/ldap_util, lib/kadm5/clnt/ wants err_handle.h from lib/kdb. This seems
+* kdc, kadmin/server kadmin/ldap_util, lib/kadm5/clnt/ wants err_handle.h from lib/kdb. This seems
wrong and should probably be fixed either by installing that header in
buildtop/include or something.
@@ -26,3 +26,7 @@ doesn't mess things up too much.
* I've told the kadmin client to link against -lkdb5 as a hack.
That's clearly wrong but is because of brokenness in kadm5/clnt.
+
+* The ldap plugin also serves as a library for its administrative
+interface. Determine if this is OK; I expect it to create load
+problems as the plugin directory should not be on the search path.
diff --git a/src/kadmin/server/Makefile.in b/src/kadmin/server/Makefile.in
index 5332acbb2..d6aa54a51 100644
--- a/src/kadmin/server/Makefile.in
+++ b/src/kadmin/server/Makefile.in
@@ -6,7 +6,7 @@ KDB_DEP_LIB=$(DL_LIB) $(THREAD_LINKOPTS)
LOCALINCLUDES = -I$(SRCTOP)/lib/gssapi/generic -I$(SRCTOP)/lib/gssapi/krb5 \
-I$(BUILDTOP)/lib/gssapi/generic -I$(BUILDTOP)/lib/gssapi/krb5 \
- -I$(BUILDTOP)/lib/kdb
+ -I$(SRCTOP)/lib/kdb
PROG_LIBPATH=-L$(TOPLIBD)
PROG_RPATH=$(KRB5_LIBDIR)
diff --git a/src/plugins/kdb/db2/ChangeLog b/src/plugins/kdb/db2/ChangeLog
index c6461f9ad..93ca25a7e 100644
--- a/src/plugins/kdb/db2/ChangeLog
+++ b/src/plugins/kdb/db2/ChangeLog
@@ -1,3 +1,7 @@
+2006-01-29 Sam Hartman <hartmans@mit.edu>
+
+ * db2_exp.c (hack_init): Update prototype to match krb5_db2_lib_init
+
2006-01-25 Ken Raeburn <raeburn@mit.edu>
* Makefile.in (DEFINES): New variable; define macro PLUGIN.
diff --git a/src/plugins/kdb/db2/db2_exp.c b/src/plugins/kdb/db2/db2_exp.c
index 35f700441..87e973eb4 100644
--- a/src/plugins/kdb/db2/db2_exp.c
+++ b/src/plugins/kdb/db2/db2_exp.c
@@ -193,13 +193,13 @@ WRAP_K (krb5_db2_db_get_mkey,
(context, key));
static krb5_error_code
-hack_init (krb5_set_err_func_t f)
+hack_init ()
{
krb5_error_code c;
c = krb5int_mutex_alloc (&krb5_db2_mutex);
if (c)
return c;
- return krb5_db2_lib_init (f);
+ return krb5_db2_lib_init ();
}
static krb5_error_code
diff --git a/src/plugins/kdb/kdb_ldap/ChangeLog b/src/plugins/kdb/kdb_ldap/ChangeLog
new file mode 100644
index 000000000..7addb2fa7
--- /dev/null
+++ b/src/plugins/kdb/kdb_ldap/ChangeLog
@@ -0,0 +1,8 @@
+2006-01-29 Sam Hartman <hartmans@mit.edu>
+
+ * ldap_exp.c (krb5_db_vftabl_kldap): Remove thread safe flag
+
+ * ldap_err.c: Ignore LDAP_X_ERROR if not supported by version of OpenLDAP in use
+
+ * ldap_principal2.c: Accept LDAP_OPT_ERROR_NUMBER as a less-preferred synonym for LDAP_OPT_RESULT_CODE
+
diff --git a/src/plugins/kdb/kdb_ldap/ldap_err.c b/src/plugins/kdb/kdb_ldap/ldap_err.c
index acd9f0c0c..e10c5dbf0 100644
--- a/src/plugins/kdb/kdb_ldap/ldap_err.c
+++ b/src/plugins/kdb/kdb_ldap/ldap_err.c
@@ -2,6 +2,10 @@
#include <errno.h>
#include <kdb5_err.h>
#include "ldap_err.h"
+#ifndef LDAP_X_ERROR
+#define LDAP_X_ERROR(x) (0)
+#endif
+
/*
* The possible KDB errors are
diff --git a/src/plugins/kdb/kdb_ldap/ldap_exp.c b/src/plugins/kdb/kdb_ldap/ldap_exp.c
index 2f921ca0d..b7bb08d24 100644
--- a/src/plugins/kdb/kdb_ldap/ldap_exp.c
+++ b/src/plugins/kdb/kdb_ldap/ldap_exp.c
@@ -48,7 +48,6 @@
kdb_vftabl krb5_db_vftabl_kldap = {
1, /* major version number 1 */
0, /* minor version number 0 */
- 0, /* TBD. Not sure whether thread safe. For now, its not */
/* init_library */ krb5_ldap_lib_init,
/* fini_library */ krb5_ldap_lib_cleanup,
/* init_module */ krb5_ldap_open,
diff --git a/src/plugins/kdb/kdb_ldap/ldap_principal2.c b/src/plugins/kdb/kdb_ldap/ldap_principal2.c
index 652ec2173..3ae13397d 100644
--- a/src/plugins/kdb/kdb_ldap/ldap_principal2.c
+++ b/src/plugins/kdb/kdb_ldap/ldap_principal2.c
@@ -40,6 +40,9 @@
extern char* principal_attributes[];
extern char* max_pwd_life_attr[];
+#if !defined( LDAP_OPT_RESULT_CODE) && defined(LDAP_OPT_ERROR_NUMBER)
+#define LDAP_OPT_RESULT_CODE LDAP_OPT_ERROR_NUMBER
+#endif
static krb5_error_code
krb5_decode_krbsecretkey(krb5_context, krb5_db_entry *, struct berval **, krb5_tl_data *);