Convert preauth_plugin.h to new plugin framework
authorGreg Hudson <ghudson@mit.edu>
Fri, 17 Jun 2011 13:44:33 +0000 (13:44 +0000)
committerGreg Hudson <ghudson@mit.edu>
Fri, 17 Jun 2011 13:44:33 +0000 (13:44 +0000)
commit6099f525eb64772557927760d8a7ff1e75f79ff7
treeb896034e189e06cc58f8162816b45c712635fcc3
parent6d2780e121d8305c3acf43c56730884396990854
Convert preauth_plugin.h to new plugin framework

The preauth plugin interface was introduced in 1.6 but was never made
a public API.  In preparation for making it public in 1.10, convert it
to use the new plugin framework.  This will require changes to any
existing preauth plugins.

A number of symbols were renamed for namespace cleanliness, and
abstract types were introduced for module data and module per-request
data for better type safety.

On the consumer end (preauth2.c and kdc_preauth.c), this is a pretty
rough conversion.  Eventually we should create proper consumer APIs
with module handles, and the flat lists of preauth types should hold
pointers to module handles rather than copies of the vtables.  The
built-in preauth type handlers should then be converted to built-in
module providers linked into the consumer code (as should encrypted
challenge, since it has no external dependencies).  None of this will
impact the provider API for preauth plugins, so it can wait.

ticket: 6921

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24970 dc483132-0cff-0310-8789-dd5450dbe970
28 files changed:
src/include/k5-int.h
src/include/krb5/preauth_plugin.h
src/kdc/do_as_req.c
src/kdc/kdc_preauth.c
src/kdc/kdc_util.h
src/lib/krb5/krb/copy_ctx.c
src/lib/krb5/krb/get_in_tkt.c
src/lib/krb5/krb/gic_opt_set_pa.c
src/lib/krb5/krb/init_creds_ctx.h
src/lib/krb5/krb/plugin.c
src/lib/krb5/krb/preauth2.c
src/lib/krb5/libkrb5.exports
src/lib/krb5/os/init_os_ctx.c
src/plugins/preauth/cksum_body/cksum_body.exports
src/plugins/preauth/cksum_body/cksum_body_main.c
src/plugins/preauth/encrypted_challenge/encrypted_challenge.exports
src/plugins/preauth/encrypted_challenge/encrypted_challenge_main.c
src/plugins/preauth/fast_factor.h
src/plugins/preauth/pkinit/pkinit.exports
src/plugins/preauth/pkinit/pkinit_clnt.c
src/plugins/preauth/pkinit/pkinit_srv.c
src/plugins/preauth/securid_sam2/securid_sam2_main.c
src/plugins/preauth/wpse/wpse.exports
src/plugins/preauth/wpse/wpse_main.c
src/tests/dejagnu/Makefile.in
src/tests/dejagnu/config/default.exp
src/tests/dejagnu/krb-standalone/standalone.exp
src/util/k5test.py