Give the server its own session keyring on Linux

The server otherwise keeps the session keyring of the login session that
started it, which pam_keyinit(8) may revoke when that session ends,
leaving the server and its panes unable to use the kernel keyring. Join
a new session keyring with the user keyring linked in once the
configuration file has been loaded, and revoke it when the server exits.

This is controlled by a new session-keyring server option, on by
default.
This commit is contained in:
Ilya Priven
2026-10-12 11:26:28 +00:00
parent 82abcd175c
commit bba451c959
8 changed files with 83 additions and 0 deletions

View File

@@ -239,6 +239,11 @@ if NEED_FORKPTY
nodist_tmux_SOURCES += compat/forkpty-@PLATFORM@.c
endif
# Add compat file for Linux session keyrings.
if HAVE_KEYCTL
nodist_tmux_SOURCES += compat/keyring-linux.c
endif
# Add compat file for systemd.
if HAVE_SYSTEMD
nodist_tmux_SOURCES += compat/systemd.c