]> git.ipfire.org Git - thirdparty/krb5.git/commit
Added facilities to handle multiple impls of the same static plugins. It is based...
authorZhanna Tsitkov <tsitkova@mit.edu>
Mon, 14 Jun 2010 19:26:20 +0000 (19:26 +0000)
committerZhanna Tsitkov <tsitkova@mit.edu>
Mon, 14 Jun 2010 19:26:20 +0000 (19:26 +0000)
commitd75ad1259c4edccc7c4127e9ed01a12dfa191730
tree53ddd4d098d1ff5aeede00c57554de2023e91ce6
parente0b0ba04ac46fe6b0bdcd56a1ec4512fd3aed7e8
Added facilities to handle multiple impls of the same static plugins. It is based on plugin_id

As a proof of the concept, the password quality validation plugins were considered.
So, the following happens:
In the krb5.conf we indicate that we potentially want two pwd quality plugins: plugin_pwd_qlty_krb (native MIT kerb code extracted from server_mics.c) and plugin_pwd_qlty_X (bogus,as a matter of fact, almost identical to plugin_pwd_qlty_krb impl).
In the caller, i.e. in passwd_check of lib/kadm5/srv/server_misc.c, we call KRB and X impl's and verify the pwd against both of the policies:
 plugin_manager_get_service(srv_handle->context->pl_handle, "plugin_pwd_qlty", PWD_QLTY_KRB);
 plugin_manager_get_service(srv_handle->context->pl_handle, "plugin_pwd_qlty", PWD_QLTY_X);

(It is proof of the concept.)

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/plugins@24135 dc483132-0cff-0310-8789-dd5450dbe970
26 files changed:
src/Makefile.in
src/config-files/krb5.conf
src/configure.in
src/include/k5-int.h
src/kdc/enc_challenge.c
src/lib/kadm5/srv/server_misc.c
src/lib/krb5/Makefile.in
src/lib/krb5/krb/init_ctx.c
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/impl/plugin_default_manager.c
src/plugin_core/plugin_manager.c
src/plugin_core/plugin_manager.h
src/plugins/pwd_qlty/deps
src/plugins/pwd_qlty/plugin_pwd_qlty.h
src/plugins/pwd_qlty/plugin_pwd_qlty_X/Makefile.in [new file with mode: 0644]
src/plugins/pwd_qlty/plugin_pwd_qlty_X/deps [new file with mode: 0644]
src/plugins/pwd_qlty/plugin_pwd_qlty_X/plugin_pwd_qlty_X_impl.c [new file with mode: 0644]
src/plugins/pwd_qlty/plugin_pwd_qlty_X/plugin_pwd_qlty_X_impl.h [new file with mode: 0644]
src/plugins/pwd_qlty/plugin_pwd_qlty_X/server_dict.c [new file with mode: 0644]
src/plugins/pwd_qlty/plugin_pwd_qlty_krb/Makefile.in
src/plugins/pwd_qlty/plugin_pwd_qlty_krb/deps
src/plugins/pwd_qlty/plugin_pwd_qlty_krb/plugin_pwd_qlty_impl.h [deleted file]
src/plugins/pwd_qlty/plugin_pwd_qlty_krb/plugin_pwd_qlty_krb_impl.c [moved from src/plugins/pwd_qlty/plugin_pwd_qlty_krb/plugin_pwd_qlty_impl.c with 95% similarity]
src/plugins/pwd_qlty/plugin_pwd_qlty_krb/plugin_pwd_qlty_krb_impl.h [new file with mode: 0644]