From: Zhanna Tsitkov Date: Thu, 22 Apr 2010 18:24:05 +0000 (+0000) Subject: For the experiment and as a proof of the concept, implement preauth/encrypted_challen... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ee05362642b76fb5198fea3789bdec168ad4195;p=thirdparty%2Fkrb5.git For the experiment and as a proof of the concept, implement preauth/encrypted_challenge server side as a new plugin under the new arch. This commit is for plugin implementation and initialization only. Next step is to invoke the code in kdc. git-svn-id: svn://anonsvn.mit.edu/krb5/branches/plugins@23923 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/Makefile.in b/src/Makefile.in index 736ad0b2d2..fecc2dc0df 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -7,7 +7,9 @@ mydir=. # plugins/preauth/wpse # plugins/preauth/cksum_body # plugins/authdata/greet -SUBDIRS=util include plugin_core plugins/prng lib \ +SUBDIRS=util include plugin_core plugins/prng \ + plugins/pa plugins/pa/encrypted_challenge \ + lib \ @ldap_plugin_dir@ \ plugins/kdb/db2 \ plugins/preauth/pkinit \ diff --git a/src/configure.in b/src/configure.in index 4c71d259bf..b67d27e021 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1118,6 +1118,8 @@ dnl ccapi ccapi/lib ccapi/lib/unix ccapi/server ccapi/server/unix ccapi/test plugins/prng plugin_core/impl plugins/prng/plugin_yarrow + plugins/pa + plugins/pa/encrypted_challenge plugin_core clients clients/klist clients/kinit clients/kvno diff --git a/src/lib/krb5/Makefile.in b/src/lib/krb5/Makefile.in index 75ca2b4c41..7b157216bc 100644 --- a/src/lib/krb5/Makefile.in +++ b/src/lib/krb5/Makefile.in @@ -1,13 +1,15 @@ mydir=lib/krb5 BUILDTOP=$(REL)..$(S).. 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 + -I$(srcdir)/../../plugin_core/ -I$(srcdir)/../../plugins/prng/ -I$(srcdir)/../../plugin_core/impl \ + -I$(srcdir)/../../pa -I$(srcdir)/../../pa/encrypted_challenge SUBDIRS= error_tables asn.1 ccache keytab krb os rcache unicode DEFS= PLUGINS_LIBS = \ ../../plugin_core/impl/libplugin_impl.a $(PLUGIN_CORE_DEPLIB) \ + ../../plugins/pa/encrypted_challenge/libencrypted_challenge.a \ ../../plugins/prng/plugin_yarrow/libplugin_yarrow.a diff --git a/src/plugin_core/impl/Makefile.in b/src/plugin_core/impl/Makefile.in index ce169acdc3..afa7361a45 100644 --- a/src/plugin_core/impl/Makefile.in +++ b/src/plugin_core/impl/Makefile.in @@ -7,6 +7,7 @@ DEFS= LOCALINCLUDES = -I$(srcdir)/../../include/krb5 -I$(srcdir)/. \ -I$(srcdir)/../../plugins/prng/plugin_yarrow -I$(srcdir)/../../plugins/prng \ + -I$(srcdir)/../../plugins/pa -I$(srcdir)/../../plugins/pa/encrypted_challenge \ -I$(srcdir)/.. LIBBASE=plugin_impl diff --git a/src/plugin_core/impl/deps b/src/plugin_core/impl/deps index e04372d197..42c605dfb1 100644 --- a/src/plugin_core/impl/deps +++ b/src/plugin_core/impl/deps @@ -9,6 +9,7 @@ plugin_default_factory.so plugin_default_factory.po $(OUTPRE)plugin_default_fact $(BUILDTOP)/include/krb5/krb5.h $(COM_ERR_DEPS) $(top_srcdir)/plugin_core/plugin_factory.h \ $(top_srcdir)/plugin_core/plugin_manager.h \ $(top_srcdir)/plugins/prng/plugin_yarrow/plugin_prng_impl.h \ + $(top_srcdir)/plugins/pa/encrypted_challenge/plugin_pa_impl.h \ $(top_srcdir)/plugin_core/impl/plugin_default_manager.h \ $(top_srcdir)/plugin_core/impl/plugin_default_factory.h \ plugin_default_factory.c diff --git a/src/plugin_core/impl/plugin_default_factory.c b/src/plugin_core/impl/plugin_default_factory.c index 447495db1c..7b87983498 100644 --- a/src/plugin_core/impl/plugin_default_factory.c +++ b/src/plugin_core/impl/plugin_default_factory.c @@ -9,13 +9,14 @@ #include "plugin_manager.h" #include "plugin_factory.h" #include "plugin_prng_impl.h" +#include "plugin_pa_impl.h" #include "plugin_default_factory.h" static plugin_factory* _default_factory_instance = NULL; static plugin_descr plugin_default_factory_table[] = { {"plugin_yarrow_prng", plugin_yarrow_prng_create}, - //{"plugin_simple_prng", plugin_simple_prng_create}, + {"plugin_encrypted_challenge_pa", plugin_encrypted_challenge_pa_create}, {"plugin_ldap_audit", NULL}, {NULL,NULL} }; diff --git a/src/plugin_core/plugin_manager.h b/src/plugin_core/plugin_manager.h index a51fff8bc5..448fb48b80 100644 --- a/src/plugin_core/plugin_manager.h +++ b/src/plugin_core/plugin_manager.h @@ -8,7 +8,6 @@ #include - typedef struct { void* data; void (*configure)(void* data, const char*);