Revamp cf/db.m4; test LMDB
This commit is contained in:
@@ -31,7 +31,7 @@ LDADD = $(LIB_otp) \
|
|||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(LIB_security) \
|
$(LIB_security) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
$(srcdir)/login-protos.h: $(login_SOURCES)
|
$(srcdir)/login-protos.h: $(login_SOURCES)
|
||||||
cd $(srcdir); perl ../../cf/make-proto.pl -o login-protos.h -q -P comment $(login_SOURCES) || rm -f login-protos.h
|
cd $(srcdir); perl ../../cf/make-proto.pl -o login-protos.h -q -P comment $(login_SOURCES) || rm -f login-protos.h
|
||||||
|
72
cf/db.m4
72
cf/db.m4
@@ -24,10 +24,12 @@ AC_ARG_ENABLE(ndbm-db,
|
|||||||
|
|
||||||
AC_ARG_ENABLE(mdb-db,
|
AC_ARG_ENABLE(mdb-db,
|
||||||
AS_HELP_STRING([--disable-mdb-db],
|
AS_HELP_STRING([--disable-mdb-db],
|
||||||
[if you don't want OpenLDAP libmdb db]),[
|
[if you don't want LMDB]),[
|
||||||
])
|
])
|
||||||
|
|
||||||
have_ndbm=no
|
have_db1=no
|
||||||
|
have_db3=no
|
||||||
|
have_lmdb=no
|
||||||
db_type=unknown
|
db_type=unknown
|
||||||
|
|
||||||
AS_IF([test "x$with_berkeley_db" != xno],
|
AS_IF([test "x$with_berkeley_db" != xno],
|
||||||
@@ -70,11 +72,11 @@ dnl db_create is used by db3 and db4 and db5
|
|||||||
],[NULL, NULL, 0])
|
],[NULL, NULL, 0])
|
||||||
|
|
||||||
if test "$ac_cv_func_db_create" = "yes"; then
|
if test "$ac_cv_func_db_create" = "yes"; then
|
||||||
db_type=db3
|
have_db3=yes
|
||||||
if test "$ac_cv_funclib_db_create" != "yes"; then
|
if test "$ac_cv_funclib_db_create" != "yes"; then
|
||||||
DBLIB="$ac_cv_funclib_db_create"
|
DB3LIB="$ac_cv_funclib_db_create"
|
||||||
else
|
else
|
||||||
DBLIB=""
|
DB3LIB=""
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_DB3, 1, [define if you have a berkeley db3/4/5 library])
|
AC_DEFINE(HAVE_DB3, 1, [define if you have a berkeley db3/4/5 library])
|
||||||
fi
|
fi
|
||||||
@@ -93,11 +95,11 @@ dnl dbopen is used by db1/db2
|
|||||||
],[NULL, 0, 0, 0, NULL])
|
],[NULL, 0, 0, 0, NULL])
|
||||||
|
|
||||||
if test "$ac_cv_func_dbopen" = "yes"; then
|
if test "$ac_cv_func_dbopen" = "yes"; then
|
||||||
db_type=db1
|
have_db1=yes
|
||||||
if test "$ac_cv_funclib_dbopen" != "yes"; then
|
if test "$ac_cv_funclib_dbopen" != "yes"; then
|
||||||
DBLIB="$ac_cv_funclib_dbopen"
|
DB1LIB="$ac_cv_funclib_dbopen"
|
||||||
else
|
else
|
||||||
DBLIB=""
|
DB1LIB=""
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_DB1, 1, [define if you have a berkeley db1/2 library])
|
AC_DEFINE(HAVE_DB1, 1, [define if you have a berkeley db1/2 library])
|
||||||
fi
|
fi
|
||||||
@@ -114,9 +116,9 @@ dnl test for ndbm compatability
|
|||||||
|
|
||||||
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
||||||
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
||||||
LIB_NDBM="$ac_cv_funclib_dbm_firstkey"
|
NDBMLIB="$ac_cv_funclib_dbm_firstkey"
|
||||||
else
|
else
|
||||||
LIB_NDBM=""
|
NDBMLIB=""
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_DB_NDBM, 1, [define if you have ndbm compat in db])
|
AC_DEFINE(HAVE_DB_NDBM, 1, [define if you have ndbm compat in db])
|
||||||
AC_DEFINE(HAVE_NEW_DB, 1, [Define if NDBM really is DB (creates files *.db)])
|
AC_DEFINE(HAVE_NEW_DB, 1, [Define if NDBM really is DB (creates files *.db)])
|
||||||
@@ -128,13 +130,15 @@ dnl test for ndbm compatability
|
|||||||
|
|
||||||
]) # fi berkeley db
|
]) # fi berkeley db
|
||||||
|
|
||||||
if test "$enable_mdb_db" != "no"; then
|
|
||||||
if test "$db_type" = "unknown"; then
|
AS_IF([test "x$enable_mdb_db" != xno],
|
||||||
AC_CHECK_HEADER(mdb.h, [
|
[AC_CHECK_HEADER(lmdb.h, [
|
||||||
AC_CHECK_LIB(mdb, mdb_env_create, db_type=mdb; DBLIB="-lmdb"
|
AC_CHECK_LIB(lmdb, mdb_env_create, have_lmdb=yes; LMDBLIB="-llmdb"
|
||||||
AC_DEFINE(HAVE_MDB, 1, [define if you have the OpenLDAP mdb library]))])
|
AC_DEFINE(HAVE_LMDB, 1, [define if you have the LMDB library]))])])
|
||||||
fi
|
|
||||||
fi
|
AS_IF([test "x$have_db3" = xyes -a "$db_type" = unknown], db_type=db3, db_type=unknown)
|
||||||
|
AS_IF([test "x$have_db1" = xyes -a "$db_type" = unknown], db_type=db1, db_type=unknown)
|
||||||
|
AS_IF([test "x$have_lmdb" = xyes -a "$db_type" = unknown], db_type=lmdb, db_type=unknown)
|
||||||
|
|
||||||
if test "$enable_ndbm_db" != "no"; then
|
if test "$enable_ndbm_db" != "no"; then
|
||||||
|
|
||||||
@@ -157,16 +161,12 @@ if test "$enable_ndbm_db" != "no"; then
|
|||||||
|
|
||||||
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
||||||
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
||||||
LIB_NDBM="$ac_cv_funclib_dbm_firstkey"
|
NDBMLIB="$ac_cv_funclib_dbm_firstkey"
|
||||||
else
|
else
|
||||||
LIB_NDBM=""
|
NDBMLIB=""
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_NDBM, 1, [define if you have a ndbm library])dnl
|
AC_DEFINE(HAVE_NDBM, 1, [define if you have a ndbm library])dnl
|
||||||
have_ndbm=yes
|
have_ndbm=yes
|
||||||
if test "$db_type" = "unknown"; then
|
|
||||||
db_type=ndbm
|
|
||||||
DBLIB="$LIB_NDBM"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
|
|
||||||
$as_unset ac_cv_func_dbm_firstkey
|
$as_unset ac_cv_func_dbm_firstkey
|
||||||
@@ -184,15 +184,14 @@ if test "$enable_ndbm_db" != "no"; then
|
|||||||
|
|
||||||
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
if test "$ac_cv_func_dbm_firstkey" = "yes"; then
|
||||||
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
if test "$ac_cv_funclib_dbm_firstkey" != "yes"; then
|
||||||
LIB_NDBM="$ac_cv_funclib_dbm_firstkey"
|
NDBMLIB="$ac_cv_funclib_dbm_firstkey"
|
||||||
else
|
else
|
||||||
LIB_NDBM=""
|
NDBMLIB=""
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_NDBM, 1, [define if you have a ndbm library])dnl
|
AC_DEFINE(HAVE_NDBM, 1, [define if you have a ndbm library])dnl
|
||||||
have_ndbm=yes
|
have_ndbm=yes
|
||||||
if test "$db_type" = "unknown"; then
|
if test "$db_type" = "unknown"; then
|
||||||
db_type=ndbm
|
db_type=ndbm
|
||||||
DBLIB="$LIB_NDBM"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -229,10 +228,10 @@ int main(int argc, char **argv)
|
|||||||
fi],[AC_MSG_RESULT([no])],[AC_MSG_RESULT([no-cross])])
|
fi],[AC_MSG_RESULT([no])],[AC_MSG_RESULT([no-cross])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_DB1, test "$db_type" = db1)dnl
|
AM_CONDITIONAL(HAVE_DB1, test "$have_db1" = yes)dnl
|
||||||
AM_CONDITIONAL(HAVE_DB3, test "$db_type" = db3)dnl
|
AM_CONDITIONAL(HAVE_DB3, test "$have_db3" = yes)dnl
|
||||||
AM_CONDITIONAL(HAVE_MDB, test "$db_type" = mdb)dnl
|
AM_CONDITIONAL(HAVE_LMDB, test "$have_lmdb" = yes)dnl
|
||||||
AM_CONDITIONAL(HAVE_NDBM, test "$db_type" = ndbm)dnl
|
AM_CONDITIONAL(HAVE_NDBM, test "$have_ndbm" = yes)dnl
|
||||||
AM_CONDITIONAL(HAVE_DBHEADER, test "$dbheader" != "")dnl
|
AM_CONDITIONAL(HAVE_DBHEADER, test "$dbheader" != "")dnl
|
||||||
|
|
||||||
## it's probably not correct to include LDFLAGS here, but we might
|
## it's probably not correct to include LDFLAGS here, but we might
|
||||||
@@ -243,7 +242,14 @@ for i in $LDFLAGS; do
|
|||||||
-L*) z="$z $i";;
|
-L*) z="$z $i";;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
DBLIB="$z $DBLIB"
|
DB3LIB="$z $DB3LIB"
|
||||||
AC_SUBST(DBLIB)dnl
|
DB1LIB="$z $DB1LIB"
|
||||||
AC_SUBST(LIB_NDBM)dnl
|
LMDBLIB="$z $LMDBLIB"
|
||||||
|
NDMBLIB="$z $NDBMLIB"
|
||||||
|
AC_SUBST(DB3LIB)dnl
|
||||||
|
AC_SUBST(DB1LIB)dnl
|
||||||
|
AC_SUBST(LMDBLIB)dnl
|
||||||
|
AC_SUBST(NDBMLIB)dnl
|
||||||
|
AC_SUBST(NDBMLIB)dnl
|
||||||
|
AC_SUBST(db_type)dnl
|
||||||
])
|
])
|
||||||
|
@@ -65,7 +65,7 @@ LDADD_common = \
|
|||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
kadmind_LDADD = $(top_builddir)/lib/kadm5/libkadm5srv.la \
|
kadmind_LDADD = $(top_builddir)/lib/kadm5/libkadm5srv.la \
|
||||||
../lib/gssapi/libgssapi.la \
|
../lib/gssapi/libgssapi.la \
|
||||||
|
@@ -86,7 +86,7 @@ hprop_LDADD = \
|
|||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
hpropd_LDADD = \
|
hpropd_LDADD = \
|
||||||
$(top_builddir)/lib/hdb/libhdb.la \
|
$(top_builddir)/lib/hdb/libhdb.la \
|
||||||
@@ -95,7 +95,7 @@ hpropd_LDADD = \
|
|||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
if PKINIT
|
if PKINIT
|
||||||
LIB_pkinit = $(top_builddir)/lib/hx509/libhx509.la
|
LIB_pkinit = $(top_builddir)/lib/hx509/libhx509.la
|
||||||
@@ -110,14 +110,14 @@ libkdc_la_LIBADD = \
|
|||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
LDADD = $(top_builddir)/lib/hdb/libhdb.la \
|
LDADD = $(top_builddir)/lib/hdb/libhdb.la \
|
||||||
$(top_builddir)/lib/krb5/libkrb5.la \
|
$(top_builddir)/lib/krb5/libkrb5.la \
|
||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
kdc_LDADD = libkdc.la $(LDADD) $(LIB_pidfile) $(CAPNG_LIBS)
|
kdc_LDADD = libkdc.la $(LDADD) $(LIB_pidfile) $(CAPNG_LIBS)
|
||||||
|
|
||||||
|
@@ -22,7 +22,7 @@ kpasswdd_LDADD = \
|
|||||||
$(LDADD) \
|
$(LDADD) \
|
||||||
$(LIB_pidfile) \
|
$(LIB_pidfile) \
|
||||||
$(LIB_dlopen) \
|
$(LIB_dlopen) \
|
||||||
$(DBLIB)
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
|
|
||||||
LDADD = $(top_builddir)/lib/krb5/libkrb5.la \
|
LDADD = $(top_builddir)/lib/krb5/libkrb5.la \
|
||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
|
@@ -110,8 +110,7 @@ libhdb_la_LIBADD = \
|
|||||||
$(LIBADD_roken) \
|
$(LIBADD_roken) \
|
||||||
$(ldap_lib) \
|
$(ldap_lib) \
|
||||||
$(LIB_dlopen) \
|
$(LIB_dlopen) \
|
||||||
$(DBLIB) \
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB)
|
||||||
$(LIB_NDBM)
|
|
||||||
|
|
||||||
HDB_PROTOS = $(srcdir)/hdb-protos.h $(srcdir)/hdb-private.h
|
HDB_PROTOS = $(srcdir)/hdb-protos.h $(srcdir)/hdb-private.h
|
||||||
|
|
||||||
|
@@ -157,6 +157,10 @@ DB_rename(krb5_context context, HDB *db, const char *new_name)
|
|||||||
int ret;
|
int ret;
|
||||||
char *old, *new;
|
char *old, *new;
|
||||||
|
|
||||||
|
if (strncmp(new_name, "db:", sizeof("db:") - 1) == 0)
|
||||||
|
new_name += sizeof("db:") - 1;
|
||||||
|
else if (strncmp(new_name, "db1:", sizeof("db1:") - 1) == 0)
|
||||||
|
new_name += sizeof("db1:") - 1;
|
||||||
asprintf(&old, "%s.db", db->hdb_name);
|
asprintf(&old, "%s.db", db->hdb_name);
|
||||||
asprintf(&new, "%s.db", new_name);
|
asprintf(&new, "%s.db", new_name);
|
||||||
ret = rename(old, new);
|
ret = rename(old, new);
|
||||||
|
@@ -168,6 +168,11 @@ DB_rename(krb5_context context, HDB *db, const char *new_name)
|
|||||||
int ret;
|
int ret;
|
||||||
char *old, *new;
|
char *old, *new;
|
||||||
|
|
||||||
|
if (strncmp(new_name, "db:", sizeof("db:") - 1) == 0)
|
||||||
|
new_name += sizeof("db:") - 1;
|
||||||
|
else if (strncmp(new_name, "db3:", sizeof("db3:") - 1) == 0)
|
||||||
|
new_name += sizeof("db3:") - 1;
|
||||||
|
|
||||||
ret = asprintf(&old, "%s.db", db->hdb_name);
|
ret = asprintf(&old, "%s.db", db->hdb_name);
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
|
@@ -34,11 +34,11 @@
|
|||||||
|
|
||||||
#include "hdb_locl.h"
|
#include "hdb_locl.h"
|
||||||
|
|
||||||
#if HAVE_MDB
|
#if HAVE_LMDB
|
||||||
|
|
||||||
/* OpenLDAP MDB */
|
/* LMDB */
|
||||||
|
|
||||||
#include <mdb.h>
|
#include <lmdb.h>
|
||||||
|
|
||||||
#define KILO 1024
|
#define KILO 1024
|
||||||
|
|
||||||
@@ -172,12 +172,16 @@ DB_rename(krb5_context context, HDB *db, const char *new_name)
|
|||||||
int ret;
|
int ret;
|
||||||
char *old, *new;
|
char *old, *new;
|
||||||
|
|
||||||
|
if (strncmp(new_name, "mdb:", sizeof("mdb:") - 1) == 0)
|
||||||
|
new_name += sizeof("mdb:") - 1;
|
||||||
|
else if (strncmp(new_name, "lmdb:", sizeof("lmdb:") - 1) == 0)
|
||||||
|
new_name += sizeof("lmdb:") - 1;
|
||||||
if (asprintf(&old, "%s.mdb", db->hdb_name) == -1)
|
if (asprintf(&old, "%s.mdb", db->hdb_name) == -1)
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
if (asprintf(&new, "%s.mdb", new_name) == -1) {
|
if (asprintf(&new, "%s.mdb", new_name) == -1) {
|
||||||
free(old);
|
free(old);
|
||||||
return ENOMEM;
|
return ENOMEM;
|
||||||
}
|
}
|
||||||
ret = rename(old, new);
|
ret = rename(old, new);
|
||||||
free(old);
|
free(old);
|
||||||
free(new);
|
free(new);
|
||||||
@@ -394,4 +398,4 @@ hdb_mdb_create(krb5_context context, HDB **db,
|
|||||||
(*db)->hdb_destroy = DB_destroy;
|
(*db)->hdb_destroy = DB_destroy;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_MDB */
|
#endif /* HAVE_LMDB */
|
||||||
|
@@ -70,8 +70,9 @@ static struct hdb_method methods[] = {
|
|||||||
#if HAVE_DB1
|
#if HAVE_DB1
|
||||||
{ HDB_INTERFACE_VERSION, NULL, NULL, "mit-db:", hdb_mitdb_create},
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "mit-db:", hdb_mitdb_create},
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_MDB
|
#if HAVE_LMDB
|
||||||
{ HDB_INTERFACE_VERSION, NULL, NULL, "mdb:", hdb_mdb_create},
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "mdb:", hdb_mdb_create},
|
||||||
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "lmdb:", hdb_mdb_create},
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_NDBM
|
#if HAVE_NDBM
|
||||||
{ HDB_INTERFACE_VERSION, NULL, NULL, "ndbm:", hdb_ndbm_create},
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "ndbm:", hdb_ndbm_create},
|
||||||
@@ -90,6 +91,9 @@ static struct hdb_method methods[] = {
|
|||||||
#if HAVE_DB1 || HAVE_DB3
|
#if HAVE_DB1 || HAVE_DB3
|
||||||
static struct hdb_method dbmetod =
|
static struct hdb_method dbmetod =
|
||||||
{ HDB_INTERFACE_VERSION, NULL, NULL, "", hdb_db_create };
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "", hdb_db_create };
|
||||||
|
#elif defined(HAVE_LMDB)
|
||||||
|
static struct hdb_method dbmetod =
|
||||||
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "", hdb_mdb_create };
|
||||||
#elif defined(HAVE_NDBM)
|
#elif defined(HAVE_NDBM)
|
||||||
static struct hdb_method dbmetod =
|
static struct hdb_method dbmetod =
|
||||||
{ HDB_INTERFACE_VERSION, NULL, NULL, "", hdb_ndbm_create };
|
{ HDB_INTERFACE_VERSION, NULL, NULL, "", hdb_ndbm_create };
|
||||||
@@ -310,7 +314,8 @@ find_method (const char *filename, const char **rest)
|
|||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#if defined(HAVE_DB1) || defined(HAVE_DB3) || defined(HAVE_NDBM)
|
#if defined(HAVE_DB1) || defined(HAVE_DB3) || defined(HAVE_LMDB) || defined(HAVE_NDBM)
|
||||||
|
/* XXX This doesn't handle Windows */
|
||||||
if (strncmp(filename, "/", 1) == 0
|
if (strncmp(filename, "/", 1) == 0
|
||||||
|| strncmp(filename, "./", 2) == 0
|
|| strncmp(filename, "./", 2) == 0
|
||||||
|| strncmp(filename, "../", 3) == 0)
|
|| strncmp(filename, "../", 3) == 0)
|
||||||
|
@@ -133,7 +133,7 @@ LDADD = \
|
|||||||
$(top_builddir)/lib/asn1/libasn1.la \
|
$(top_builddir)/lib/asn1/libasn1.la \
|
||||||
$(LIB_hcrypto) \
|
$(LIB_hcrypto) \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB) \
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB) \
|
||||||
$(LIB_dlopen) \
|
$(LIB_dlopen) \
|
||||||
$(LIB_pidfile)
|
$(LIB_pidfile)
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ iprop_log_LDADD = \
|
|||||||
$(top_builddir)/lib/sl/libsl.la \
|
$(top_builddir)/lib/sl/libsl.la \
|
||||||
$(LIB_readline) \
|
$(LIB_readline) \
|
||||||
$(LIB_roken) \
|
$(LIB_roken) \
|
||||||
$(DBLIB) \
|
$(DB3LIB) $(DB1LIB) $(LMDBLIB) $(NDBMLIB) \
|
||||||
$(LIB_dlopen) \
|
$(LIB_dlopen) \
|
||||||
$(LIB_pidfile)
|
$(LIB_pidfile)
|
||||||
|
|
||||||
|
@@ -21,14 +21,14 @@ libotp_la_LIBADD = $(LIB_hcrypto) $(LIB_roken)
|
|||||||
|
|
||||||
if HAVE_DB1
|
if HAVE_DB1
|
||||||
ndbm_wrap = ndbm_wrap.c ndbm_wrap.h
|
ndbm_wrap = ndbm_wrap.c ndbm_wrap.h
|
||||||
libotp_la_LIBADD += $(LIB_db_create)
|
libotp_la_LIBADD += $(DB1LIB)
|
||||||
else
|
else
|
||||||
if HAVE_DB3
|
if HAVE_DB3
|
||||||
ndbm_wrap = ndbm_wrap.c ndbm_wrap.h
|
ndbm_wrap = ndbm_wrap.c ndbm_wrap.h
|
||||||
libotp_la_LIBADD += $(LIB_db_create)
|
libotp_la_LIBADD += $(DB3LIB)
|
||||||
else
|
else
|
||||||
ndbm_wrap =
|
ndbm_wrap =
|
||||||
libotp_la_LIBADD += $(LIB_NDBM)
|
libotp_la_LIBADD += $(NDBMLIB)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
include $(top_srcdir)/Makefile.am.common
|
include $(top_srcdir)/Makefile.am.common
|
||||||
|
|
||||||
noinst_DATA = krb5.conf krb5.conf-sqlite
|
noinst_DATA = krb5.conf krb5.conf-sqlite krb5.conf-db3 krb5.conf-db1 krb5.conf-lmdb
|
||||||
|
|
||||||
noinst_SCRIPTS = have-db
|
noinst_SCRIPTS = have-db
|
||||||
|
|
||||||
@@ -13,6 +13,7 @@ TESTS = $(check_SCRIPTS)
|
|||||||
do_subst = sed -e 's,[@]srcdir[@],$(srcdir),g' \
|
do_subst = sed -e 's,[@]srcdir[@],$(srcdir),g' \
|
||||||
-e 's,[@]top_builddir[@],$(top_builddir),g' \
|
-e 's,[@]top_builddir[@],$(top_builddir),g' \
|
||||||
-e 's,[@]objdir[@],$(top_builddir)/tests/db,g' \
|
-e 's,[@]objdir[@],$(top_builddir)/tests/db,g' \
|
||||||
|
-e 's,[@]default_db_type[@],$(db_type),g' \
|
||||||
-e 's,[@]EGREP[@],$(EGREP),g'
|
-e 's,[@]EGREP[@],$(EGREP),g'
|
||||||
|
|
||||||
loaddump-db: loaddump-db.in Makefile
|
loaddump-db: loaddump-db.in Makefile
|
||||||
@@ -48,6 +49,18 @@ krb5.conf-sqlite: krb5.conf.in Makefile
|
|||||||
$(do_subst) -e 's,[@]type[@],sqlite:,g' < $(srcdir)/krb5.conf.in > krb5.conf-sqlite.tmp
|
$(do_subst) -e 's,[@]type[@],sqlite:,g' < $(srcdir)/krb5.conf.in > krb5.conf-sqlite.tmp
|
||||||
mv krb5.conf-sqlite.tmp krb5.conf-sqlite
|
mv krb5.conf-sqlite.tmp krb5.conf-sqlite
|
||||||
|
|
||||||
|
krb5.conf-db3: krb5.conf.in Makefile
|
||||||
|
$(do_subst) -e 's,[@]type[@],db3:,g' < $(srcdir)/krb5.conf.in > krb5.conf-db3.tmp
|
||||||
|
mv krb5.conf-db3.tmp krb5.conf-db3
|
||||||
|
|
||||||
|
krb5.conf-db1: krb5.conf.in Makefile
|
||||||
|
$(do_subst) -e 's,[@]type[@],db1:,g' < $(srcdir)/krb5.conf.in > krb5.conf-db1.tmp
|
||||||
|
mv krb5.conf-db1.tmp krb5.conf-db1
|
||||||
|
|
||||||
|
krb5.conf-lmdb: krb5.conf.in Makefile
|
||||||
|
$(do_subst) -e 's,[@]type[@],lmdb:,g' < $(srcdir)/krb5.conf.in > krb5.conf-lmdb.tmp
|
||||||
|
mv krb5.conf-lmdb.tmp krb5.conf-lmdb
|
||||||
|
|
||||||
krb5-mit.conf: krb5-mit.conf.in Makefile
|
krb5-mit.conf: krb5-mit.conf.in Makefile
|
||||||
$(do_subst) < $(srcdir)/krb5-mit.conf.in > krb5-mit.conf.tmp
|
$(do_subst) < $(srcdir)/krb5-mit.conf.in > krb5-mit.conf.tmp
|
||||||
mv krb5-mit.conf.tmp krb5-mit.conf
|
mv krb5-mit.conf.tmp krb5-mit.conf
|
||||||
@@ -64,6 +77,9 @@ CLEANFILES= \
|
|||||||
mkey.file* \
|
mkey.file* \
|
||||||
krb5.conf krb5.conf.tmp \
|
krb5.conf krb5.conf.tmp \
|
||||||
krb5.conf-sqlite krb5.conf-sqlite.tmp \
|
krb5.conf-sqlite krb5.conf-sqlite.tmp \
|
||||||
|
krb5.conf-db3 krb5.conf-db3.tmp \
|
||||||
|
krb5.conf-db1 krb5.conf-db1.tmp \
|
||||||
|
krb5.conf-lmdb krb5.conf-lmdb.tmp \
|
||||||
krb5-mit.conf krb5-mit.conf.tmp \
|
krb5-mit.conf krb5-mit.conf.tmp \
|
||||||
tempfile \
|
tempfile \
|
||||||
log.current-db* \
|
log.current-db* \
|
||||||
|
@@ -38,6 +38,9 @@ srcdir="@srcdir@"
|
|||||||
objdir="@objdir@"
|
objdir="@objdir@"
|
||||||
EGREP="@EGREP@"
|
EGREP="@EGREP@"
|
||||||
|
|
||||||
|
default_db_type=@default_db_type@
|
||||||
|
db_type=${1:-${default_db_type}}
|
||||||
|
|
||||||
# If there is no useful db support compile in, disable test
|
# If there is no useful db support compile in, disable test
|
||||||
./have-db || exit 77
|
./have-db || exit 77
|
||||||
|
|
||||||
@@ -46,7 +49,7 @@ R=EXAMPLE.ORG
|
|||||||
kadmin="${TESTS_ENVIRONMENT} ../../kadmin/kadmin -l -r $R"
|
kadmin="${TESTS_ENVIRONMENT} ../../kadmin/kadmin -l -r $R"
|
||||||
iproplog="${TESTS_ENVIRONMENT} ../../lib/kadm5/iprop-log"
|
iproplog="${TESTS_ENVIRONMENT} ../../lib/kadm5/iprop-log"
|
||||||
|
|
||||||
KRB5_CONFIG="${objdir}/krb5.conf"
|
KRB5_CONFIG="${objdir}/krb5.conf-${db_type}"
|
||||||
export KRB5_CONFIG
|
export KRB5_CONFIG
|
||||||
|
|
||||||
rm -f current-db*
|
rm -f current-db*
|
||||||
|
@@ -36,6 +36,9 @@ srcdir="@srcdir@"
|
|||||||
objdir="@objdir@"
|
objdir="@objdir@"
|
||||||
EGREP="@EGREP@"
|
EGREP="@EGREP@"
|
||||||
|
|
||||||
|
default_db_type=@default_db_type@
|
||||||
|
db_type=${1:-${default_db_type}}
|
||||||
|
|
||||||
testfailed="echo test failed; cat messages.log; exit 1"
|
testfailed="echo test failed; cat messages.log; exit 1"
|
||||||
|
|
||||||
# If there is no useful db support compile in, disable test
|
# If there is no useful db support compile in, disable test
|
||||||
|
@@ -47,10 +47,11 @@ IFS="$oldIFS"
|
|||||||
while [ $# != 0 ] ; do
|
while [ $# != 0 ] ; do
|
||||||
case $1 in
|
case $1 in
|
||||||
db:*) exit 0 ;;
|
db:*) exit 0 ;;
|
||||||
|
db1:*) exit 0 ;;
|
||||||
gdbm:*) exit 0 ;;
|
gdbm:*) exit 0 ;;
|
||||||
db4:*) exit 0 ;;
|
db4:*) exit 0 ;;
|
||||||
db3:*) exit 0 ;;
|
db3:*) exit 0 ;;
|
||||||
ldb:*) exit 0 ;;
|
lmdb:*) exit 0 ;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
@@ -47,15 +47,13 @@ kstash="../../kdc/kstash"
|
|||||||
hprop="../../kdc/hprop"
|
hprop="../../kdc/hprop"
|
||||||
hpropd="../../kdc/hpropd"
|
hpropd="../../kdc/hpropd"
|
||||||
|
|
||||||
type="${1}"
|
default_db_type=@default_db_type@
|
||||||
typesep="${type:+:}"
|
db_type=${1:-${default_db_type}}
|
||||||
typeconf="${type:+-}"
|
|
||||||
|
|
||||||
|
propdb="${hprop} --database=${db_type}:./current-db -n"
|
||||||
|
propddb="${hpropd} --database=${db_type}:./current-db -n"
|
||||||
|
|
||||||
propdb="${hprop} --database=${type}${typesep}./current-db -n"
|
KRB5_CONFIG="${objdir}/krb5.conf-${db_type}"
|
||||||
propddb="${hpropd} --database=${type}${typesep}./current-db -n"
|
|
||||||
|
|
||||||
KRB5_CONFIG="${objdir}/krb5.conf${typeconf}${type}"
|
|
||||||
export KRB5_CONFIG
|
export KRB5_CONFIG
|
||||||
|
|
||||||
rm -f current-db*
|
rm -f current-db*
|
||||||
|
@@ -35,6 +35,9 @@ top_builddir="@top_builddir@"
|
|||||||
env_setup="@env_setup@"
|
env_setup="@env_setup@"
|
||||||
objdir="@objdir@"
|
objdir="@objdir@"
|
||||||
|
|
||||||
|
default_db_type=@default_db_type@
|
||||||
|
db_type=${1:-${default_db_type}}
|
||||||
|
|
||||||
. ${env_setup}
|
. ${env_setup}
|
||||||
|
|
||||||
# If there is no useful db support compile in, disable test
|
# If there is no useful db support compile in, disable test
|
||||||
|
Reference in New Issue
Block a user