Currently, libvirt hook scripts are only searched in the system-wide
directory /etc/libvirt/hooks/, which is typically not accessible to
non-root users running session daemons.

This series adds support for user-level hook scripts located in
$XDG_CONFIG_HOME/libvirt/hooks/ (typically ~/.config/libvirt/hooks/).
When running as a non-root session daemon, hooks are searched in both
the system directory (if accessible) and the user directory, with
system hooks executed first.

A new "skip_system_hooks" daemon configuration option allows session
daemons to skip the system hooks directory entirely, using only user
hooks.

Plus a preliminary patch to enable b4 usage.

---
Marc-André Lureau (7):
      Add .b4-config
      util: extract virHookCheckDir from virHookCheck
      util: handle EACCES when opening hook directories
      util: search hooks in both system and user directories
      util: add virHookSetSkipSystemHooks API
      remote: add skip_system_hooks daemon config option
      docs: document session hooks support

 .b4-config                        |   9 ++
 NEWS.rst                          |   7 ++
 docs/hooks.rst                    |  10 ++
 src/libvirt_private.syms          |   1 +
 src/remote/libvirtd.aug.in        |   1 +
 src/remote/libvirtd.conf.in       |   9 ++
 src/remote/remote_daemon.c        |   1 +
 src/remote/remote_daemon_config.c |   3 +
 src/remote/remote_daemon_config.h |   2 +
 src/remote/test_libvirtd.aug.in   |   1 +
 src/util/virhook.c                | 243 +++++++++++++++++++++++++++-----------
 src/util/virhook.h                |   1 +
 12 files changed, 218 insertions(+), 70 deletions(-)
---
base-commit: 9ecbf2a65454704240170676b94b65866b352a34
change-id: 20261006-session-hook-b2fe660603f0

Best regards,
--  
Marc-André Lureau <[email protected]>

Reply via email to