]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Moved plugin initialization into krb5int_lib_init from the applications. (It is still...
authorZhanna Tsitkov <tsitkova@mit.edu>
Wed, 21 Apr 2010 19:03:41 +0000 (19:03 +0000)
committerZhanna Tsitkov <tsitkova@mit.edu>
Wed, 21 Apr 2010 19:03:41 +0000 (19:03 +0000)
Make check works until it reaches ./t_gssapi.py

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/plugins@23915 dc483132-0cff-0310-8789-dd5450dbe970

16 files changed:
src/Makefile.in
src/config/pre.in
src/lib/Makefile.in
src/lib/crypto/crypto_tests/Makefile.in
src/lib/crypto/crypto_tests/t_prng.c
src/lib/krb5/Makefile.in
src/lib/krb5/krb5_libinit.c
src/plugin_core/Makefile.in
src/plugin_core/impl/Makefile.in
src/plugin_core/impl/plugin_default_factory.c
src/plugin_core/impl/plugin_default_factory.h
src/plugin_core/libplugin_core.exports [moved from src/plugin_core/plugin_core.exports with 100% similarity]
src/plugins/prng/Makefile.in
src/plugins/prng/plugin_yarrow/Makefile.in
src/plugins/prng/plugin_yarrow/deps
src/plugins/prng/prng.exports [deleted file]

index 36d15ba077754e2bbb83223c99d242b7c6bbd0cd..736ad0b2d2c9e3ec2a2324c4f62907e302cf936b 100644 (file)
@@ -7,8 +7,7 @@ mydir=.
 #      plugins/preauth/wpse
 #      plugins/preauth/cksum_body
 #      plugins/authdata/greet
-SUBDIRS=util include plugins/prng   plugin_core  lib \
-       plugins/prng/plugin_yarrow   plugin_core/impl   \
+SUBDIRS=util include plugin_core   plugins/prng lib \
        @ldap_plugin_dir@ \
        plugins/kdb/db2 \
        plugins/preauth/pkinit \
@@ -18,6 +17,8 @@ SUBDIRS=util include plugins/prng   plugin_core  lib \
 BUILDTOP=$(REL)$(C)
 LOCALINCLUDES = -I$(srcdir) 
 
+#      plugins/prng/plugin_yarrow   
+
 SRCS =  
 HDRS = 
 
index 4f69cfbbb763d859f1c205f24684932fcb1d7064..e77f81e0e757d1ee3c983ae38d044efc1743eefa 100644 (file)
@@ -324,8 +324,8 @@ GSSRPC_DEPLIB       = $(TOPLIBD)/libgssrpc$(DEPLIBEXT)
 GSS_DEPLIB     = $(TOPLIBD)/libgssapi_krb5$(DEPLIBEXT)
 KRB5_DEPLIB    = $(TOPLIBD)/libkrb5$(DEPLIBEXT)
 CRYPTO_DEPLIB  = $(TOPLIBD)/libk5crypto$(DEPLIBEXT)
-PLUGIN_CORE_DEPLIB     = $(TOPLIBD)/../plugin_core/plugin_core$(DEPLIBEXT)
-PLUGIN_PRNG_DEPLIB     = $(TOPLIBD)/../plugins/prng/plugin_prng$(DEPLIBEXT)
+PLUGIN_CORE_DEPLIB     = $(TOPLIBD)/../plugin_core/libplugin_core$(DEPLIBEXT)
+PLUGIN_PRNG_DEPLIB     = $(TOPLIBD)/../plugins/prng/libplugin_prng.a
 COM_ERR_DEPLIB = $(COM_ERR_DEPLIB-@COM_ERR_VERSION@)
 COM_ERR_DEPLIB-sys = # empty
 COM_ERR_DEPLIB-k5 = $(TOPLIBD)/libcom_err$(DEPLIBEXT)
index 55e9b0f37d6182d9babbe50ed2a191b697c601fd..fc8af38215436acacb0c729695ccc88de651e433 100644 (file)
@@ -1,5 +1,5 @@
 mydir=lib
-SUBDIRS=crypto krb5 gssapi rpc kdb kadm5 apputils
+SUBDIRS=crypto ../plugins/prng/plugin_yarrow ../plugin_core/impl krb5 gssapi rpc kdb kadm5 apputils
 BUILDTOP=$(REL)..
 
 all-unix::
index 14ec0ff896c2fc9627e8f5a1226ed34dbd072a02..ee09ea4b5fe79fca9c16d44d09068d3eb93817fa 100644 (file)
@@ -15,11 +15,7 @@ PROG_RPATH=$(KRB5_LIBDIR)
 DEFS=
 
 PLUGINS_LIBS = \
-       ../../../plugin_core/impl/plugin_default_manager.so     \
-       ../../../plugin_core/impl/plugin_default_factory.so     \
-       ../../../plugins/prng/plugin_yarrow/plugin_prng_impl.so \
-       ../../../plugins/prng/plugin_yarrow/yarrow.so   \
-       ../../../plugins/prng/plugin_yarrow/ycipher.so
+       $(srcdir)/../../libplugin_impl.a $(srcdir)/../../libplugin_yarrow.a
 
 EXTRADEPSRCS=\
        $(srcdir)/t_nfold.c     \
@@ -51,15 +47,15 @@ EXTRADEPSRCS=\
 # checksums that interoperate.
 #  check-unix:: t_nfold t_encrypt t_prf t_prng t_hmac \
 #
-check-unix:: t_prng t_nfold t_encrypt t_hmac t_prf\
+check-unix:: t_encrypt t_prng t_nfold t_encrypt t_hmac t_prf\
                t_cksum4 t_cksum5 \
                aes-test  \
                t_mddriver4 t_mddriver \
                t_crc t_cts t_short
+       $(RUN_SETUP) $(VALGRIND) ./t_encrypt
        $(RUN_SETUP) $(VALGRIND) ./t_prng <$(srcdir)/t_prng.seed >t_prng.output && \
        diff t_prng.output $(srcdir)/t_prng.expected
        $(RUN_SETUP) $(VALGRIND) ./t_nfold
-       $(RUN_SETUP) $(VALGRIND) ./t_encrypt
        $(RUN_SETUP) $(VALGRIND) ./t_hmac
        $(RUN_SETUP) $(VALGRIND) ./t_prf <$(srcdir)/t_prf.in >t_prf.output
        diff t_prf.output $(srcdir)/t_prf.expected
index 623aaedbb3b558fba0eb2f79c6bb68c260a078f0..7825b23548c47edc2c67f4aa083276f9383ad593 100644 (file)
@@ -48,6 +48,7 @@ int main () {
     krb5_data input, output;
     unsigned int source_id, seed_length;
     unsigned int i;
+//#if 0
     plugin_manager* default_manager;
     const char conf_path[] = "plugin_conf.yml";
 
@@ -56,7 +57,7 @@ int main () {
 
         plugin_manager_configure(conf_path);
         plugin_manager_start();
-
+//#endif
     while (1) {
         /* Read source*/
         if (scanf ("%u", &source_id ) == EOF )
index adaba32aa128875ad901117888941e6f415bcd79..75ca2b4c41e5cabfe23edbbf465809a018b030a9 100644 (file)
@@ -1,9 +1,16 @@
 mydir=lib/krb5
 BUILDTOP=$(REL)..$(S)..
-LOCALINCLUDES = -I$(srcdir)/ccache -I$(srcdir)/keytab -I$(srcdir)/rcache -I$(srcdir)/os -I$(srcdir)/unicode
+LOCALINCLUDES = -I$(srcdir)/ccache -I$(srcdir)/keytab -I$(srcdir)/rcache -I$(srcdir)/os -I$(srcdir)/unicode    \
+       -I$(srcdir)/../../plugin_core/ -I$(srcdir)/../../plugins/prng/ -I$(srcdir)/../../plugin_core/impl
+
 SUBDIRS= error_tables asn.1 ccache keytab krb os rcache unicode
 DEFS=
 
+PLUGINS_LIBS = \
+       ../../plugin_core/impl/libplugin_impl.a $(PLUGIN_CORE_DEPLIB)   \
+       ../../plugins/prng/plugin_yarrow/libplugin_yarrow.a
+
+
 ##DOSBUILDTOP = ..\..
 ##DOSLIBNAME=$(OUTPRE)krb5.lib
 ##DOSOBJFILEDEP=$(OUTPRE)asn1.lst $(OUTPRE)ccache.lst $(OUTPRE)err_tbls.lst $(OUTPRE)keytab.lst $(OUTPRE)krb.lst $(OUTPRE)os.lst $(OUTPRE)posix.lst $(OUTPRE)rcache.lst $(OUTPRE)krb5.lst $(OUTPRE)unicode.lst
@@ -54,8 +61,8 @@ SRCS=\
 RELDIR=krb5
 SHLIB_EXPDEPS = \
        $(TOPLIBD)/libk5crypto$(SHLIBEXT) \
-       $(COM_ERR_DEPLIB) $(SUPPORT_DEPLIB)
-SHLIB_EXPLIBS=-lk5crypto -lcom_err $(SUPPORT_LIB) @GEN_LIB@ $(LIBS)
+       $(COM_ERR_DEPLIB) $(SUPPORT_DEPLIB) 
+SHLIB_EXPLIBS=-lk5crypto -lcom_err $(SUPPORT_LIB) @GEN_LIB@ $(LIBS)   $(PLUGINS_LIBS)
 SHLIB_DIRS=-L$(TOPLIBD)
 SHLIB_RDIRS=$(KRB5_LIBDIR)
 
@@ -63,7 +70,9 @@ all-unix:: all-liblinks
 
 all-windows::
 
-clean-unix:: clean-liblinks clean-libs clean-libobjs
+clean-unix:: clean-liblinks clean-libs clean-libobjs 
+
+       
 
 clean-windows::
        $(RM) $(OUTPRE)krb5.lib krb5.bak
index 1948b72685d26b163a76c78ed618f1f46364b57c..9a9395da7c07fd2cdd736cd968c4554e6ce9dcba 100644 (file)
@@ -15,6 +15,9 @@
 #include "kt-int.h"
 #include "rc-int.h"
 #include "os-proto.h"
+#include <plugin_default_manager.h>
+#include <plugin_prng.h>
+
 
 /*
  * Initialize the Kerberos v5 library.
@@ -27,6 +30,8 @@ MAKE_FINI_FUNCTION(krb5int_lib_fini);
 int krb5int_lib_init(void)
 {
     int err;
+    plugin_manager* default_manager;
+    const char conf_path[] = "/tmp/plugin_conf.yml";
 
     krb5int_set_error_info_callout_fn (error_message);
 
@@ -39,7 +44,6 @@ int krb5int_lib_init(void)
     add_error_table(&et_kdb5_error_table);
     add_error_table(&et_asn1_error_table);
     add_error_table(&et_k524_error_table);
-
     err = krb5int_rc_finish_init();
     if (err)
         return err;
@@ -51,6 +55,13 @@ int krb5int_lib_init(void)
     err = krb5int_cc_initialize();
     if (err)
         return err;
+
+    /* Plugin initialization */
+    default_manager = plugin_default_manager_get_instance();
+    set_plugin_manager_instance(default_manager);
+    plugin_manager_configure(conf_path);
+    plugin_manager_start();
+
     err = k5_mutex_finish_init(&krb5int_us_time_mutex);
     if (err)
         return err;
index 9aca2180aee8eb41cc6f81b9be8e6f128b727788..a17dc90fc26f13c1ffc6b6321eb5ca232bccef05 100644 (file)
@@ -1,12 +1,13 @@
 mydir=plugin_core
 BUILDTOP=$(REL)..
+RELDIR=../plugin_core
 PROG_LIBPATH=-L$(TOPLIBD)
 PROG_RPATH=$(KRB5_LIBDIR)
 DEFS=
 
 LOCALINCLUDES = -I$(srcdir)/include/krb5  -I$(srcdir)/. -I$(srcdir)/../plugins/prng
 
-LIBBASE=plugin_core
+LIBBASE= plugin_core
 LIBMAJOR=0
 LIBMINOR=0
 SO_EXT=.so
@@ -15,7 +16,7 @@ LIBS_UTILS = -lyaml
 
 SHLIB_DIRS=-L$(TOPLIBD)
 SHLIB_RDIRS=$(KRB5_LIBDIR)
-STOBJLISTS=OBJS.ST ../plugins/prng/OBJS.SH  
+STOBJLISTS=OBJS.ST
 
 SHLIB_EXPLIBS=  $(LIBS_UTILS)
  
@@ -23,14 +24,13 @@ STLIBOBJS= plugin_manager.o plugin_factory.o yaml_parser.o
 
 SRCS= plugin_manager.c plugin_factory.c yaml_parser.c
 
-# all-unix:: all-libobjs
 all-unix:: all-liblinks
 install-unix:: install-libs
-clean-unix:: clean-libs clean-libobjs
+clean-unix:: clean-libs clean-libobjs clean-liblinks
 
 clean::
        $(RM) lib$(LIBBASE)$(SO_EXT)
 
-@libnover_frag@
+@lib_frag@
 @libobj_frag@
 
index 17145789cc1b207689ea8544b03b3b97bdccc36d..ce169acdc353c783cf63c6fd23afba6819b84dd1 100644 (file)
@@ -1,5 +1,6 @@
 mydir=impl
 BUILDTOP=$(REL)../..
+RELDIR=../plugin_core/impl
 PROG_LIBPATH=-L$(TOPLIBD)
 PROG_RPATH=$(KRB5_LIBDIR)
 DEFS=
@@ -8,22 +9,26 @@ LOCALINCLUDES = -I$(srcdir)/../../include/krb5  -I$(srcdir)/.         \
                -I$(srcdir)/../../plugins/prng/plugin_yarrow -I$(srcdir)/../../plugins/prng     \
                -I$(srcdir)/..
 
-STLIBOBJS= plugin_default_factory.o plugin_default_manager.o
+LIBBASE=plugin_impl
 
-OBJS=\
-       $(OUTPRE)plugin_default_manager.$(OBJEXT) \
-       $(OUTPRE)plugin_default_factory.$(OBJEXT) 
+STLIBOBJS= plugin_default_factory.o plugin_default_manager.o
 
 SRCS= plugin_default_factory.c plugin_default_manager.c
 
-all-unix:: all-libobjs
+STOBJLISTS=OBJS.ST
 
-includes:: depend
+LIBS_UTILS = ../plugin_core$(SO_EXT) \
+       ../../plugins/prng/plugin_yarrow/plugin_prng_impl$(SO_EXT)      \
+       ../../plugins/prng/plugin_yarrow/ycipher$(SO_EXT)               \
+       ../../plugins/prng/plugin_yarrow/yarrow$(SO_EXT) 
 
-depend:: $(SRCS)
+SHLIB_EXPLIBS=  $(LIBS_UTILS) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB)
 
-clean-unix:: clean-libobjs
+all-unix:: all-liblinks
+clean-unix:: clean-liblinks clean-libs clean-libobjs
+install-unix:: install-libs
 
-@libobj_frag@
 
+@libpriv_frag@
+@lib_frag@
+@libobj_frag@
index fdb4be4752887488bd334d81ea2f8718695153af..447495db1c6f5771e138b5dbd0ae14df5bc06375 100644 (file)
 
 static plugin_factory* _default_factory_instance = NULL;
 
-static plugin_descr _table[] = {
+static plugin_descr  plugin_default_factory_table[] = {
         {"plugin_yarrow_prng", plugin_yarrow_prng_create},
         //{"plugin_simple_prng", plugin_simple_prng_create},
         {"plugin_ldap_audit", NULL},
         {NULL,NULL}
 };
 
-
 /* Factory API implementation */
 static void
 _get_factory_content (const char* container[]) {
     plugin_descr *ptr = NULL;
     int i = 0;
-    for( ptr = _table; ptr->plugin_name != NULL; ptr++,i++) {
+    for( ptr = plugin_default_factory_table; ptr->plugin_name != NULL; ptr++,i++) {
         container[i] = ptr->plugin_name;
     }
 }
@@ -38,7 +37,7 @@ _create_api (const char* plugin_name)
     plugin_descr *ptr = NULL;
 
     handle.api = NULL;
-    for( ptr = _table; ptr->plugin_name != NULL; ptr++) {
+    for( ptr = plugin_default_factory_table; ptr->plugin_name != NULL; ptr++) {
         if (strcmp(ptr->plugin_name, plugin_name) == 0) {
             handle = ptr->plugin_creator();
             break;
index 1c34826e7edd5114a809cbd1547a53486f48f784..dcd92a9becd0d18c2fbea3453229adbca8a6aef8 100644 (file)
@@ -3,12 +3,14 @@
  *
  */
 
-#ifndef SIMPLE_PLUGIN_FACTORY_H_
-#define SIMPLE_PLUGIN_FACTORY_H_
+#ifndef PLUGIN_DEFAULT_FACTORY_H_
+#define PLUGIN_DEFAULT_FACTORY_H_
 
 #include <plugin_factory.h>
+#include "plugin_prng_impl.h"
+
 
 factory_handle plugin_default_factory_get_instance(void);
 
 
-#endif /* SIMPLE_PLUGIN_FACTORY_H_ */
+#endif /* PLUGIN_DEFAULT_FACTORY_H_ */
index 5e929e3b27c115f241d8e55f1eabe8ff29626225..75c44e04a70f02e42261fd154a5f97c508ad3611 100644 (file)
@@ -1,26 +1,22 @@
 mydir=plugins/prng
 BUILDTOP=$(REL)../..
-KRB5_RUN_ENV = @KRB5_RUN_ENV@
-KRB5_CONFIG_SETUP =
+RELDIR=../plugins/prng
 PROG_LIBPATH=-L$(TOPLIBD)
 PROG_RPATH=$(KRB5_LIBDIR)
-MODULE_INSTALL_DIR = 
-DEFS=@DEFS@
+DEFS=
 
 LOCALINCLUDES = -I../../include/krb5 -I. -I../../plugin_core
 
-STLIBOBJS=  plugin_prng.o  
-OBJS= $(OUTPRE)plugin_prng.$(OBJEXT)
-SRCS=  plugin_prng.c  
+LIBBASE=plugin_prng
 
-#all-unix:: all-liblinks
-all-unix:: all-libobjs
+STLIBOBJS= plugin_prng.o  
+SRCS= plugin_prng.c  
+STOBJLISTS=OBJS.ST
 
-includes:: depend
-
-depend:: $(SRCS)
-
-clean-unix::  clean-libobjs
+all-unix:: all-liblinks
+clean-unix:: clean-liblinks clean-libs clean-libobjs
+install-unix:: install-libs
 
+@libpriv_frag@
+@lib_frag@
 @libobj_frag@
-
index e8fa422f41ac77dfbd67622b8112ea25a9418308..8166393e66cbb61ab2cd65d2c4bdccb3dbb467d0 100644 (file)
@@ -1,5 +1,6 @@
 mydir=plugins/prng/plugin_yarrow
 BUILDTOP=$(REL)../../..
+RELDIR=../plugins/prng/plugin_yarrow
 PROG_LIBPATH=-L$(TOPLIBD)
 PROG_RPATH=$(KRB5_LIBDIR)
 DEFS=
@@ -9,29 +10,21 @@ LOCALINCLUDES = -I../../../include/krb5 -I. -I../../../plugin_core -I..  -I$(src
                -I$(srcdir)/../../../lib/crypto/@CRYPTO_IMPL@/sha1    \
                -I$(srcdir)/../../../lib/crypto/@CRYPTO_IMPL@/enc_provider
 
+LIBBASE=plugin_yarrow
 
-
-STLIBOBJS=\
-       yarrow.o \
-       ycipher.o \
-       plugin_prng_impl.o
-
-OBJS=\
-       $(OUTPRE)yarrow.$(OBJEXT) \
-       $(OUTPRE)ycipher.$(OBJEXT) \
-       $(OUTPRE)plugin_prng_impl.$(OBJEXT)
-
+STLIBOBJS= yarrow.o  ycipher.o  plugin_prng_impl.o
 SRCS=\
        $(srcdir)/yarrow.c \
        $(srcdir)/ycipher.c \
        $(srcdir)/plugin_prng_impl.c
 
-all-unix:: all-libobjs
-
-includes:: depend
+STOBJLISTS=OBJS.ST
 
-depend:: $(SRCS)
+all-unix:: all-liblinks
+clean-unix:: clean-liblinks clean-libs clean-libobjs
+install-unix:: install-libs
 
-clean-unix:: clean-libobjs
 
+@libpriv_frag@
+@lib_frag@
 @libobj_frag@
index da07f984522e85114eec42c33ec1bf76e0abdf89..2b4cd1f3d49ac4ba0ecbff3356227890edc65fb7 100644 (file)
@@ -29,5 +29,7 @@ plugin_prng_impl.so plugin_prng_impl.po $(OUTPRE)plugin_prng_impl.$(OBJEXT): \
   $(BUILDTOP)/include/krb5/krb5.h $(COM_ERR_DEPS) $(top_srcdir)/plugins/prng/plugin_yarrow/plugin_prng_impl.h \
   $(top_srcdir)/plugin_core/plugin_manager.h \
   $(top_srcdir)/plugin_core/plugin_factory.h \
+  $(srcdir)/../../../lib/crypto/builtin/yhash.h \
+  $(srcdir)/../../../lib/crypto/builtin/enc_provider/enc_provider.h \
   plugin_prng_impl.c
 
diff --git a/src/plugins/prng/prng.exports b/src/plugins/prng/prng.exports
deleted file mode 100644 (file)
index 49943ce..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-plugin_prng_seed
-plugin_prng_os_seed
-plugin_prng_rand
-plugin_prng_init
-plugin_prng_cleanup