aboutsummaryrefslogtreecommitdiff
path: root/doc/plugindev/kadm5_hook.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/plugindev/kadm5_hook.rst')
-rw-r--r--doc/plugindev/kadm5_hook.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/doc/plugindev/kadm5_hook.rst b/doc/plugindev/kadm5_hook.rst
new file mode 100644
index 000000000000..ece3eacfc7b4
--- /dev/null
+++ b/doc/plugindev/kadm5_hook.rst
@@ -0,0 +1,27 @@
+.. _kadm5_hook_plugin:
+
+KADM5 hook interface (kadm5_hook)
+=================================
+
+The kadm5_hook interface allows modules to perform actions when
+changes are made to the Kerberos database through :ref:`kadmin(1)`.
+For a detailed description of the kadm5_hook interface, see the header
+file ``<krb5/kadm5_hook_plugin.h>``.
+
+The kadm5_hook interface has five primary methods: **chpass**,
+**create**, **modify**, **remove**, and **rename**. (The **rename**
+method was introduced in release 1.14.) Each of these methods is
+called twice when the corresponding administrative action takes place,
+once before the action is committed and once afterwards. A module can
+prevent the action from taking place by returning an error code during
+the pre-commit stage.
+
+A module can create and destroy per-process state objects by
+implementing the **init** and **fini** methods. State objects have
+the type kadm5_hook_modinfo, which is an abstract pointer type. A
+module should typically cast this to an internal type for the state
+object.
+
+Because the kadm5_hook interface is tied closely to the kadmin
+interface (which is explicitly unstable), it may not remain as stable
+across versions as other public pluggable interfaces.