SPEC: Add Requires: sssd-krb5-common for KCM ticket renewals #7367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed change
The KCM ticket-renewal feature relies on the
/usr/libexec/ssd/krb5_child
binary for functionality. That binary is provided by the RPM packagesssd-krb5-common
. This commit fixes the dependency ofsssd-kcm
in the spec file.Steps to replicate the bug
On a fresh install of Fedora 40 via the Docker container image with
sssd-kcm
andkrb5-workstation
installed,I ran into a bug where a renewable Kerberos TGT stored in the KCM fails to be renewed, even though I have set
tgt_renewal = true
in mysssd.conf
. After enabling debug logging, here is what the log records whensssd-kcm
attempts to renew the TGT:The result is that TGT renewal silently fails with no warning in the user-visible log.
Steps to resolve the bug
Tracing the call stack indicated by the log, I found this relevant call to
exec_child_ex()
that generated theexecv()
failure:sssd/src/providers/krb5/krb5_child_handler.c
Lines 570 to 574 in 7f48c7c
The
KRB5_CHILD
constant evaluates to the binary/usr/libexec/sssd/krb5_child
provided by thesssd-krb5-common
package. Installing that package fixed the issue.Rationale for change
Given that
sssd-kcm
can be installed independently from the metapackagesssd
orsssd-krb5
, it makes sense to make it explicitly depend onsssd-krb5-common
in order to allow the TGT renewal functionality to work as expected on a minimal installation that does not require the rest ofsssd
functionality.