Releases: SSSD/sssd
sssd-2.12.0
What's Changed
- ci: fix dependabot.yml schema validation by @ikerexxe in #8160
- sssd: add ldb-modules-path by @liberodark in #8116
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #8163
- OIDC_CHILD: a couple of cosmetic fixes by @alexey-tikhonov in #8172
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #8164
- Dont store gid 0 for non-posix groups by @justin-stephenson in #8075
- Tests:Added IPA Certificate Authority Tests by @krishnavema in #8159
- tests: add pysss_nss_idmap system test by @sumit-bose in #8133
- ci: run long jobs only if Accepted label is not set by @pbrezina in #8182
- man: Clarify the user_attributes option by @justin-stephenson in #8193
- test: check is an2ln plugin is disabled or not by @sumit-bose in #8145
- tests: add test_pac_responder.py by @sumit-bose in #8151
- ipa: filter DNs for ipa_add_trusted_memberships_send() by @sumit-bose in #8147
- Test migration sssldap by @thalman in #8120
- removing intg infopipe tests and made some minor updates to infopipe by @danlavu in #8161
- Unifying boilerplate code for handling child processes - part 2 by @alexey-tikhonov in #8174
- Replacing provider conditionals with set_server method by @danlavu in #8081
- krb5_child: use ERR_CHECK_NEXT_AUTH_TYPE instead of EAGAIN by @sumit-bose in #8176
- fixing and making automatic kcm renewal test more forgiving by @danlavu in #8183
- Test migration sssctl by @thalman in #8114
- file_watch.c: Do not pass IN_IGNORED to inotify_add_watch by @arrowd in #8228
- Tests: Adding GDM Passkey tests by @spoore1 in #8150
- SPEC: require reasonably up to date 'libldb' version by @alexey-tikhonov in #8240
- Tests: ADuser external group cache update by @shridhargadekar in #8046
- Filter IPv6 addresses not suitable for DNS updates by @thalman in #8142
- SUBID: add LDAP provider support by @alexey-tikhonov in #8097
- config/cfg_rules.ini: Make regexp's more POSIX compliant by @arrowd in #8227
- ipa: check for empty trusts in ipa_get_trust_type() by @sumit-bose in #8254
- Unifying boilerplate code for handling child processes - part 3 by @alexey-tikhonov in #8203
- CONFIG: disable 'session_provider' by default by @alexey-tikhonov in #8250
- Fix file ownership tests on FreeBSD by @arrowd in #8226
- sbus: defer notification callbacks by @pbrezina in #8202
- Passwordless-gdm by @ikerexxe in #8212
- intg: remove test_session_recording.py by @spoore1 in #8243
- Tests: Rectify the docstring n testcode by @shridhargadekar in #8255
- IPA: remove 'ipa_enable_dns_sites' option by @alexey-tikhonov in #8264
- ipa trust bugfix and improvement of handling unknown trust type error by @justin-stephenson in #8258
- Passkey local fix and improvements by @justin-stephenson in #8185
- IPA HBAC test cases by @madhuriupadhye in #7987
- tests: standardize HBAC test name format by @madhuriupadhye in #8279
- tests: Add incomplete triples and complex hierarchy netgroup tests by @madhuriupadhye in #8262
- intg: remove ent_test.py by @pbrezina in #8283
- Fix for test_access_control_simple__permits_user_login_based_on_group samba failure by @justin-stephenson in #8263
- adding subid test by @danlavu in #8225
- krb5: fix OTP authentication by @sumit-bose in #8296
- SSSD on IPA should fail with short names by @thalman in #8261
- tests: Add netgroup offline and nested hierarchy by @madhuriupadhye in #8272
- SSSCTL: config-check: do not return an error if snippets directory does not exists by @scabrero in #7962
- KCM: root can't access arbitrary KCM cache by @alexey-tikhonov in #8301
- spec: clarify description of sssd-idp package by @sumit-bose in #8316
- cache_req: use sysdb_search_user_by_upn_with_view_res() by @sumit-bose in #7998
- KRB5: let 'krb5_child' tolerate missing cap-set-id by @alexey-tikhonov in #8312
- pac: fix issue with pac_check=no_check by @sumit-bose in #8318
- sysdb: do not treat missing id-override as an error by @sumit-bose in #8325
- ci: bump cross-platform-actions/action from 0.29.0 to 0.32.0 by @dependabot[bot] in #8322
- ci: bump actions/checkout from 4 to 6 by @dependabot[bot] in #8321
- ci: bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #8320
- adding enumeration system tests by @danlavu in #8280
- ipa s2n: do not try to update user-private-group by @sumit-bose in #8002
- IDP: avoid logging value of 'idp_client_secret' by @alexey-tikhonov in #8332
- Tests: Update test_0003_ad_parameters_junk_domain_invalid_keytab by @jakub-vavra-cz in #8350
- Changes around FILE:/DIR: ccache checks by @alexey-tikhonov in #8344
- Translations update from Fedora Weblate by @weblate in #8009
- scripts: authenticate git push for release by @pbrezina in #8352
- scripts: use sssd-bot token for release script by @pbrezina in #8353
New Contributors
- @liberodark made their first contribution in #8116
- @dependabot[bot] made their first contribution in #8163
- @krishnavema made their first contribution in #8159
- @pbrezina made their first contribution in #8182
- @thalman made their first contribution in #8120
- @arrowd made their first contribution in #8228
- @spoore1 made their first contribution in #8150
- @scabrero made their first contribution in #7962
Full Changelog: 2.11.0...2.12.0
sssd-2.11.1
sssd-2.11.0
SSSD 2.11.0 Release Notes
Highlights
General information
- The deprecated tool
sss_ssh_knownhostsproxywas finally removed, together
with the./configureoption--with-ssh-known-host-proxyused to build it.
It is now replaced by a stub which displays an error message. Instead of this
tool, you must now usesss_ssh_knownhosts. Please check the
sss_ssh_knownhosts(1) man page for detailed information. - Support for the previously deprecated
sssd.conf::useroption
(--with-conf-service-user-support./configureoption) was removed. - When both IPv4 and IPv6 address families are resolvable, but the primary is
blocked on firewall, SSSD attempts to connect to the server on the secondary
family. - During startup SSSD won't check NSCD configuration to issue a warning in a
case of potential conflict. - Previously deprecated
--with-files-providerconfigure option and thus
support ofid_provider = fileswere removed. - Previously deprecated
--with-libsifpconfigure option and `sss_simpleifp'
library were removed. krb5-child-testwas removed. Corresponding tests undersrc/tests/system/
are aimed to provide a comprehensive test coverage ofkrb5_child
functionality.- SSSD doesn't create any more missing path components of DIR:/FILE: ccache
types while acquiring user's TGT. The parent directory of requested ccache
directory must exist and the user trying to log in must haverwxaccess to
this directory. This matches behavior ofkinit. - The DoT for dynamic DNS updates is supported now. It requires new version of
nsupdatefrom BIND 9.19+. - The option default_domain_suffix is deprecated. Consider using the more
flexible domain_resolution_order instead.
New features
- New generic id and auth provider for Identity Providers (IdPs), as a start
Keycloak and Entra ID are supported. Given suitable credentials this provider
can read users and groups from IdPs and can authenticate IdP users with the
help of the OAUTH 2.0 Device Authorization Grant (RFC 8628) - SSSD IPA provider now supports IPA subdomains, not only Active Directory. This
IPA subdomain support will enable SSSD support of IPA-IPA Trust feature, the
full usable feature coming in a later FreeIPA release. Trusted domain
configuration options are specified in thesssd-ipaman page.
Important fixes
sssd_kcmmemory leak was fixed.- If the ssh responder is not running,
sss_ssh_knownhostswill not fail (but
it will not return the keys).
Packaging changes
-
Important note for downstream maintainers.
A set of capabilities required by privileged binaries was further reduced to:
krb5_child cap_dac_read_search,cap_setgid,cap_setuid=p ldap_child cap_dac_read_search=p selinux_child cap_setgid,cap_setuid=p sssd_pam cap_dac_read_search=pKeep in mind that even with a limited set of fine grained capabilities, usual
precautions still should be taken while packaging binaries with file
capabilities: it's very important to make sure that those are executable only
by root/sssd service user. For this reason upstream spec file packages it as:-rwxr-x---. 1 root sssdFailing to do so (i.e. allowing non-privileged users to execute those
binaries) can impose systems installing the package to a security risk. -
New configure option
--with-id-provider-idpto enable and disable building
SSSD's IdP id provider, default is enabled. -
--with-nscd-conf./configureoption was removed. -
Support of deprecated
ad_allow_remote_domain_local_groupssssd.conf option
isn't built by default. It can be enabled using
--with-allow-remote-domain-local-groups./configureoption.
Configuration changes
- The id_provider and auth_provider options support a new value
idp. Details
about how to configure the IdP provider can be found in the sssd-idp man page. - New optional fourth value for AD provider configuration option
ad_machine_account_password_renewal_opts to select the command to update the
keytab, currentlyadcliandrealmare allowed values - The pam_sss.so module gained a new option named "allow_chauthtok_by_root". It
allows changing realm password for an arbitrary user via PAM when invoked by
root. - New
ldap_read_rootdseoption allows you to specify how SSSD will read
RootDSE from the LDAP server. Allowed values are "anonymous", "authenticated"
and "never" - Until now dyndns_iface option supported only "" for all interfaces or exact
names. With this update it is possible to use shell wildcard patterns (e. g.
eth, eth[01], ...). ad_allow_remote_domain_local_groupsoption is deprecated and will be removed
in future releases.- the
dyndns_serveroption is extended so it can be in form of URI
(dns+tls://1.2.3.4:853#servername). New set of optionsdyndns_dot_cacert,
dyndns_dot_certanddyndns_dot_keyallows to configure DNS-over-TLS
communication. - Added
exop_forcevalue for configuration optionldap_pwmodify_mode. This
can be used to force a password change even if no grace logins are left.
Depending on the configuration of the LDAP server it might be expected that
the password change will fail.
sssd-2.9.7
SSSD 2.9.7 Release Notes
Highlights
General information
- When both IPv4 and IPv6 address families are resolvable, but the primary is blocked on firewall, SSSD attempts to connect to the server on the secondary family.
New features
- SSSD IPA provider now supports IPA subdomains, not only Active Directory. This IPA subdomain support will enable SSSD support of IPA-IPA Trust feature, the full usable feature coming in a later FreeIPA release. Trusted domain configuration options are specified in the 'sssd-ipa' man page.
Important fixes
- 'sssd_kcm' memory leak was fixed.
Configuration changes
- New 'ldap_read_rootdse' option allows you to specify how SSSD will read RootDSE from the LDAP server. Allowed values are "anonymous", "authenticated" and "never"
- Until now dyndns_iface option supported only "*" for all interfaces or exact names. With this update it is possible to use shell wildcard patterns (e. g. eth*, eth[01], ...).
sssd-2.10.2
SSSD 2.10.2 Release Note
Highlights
This release fixes a number of minor issues in the spec and services files,
affecting mainly rpm-ostree based systems.
Important fixes
-
If the ssh responder is not running,
sss_ssh_knownhostswill not fail (but
it will not return the keys). -
A wrong path to a pid file in SSSD logrotate configuration snippet was
corrected. -
SSSD is now capable of handling multiple services associated with the same
port. -
sssd_pam, being a privileged binary, now clears the environment and
doesn't allow configuration of thePR_SET_DUMPABLEflag as a precaution.
sssd-2.10.1
SSSD 2.10.1 Release Notes
Highlights
General information
krb5-child-testwas removed. Corresponding tests under 'src/tests/system/'
are aimed to provide a comprehensive test coverage of 'krb5_child'
functionality.- SSSD doesn't create anymore missing path components of DIR:/FILE: ccache types
while acquiring user's TGT. The parent directory of requested ccache directory
must exist and the user trying to log in must have 'rwx' access to this
directory. This matches behavior of 'kinit'. - The DoT (DNS over TLS) for dynamic DNS updates is supported now. It requires
new version ofnsupdatefrom BIND 9.19+. - The option default_domain_suffix is deprecated. Consider using the more
flexible domain_resolution_order instead.
Packaging changes
-
Important note for downstream maintainers.
A set of capabilities required by privileged binaries was further reduced to:
krb5_child cap_dac_read_search,cap_setgid,cap_setuid=p ldap_child cap_dac_read_search=p selinux_child cap_setgid,cap_setuid=p sssd_pam cap_dac_read_search=pKeep in mind that even with a limited set of fine grained capabilities, usual
precautions still should be taken while packaging binaries with file
capabilities: it's very important to make sure that those are executable only
by root/sssd service user. For this reason upstream spec file packages it as:-rwxr-x---. 1 root sssdFailing to do so (i.e. allowing non-privileged users to execute those
binaries) can impose systems installing the package to a security risk. -
Support of deprecated 'ad_allow_remote_domain_local_groups' sssd.conf option
isn't built by default. It can be enabled using
'--with-allow-remote-domain-local-groups' ./configure option.
Configuration changes
ad_allow_remote_domain_local_groupsoption is deprecated and will be removed
in future releases.- the
dyndns_serveroption is extended so it can be in form of URI
(dns+tls://1.2.3.4:853#servername). New set of optionsdyndns_dot_cacert,
dyndns_dot_certanddyndns_dot_keyallows to configure DNS-over-TLS
communication. - Added
exop_forcevalue for configuration optionldap_pwmodify_mode. This
can be used to force a password change even if no grace logins are left.
Depending on the configuration of the LDAP server it might be expected that
the password change will fail.
sssd-2.9.6
SSSD 2.9.6 Release Notes
Highlights
General information
-
The DoT for dynamic DNS updates is supported now. It requires new version of
nsupdatefrom BIND 9.19+. -
The option
default_domain_suffixis deprecated. Consider using the more
flexibledomain_resolution_orderinstead.
Important fixes
- When the
DP_OPT_DYNDNS_REFRESH_OFFSETenumerator was created, the
associatedstruct dp_optionwas not. Because these structures are part of
an array and the enumerator is used as the index, the wrong structure would be
accessed when trying to use this index. This problem was fixed by creating the
missing structure.
Configuration changes
-
The
dyndns_serveroption is extended so it can be in form of URI
(dns+tls://1.2.3.4:853#servername). New set of options
dyndns_dot_cacert,dyndns_dot_certanddyndns_dot_keyallows to
configure DNS-over-TLS communication. -
Added
exop_forcevalue for configuration optionldap_pwmodify_mode.
This can be used to force a password change even if no grace logins are left.
Depending on the configuration of the LDAP server it might be expected that
the password change will fail.
sssd-2.10.0
SSSD 2.10.0 Release Notes
Highlights
General information
-
IMPORTANT note for downstream maintainers!
This release features significant improvements of "running with less
privileges (under unprivileged service user)" feature. There is still a
./configureoption--with-sssd-user=available that allows downstream
package maintainers to choose if support of non-root service user should be
built. In case such support is built, a preferred way to configure service
user is simply by starting SSSD under this user; for example, using
User=/Group=options of systemd sssd.service file. Upstream defaults are
to build--with-sssd-user=sssdand to install systemd service with
User=/Group=sssd. In this case, only several helper processes -
ldap_child,krb5_childandselinux_child- are executed with
elevated capabilities (that are now granted using fine grained file
capabilities instead of SUID bit). All other SSSD components run without any
capabilities. In this scenario it's still possible to re-configure SSSD to run
underroot(if needed for some reason): besides changingUser/Group=
options, some other tweaks of systemd service files are required.A legacy method to configure a service user - sssd.conf
useroption - is
now deprecated and its support isn’t built by default. It can be enabled using
--with-conf-service-user-support./configureoption if needed (for
example, due to backward compatibility requirements of stable releases).Further, no matter if SSSD is built
--with-sssd-user=sssdor
--with-sssd-user=root, when it's configured to run underroot(in both
cases) it still runs without capabilities, the same way as when it's
configured to run undersssduser. The only difference is from the DAC
perspective.Important note: owner of
/etc/sssd/sssd.conffile (and snippets) should
match the user configured to start SSSD service. Upstream spec file and
service files change ownership of existingsssd.confto sssd during
package installation and at runtime for seamless upgrades / transition period
only.Additionally, this release fixes a large number of issues with "socket
activation of responders" feature, making it operable out-of-the-box when the
package is built--with-sssd-user=sssd. Please take a note, that user
configured to run main sssd.service and socket activated responders (if used)
should match (i.e. if sssd.service is re-configured from upstream defaults to
rootthen responders services also should be re-configured).Downstream package maintainers are advised to carefully inspect changes in
contrib/sssd.spec.in,src/sysv/systemd/*and./configureoptions
that this release brings! -
sssctl
cache-upgradecommand was removed. SSSD performs automatic upgrades
at startup when needed. -
Support of
enumerationfeature (i.e. ability to list all users/groups
usinggetent passwd/groupwithout argument) for AD/IPA providers is
deprecated and might be removed in further releases. Those who are interested
to keep using it awhile should configure its build explicitly using
--with-extended-enumeration-support./configure option. -
A number of minor glitches of
sssd-2.10.0-beta1around building and
packaging were fixed.
New features
- The new tool
sss_ssh_knownhostscan be used with ssh's
KnownHostsCommandconfiguration option to retrieve the host's public keys
from a remote server (FreeIPA, LDAP, etc.). This new tool, which is more
reliable, replacessss_ssh_knownhostsproxy. The latter is no longer built
by default, but its build can be forced with the./configureoption
--with-ssh-known-hosts-proxy.
Packaging changes
-
Building SSSD now unconditionally requires availability of
ucred/
SO_PEERCREDto enforce certain security checks at runtime (seeman 7 unixfor details). -
SSSD now requires
libininot older than v1.3 -
Explicit
--with-semanage./configure switch was removed, going forward
--with-selinuxincludes this. -
sssd_pambinary lost publicrxbits and gotcap_dac_read_search=p
file capability to be able to use GSSAPI -
Support of OpenSSL older than 1.0.1 was dropped
-
Support of
--without-infopipe./configureoption was dropped. Feature
is long time out of experimental state. Since building it doesn't require any
additional dependencies, there is not much sense to keep option available.
Those who not interested in feature can skip installing sssd-ifp sub-package.
Configuration changes
-
Default
ldap_id_use_start_tlsvalue changed fromfalsetotruefor
improved security. -
Added a
ldap_use_ppolicyoption for backends with broken ppolicy extension
handling. -
Obsolete
config_file_versionoption was removed. -
Option
reconnection_retrieswas removed since it is no longer used. SSSD
switch to a new architecte of internal IPC between SSSD processes where
responders do not connect to backend anymore and therefore this option is no
longer used.
sssd-2.10.0-beta2
SSSD sssd-2.10.0~beta2 Release Notes
Highlights
General information
- A number of minor glitches of
sssd-2.10.0-beta1around building and packaging were fixed.
Packaging changes
sssd_pambinary lost publicrxbits and gotcap_dac_read_search=pfile capability to be able to use GSSAPI
sssd-2.10.0-beta1
SSSD 2.10-beta1 Release Notes
Highlights
General information
-
IMPORTANT note for downstream maintainers!
This release features significant improvements of "running with less privileges (under unprivileged service user)" feature. There is still a
./configureoption--with-sssd-user=available that allows downstream package maintainers to choose if support of non-root service user should be built. In case such support is built, a preferred way to configure service user is simply by starting SSSD under this user; for example, usingUser=/Group=options of systemd sssd.service file. Upstream defaults are to build--with-sssd-user=sssdand to install systemd service withUser=/Group=sssd. In this case, only several helper processes -ldap_child,krb5_childandselinux_child- are executed with elevated capabilities (that are now granted using fine grained file capabilities instead of SUID bit). All other SSSD components run without any capabilities. In this scenario it's still possible to re-configure SSSD to run underroot(if needed for some reason): besides changingUser/Group=options, some other tweaks of systemd service files are required.A legacy method to configure a service user - sssd.conf
useroption - is now deprecated and its support isn’t built by default. It can be enabled using--with-conf-service-user-support./configureoption if needed (for example, due to backward compatibility requirements of stable releases).Further, no matter if SSSD is built
--with-sssd-user=sssdor--with-sssd-user=root, when it's configured to run underroot(in both cases) it still runs without capabilities, the same way as when it's configured to run undersssduser. The only difference is from the DAC perspective.Important note: owner of
/etc/sssd/sssd.conffile (and snippets) should match the user configured to start SSSD service. Upstream spec file changes ownership of existingsssd.conftosssdduring package installation for seamless upgrades.Additionally, this release fixes a large number of issues with "socket activation of responders" feature, making it operable out-of-the-box when the package is built
--with-sssd-user=sssd. Please take a note, that user configured to run main sssd.service and socket activated responders (if used) should match (i.e. if sssd.service is re-configured from upstream defaults torootthen responders services also should be re-configured).Downstream package maintainers are advised to carefully inspect changes in
contrib/sssd.spec.in,src/sysv/systemd/*and./configureoptions that this release brings! -
sssctl
cache-upgradecommand was removed. SSSD performs automatic upgrades at startup when needed. -
Support of
enumerationfeature (i.e. ability to list all users/groups usinggetent passwd/groupwithout argument) for AD/IPA providers is deprecated and might be removed in further releases. Those who are interested to keep using it awhile should configure its build explicitly using--with-extended-enumeration-support./configure option.
New features
- The new tool
sss_ssh_knownhostscan be used with ssh's KnownHostsCommand configuration option to retrieve the host's public keys from a remote server (FreeIPA, LDAP, etc.). This new tool, which is more reliable, replacessss_ssh_knownhostsproxy. Please consider switching to using the new tool as the old one will be removed.
Packaging changes
- Building SSSD now unconditionally requires availability of
ucred/SO_PEERCREDto enforce certain security checks at runtime (seeman 7 unixfor details). - SSSD now requires
libininot older than v1.3 - Explicit
--with-semanage./configure switch was removed, going forward--with-selinuxincludes this.
Configuration changes
- Default
ldap_id_use_start_tlsvalue changed fromfalsetotruefor improved security. - Added a
ldap_use_ppolicyoption for backends with broken ppolicy extension handling. - Obsolete
config_file_versionoption was removed.