Hide gak_fct interface and arguments in clpreauth
authorGreg Hudson <ghudson@mit.edu>
Sat, 15 Oct 2011 16:06:03 +0000 (16:06 +0000)
committerGreg Hudson <ghudson@mit.edu>
Sat, 15 Oct 2011 16:06:03 +0000 (16:06 +0000)
commite389f7a0e7d682a06bc8d2814ad0d86398e815b9
treea9e405a56727e7855222dd940acbdbca6933dd60
parent249e5254d4d4cff2bda07deafc25d7d87ea5ac0f
Hide gak_fct interface and arguments in clpreauth

Remove the gak_fct, gak_data, salt, s2kparams, and as_key arguments
of krb5_clpreauth_process_fn and krb5_clpreauth_tryagain_fn.  To
replace them, add two callbacks: one which gets the AS key using the
previously selected etype-info2 information, and a second which lets
the module replace the AS key with one it has computed.

This changes limits module flexibility in a few ways.  Modules cannot
check whether the AS key was already obtained before asking for it,
and they cannot use the etype-info2 salt and s2kparams for purposes
other than getting the password-based AS key.  It is believed that
of existing preauth mechanisms, only SAM-2 preauth needs more
flexibility than the new interfaces provide, and as an internal legacy
mechanism it can cheat.  Future mechanisms should be okay since the
current IETF philosophy is that etype-info2 information should not be
used for other purposes.

ticket: 6976

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25351 dc483132-0cff-0310-8789-dd5450dbe970
src/include/k5-int.h
src/include/krb5/preauth_plugin.h
src/lib/krb5/krb/get_in_tkt.c
src/lib/krb5/krb/preauth2.c
src/lib/krb5/krb/preauth_ec.c
src/lib/krb5/krb/preauth_encts.c
src/plugins/preauth/cksum_body/cksum_body_main.c
src/plugins/preauth/pkinit/pkinit_clnt.c
src/plugins/preauth/wpse/wpse_main.c