Password sync plugin, and questions about plugin criticality

Ken Hornstein kenh at pobox.com
Mon Jun 26 01:33:38 EDT 2006


Continuing an earlier discussion regarding password change tracking and
a plugin interface...

This seems relatively straightforward to do.  The only wrinkle I see is
that some people want to do this before the local k5 database is updated,
and some people want to do it after.  Both had (in my mind) valid points
why they wanted it that way.

Here are some suggested entry points for a password sync plugin interface.
Comments?

void pwupdate_init(void **context, krb5_context);

	Initialize the pwupdate plugin.

int pwupdate_precommit_password(void *context, char *password, int pwlen,
				char *error_msg, int error_msg_len);

	Update the password in the external store; called before password
	is stored locally.  In case of failure, return non-zero code and
	set error_msg to an error string.

int pwupdate_postcommit_password(void *context, char *password, int pwlen,
				 char *error_msg, int error_msg_len);

	Same as the precommit function, but called after password is stored
	locally.

void pwupdate_close(void *context);

	Free the context.

On another topic ... at least for the password quality plugin, I and others
would like to designate some plugins as critical ... if they don't exist
or fail to initialize (perhaps) we want the KDC to not start, so we know
about it in a hurry.  From my looking at the plugin architecture, it doesn't
have that capability right now.  Is that correct?  If so, any suggestions
on the right way to add this capability?  I assume this sort of config
info would go in krb5.conf, but of course there are plenty of other
details to consider.

--Ken



More information about the krbdev mailing list