@end table
@node plugins, pkinit client options, dbmodules, krb5.conf
+@subsection Plugins
@menu
* pwqual interface::
+* kadm5_hook interface::
@end menu
Tags in the [plugins] section can be used to register dynamic plugin
The following subsections are currently supported within the [plugins]
section:
-@node pwqual interface, , plugins, plugins
+@node pwqual interface, kadm5_hook interface, plugins, plugins
+@subsubsection pwqual interface
The pwqual subsection controls modules for the password quality
interface, which is used to reject weak passwords when passwords are
Checks against components of the principal name
@end table
+@node kadm5_hook interface, , pwqual interface, plugins
+@subsubsection kadm5_hook interface
+The kadm5_hook interface provides plugins with information on
+principal creation, modification, password changes and deletion. This
+interface can be used to write a plugin to synchronize MIT Kerberos
+with another database such as Active Directory. No plugins are built
+in for this interface.
+
@node pkinit client options, Sample krb5.conf File, plugins, krb5.conf
@subsection pkinit options
.IP princ
Checks against components of the principal name
+.SS kadm5_hook interface
+
+The kadm5_hook interface provides plugins with information on
+principal creation, modification, password changes and deletion. This
+interface can be used to write a plugin to synchronize MIT Kerberos
+with another database such as Active Directory. No plugins are built
+in for this interface.
+
.SH FILES
/etc/krb5.conf
.SH SEE ALSO
*
* This interface depends on kadm5/admin.h. As such, the interface
* does not provide strong guarantees of ABI stability.
+ *
+ * kadm5_hook plugins should:
+ * kadm5_hook_<modulename>_initvt, matching the signature:
+ *
+ * krb5_error_code
+ * kadm5_hook_modname_initvt(krb5_context context, int maj_ver, int min_ver,
+ * krb5_plugin_vtable vtable);
+ *
+ * The initvt function should:
+ *
+ * - Check that the supplied maj_ver number is supported by the module, or
+ * return KRB5_PLUGIN_VER_NOTSUPP if it is not.
+ *
+ * - Cast the vtable pointer as appropriate for maj_ver:
+ * maj_ver == 1: Cast to kadm5_hook_vftable_1
+ *
+ * - Initialize the methods of the vtable, stopping as appropriate for the
+ * supplied min_ver. Optional methods may be left uninitialized.
+ *
+ * Memory for the vtable is allocated by the caller, not by the module.
*/
#include <krb5/krb5.h>