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. https://github.com/krb5/krb5/commit/6099f525eb64772557927760d8a7ff1e75f79ff7 Commit By: ghudson Revision: 24970 Changed Files: U trunk/src/include/k5-int.h U trunk/src/include/krb5/preauth_plugin.h U trunk/src/kdc/do_as_req.c U trunk/src/kdc/kdc_preauth.c U trunk/src/kdc/kdc_util.h U trunk/src/lib/krb5/krb/copy_ctx.c U trunk/src/lib/krb5/krb/get_in_tkt.c U trunk/src/lib/krb5/krb/gic_opt_set_pa.c U trunk/src/lib/krb5/krb/init_creds_ctx.h U trunk/src/lib/krb5/krb/plugin.c U trunk/src/lib/krb5/krb/preauth2.c U trunk/src/lib/krb5/libkrb5.exports U trunk/src/lib/krb5/os/init_os_ctx.c U trunk/src/plugins/preauth/cksum_body/cksum_body.exports U trunk/src/plugins/preauth/cksum_body/cksum_body_main.c U trunk/src/plugins/preauth/encrypted_challenge/encrypted_challenge.exports U trunk/src/plugins/preauth/encrypted_challenge/encrypted_challenge_main.c U trunk/src/plugins/preauth/fast_factor.h U trunk/src/plugins/preauth/pkinit/pkinit.exports U trunk/src/plugins/preauth/pkinit/pkinit_clnt.c U trunk/src/plugins/preauth/pkinit/pkinit_srv.c U trunk/src/plugins/preauth/securid_sam2/securid_sam2_main.c U trunk/src/plugins/preauth/wpse/wpse.exports U trunk/src/plugins/preauth/wpse/wpse_main.c U trunk/src/tests/dejagnu/Makefile.in U trunk/src/tests/dejagnu/config/default.exp U trunk/src/tests/dejagnu/krb-standalone/standalone.exp U trunk/src/util/k5test.py