[krbdev.mit.edu #7951] Add libkdb5 APIs for kadm5 principal tl-data
Greg Hudson via RT
rt-comment at krbdev.mit.edu
Sun Jun 29 14:38:30 EDT 2014
The kadm5 system was originally written outside of the krb5 tree. Under
the assumption that policy names and password history would only be used
by the kadmin system, they were packaged together into KRB5_TL_KADM_DATA
tl-data using xdr marshalling code which lives in libkadm5srv. To the
rest of the tree, it's all opaque.
Over time the architecture has changed, and it is no longer true that
the kadm5 tl-data is only of interest to the kadmin system. Since it
was introduce in 1.6, the LDAP KDB module has needed to unmarshal the
kadm5 data in order to normalize it into specific fields. It currently
does so by duplicating the marshalling code. The FreeIPA KDB module
also needs to do this; as it has no access to libkadm5srv private
functions, it presumably duplicates the marshalling code as well.
Also, since 1.8, both in-tree KDB modules need to access the policy name
in order to do lockout enforcement. (Over time, this policy lookup will
probably migrate to the code KDC code, but right now it's done in the
modules.) This is currently done by using the private functions from
libkadm5srv.
We should move the marshalling code into libkdb5 and add APIs similar to
krb5_dbe_update_last_pwd_change for accessing it.
More information about the krb5-bugs
mailing list