SSSD 2.4.1
Highlights
General information
SYSLOG_IDENTIFIER
was renamed toSSSD_PRG_NAME
in journald output, to avoid issues with PID parsing in rsyslog (BSD-style forwarder) output.
New features
- New PAM module
pam_sss_gss
for authentication using GSSAPI case_sensitive=Preserving
can now be set for trusted domains with AD providercase_sensitive=Preserving
can now be set for trusted domains with IPA provider. However, the option needs to be set toPreserving
on both client and the server for it to take effect.case_sensitive
option can be now inherited by subdomainscase_sensitive
can be now set separately for each subdomain in[domain/parent/subdomain]
sectionkrb5_use_subdomain_realm=True
can now be used when sub-domain user principal names have upnSuffixes which are not known in the parent domain. SSSD will try to send the Kerberos request directly to a KDC of the sub-domain.
Important fixes
- krb5_child uses proper umask for DIR type ccaches
- Memory leak in the simple access provider
- KCM performance has improved dramatically for cases where large amount of credentials are stored in the ccache.
Packaging changes
- Added
pam_sss_gss.so
PAM module andpam_sss_gss.8
manual page
Configuration changes
- New default value of
debug_level
is 0x0070 - Added
pam_gssapi_check_upn
to enforce authentication only with principal that can be associated with target user. - Added
pam_gssapi_services
to list PAM services that can authenticate using GSSAPI
Tickets Fixed
- #3413 - autofs: return a connection failure until maps have been fetched
- #3730 - proxy_child hardening
- #4590 - syslog mesages for back ends uses invalid ident tag
- #4759 - sssd krb5_child using wrong domain to authenticate
- #4829 - KCM: Increase the default client idle timeout, consider decreasing the timeout on busy servers
- #5121 - timestamp cache entries are not created if missing
- #5238 - Unexpected behavior and issue with filter_users/filter_groups option
- #5250 - [RFE] RHEL8 sssd: inheritance of the case_sensitive parameter for subdomains.
- #5333 - sssd-kcm does not store TGT with ssh login using GSSAPI
- #5349 - kcm: poor performance with large number of credentials
- #5351 - Do not overwrite LDAP data of local domain when looking up a Global Catalog
- #5359 - SSSD can hang being blocked on TCP operation involving socket opened internally by libldap
- #5382 - User lookups over the InfoPipe responder fail intermittently
- #5384 - sssd syslog/journal logging is now too generic
- #5400 - Can’t login with smartcard with multiple certs having same ID value
- #5403 - filter_groups option partially filters the group from ‘id’ output of the user because gidNumber still appears in ‘id’ output [RHEL 8]
- #5412 - sssd_be segfaults at be_refresh_get_values_ex() due to NULL ptrs in results of sysdb_search_with_ts_attr()
- #5425 - SBUS: failures during servers startup
- #5436 - krb5_child: “DIR:” ccache directory created with bad mode 0600 due to umask
- #5451 - resolv: resolv_gethostbyname_dns_parse() doesn’t properly handle fail of ares_parse_*_reply()
- #5456 - Memory leak in the simple access provider
- #5466 - SBUS: NULL deref in dp_client_handshake_timeout()
- #5469 - sssd unable to lookup certmap rules
- #5471 - [RFE] sss_override: Usage limitations clarification in man page
- #5475 - Do not add ‘%’ to group names already prefixed with ‘%’ in IPA sudo rules
- #5488 - Unexpected (?) side effect of SSSDBG_DEFAULT change
Detailed changelog
- Alexander Bokovoy (1):
- sudo runas: do not add ‘%’ to external groups in IPA
- Alexey Tikhonov (65):
- SDAP: set common options for sockets open by libldap
- DEBUG: journal_send() was made static
- DEBUG: fixes program identifier as seen in syslog
- SYSDB: merge_res_sysdb_attrs() fixed to avoid NULL ptr in msgs[]
- KCM: avoid NULL deref
- SYSDB:autofs: cosmetic updates
- SYSDB: wrong debug message corrected
- SYSDB:sudo: changed debug message to be consistent
- SYSDB:iphosts: severity level of few debug messages adjusted
- SYSDB:ipnetworks: severity level of few debug messages adjusted
- SYSDB:ops: few debug messages were corrected
- SYSDB:search: few debug messages were corrected
- SYSDB:selinux: debug message severity level was adjusted
- SYSDB:service: severity level of few debug messages adjusted
- SYSDB:upgrade: debug message corrected
- SYSDB:views: few debug message corrections
- MONITOR: severity level of few debug messages adjusted
- P11_CHILD: severity level of few debug messages adjusted
- AD: few debug message corrections
- DP: few debug message corrections
- IPA: few debug message corrections
- KRB5: few debug message corrections
- LDAP: few debug message corrections
- PROXY: few debug message corrections
- RESOLV: debug message correction
- AUTOFS: few debug message corrections
- CACHE_REQ: debug message correction
- RESPONDER: few debug message corrections
- IFP: few debug message corrections
- NSS: few debug message corrections
- PAM: few debug message corrections
- UTIL: few debug message corrections
- PAM: reduce log level in may_do_cert_auth()
- UTIL: sss_ldb_error_to_errno() improved
- SYSDB: reduce log level in sysdb_update_members_ex() in case failed attempt to DEL unexisting attribute
- LDAP: added missed \n in log message
- SSS_IFACE: corrected misleading return code
- IPA: corrected confusing message
- DP: do not log failure in case provider doesn’t support check_online method
- RESPONDER: reduce log level in sss_parse_inp_done() in case of “Unknown domain” since this might be search by UPN
- SBUS: reduced log level in case of unexpected signal
- LDAP: reduced log level in hosts_get_done()
- CACHE_REQ: reduced log level in cache_req_object_by_name_well_known() Non fqdn input isn’t necessarily an error here.
- SDAP: reduced log level in case group without members
- AD: reduced log level in case check_if_pac_is_available() can’t find user entry. This is typical situation when, for example, INITGROUPS lookup is executed for uncached user.
- FILES: reduced debug level in refresh_override_attrs() if case “No overrides, nothing to do”
- LOGS: default log level changed to <= SSSDBG_OP_FAILURE
- UTIL: fixed bug in server_setup() that prevented setting debug level to 0 explicitly
- CERTMAP: removed stray debug message
- IPA: reduce log level in apply_subdomain_homedir()
- SYSDB: changed log level in sysdb_update_members_ex()
- IPA: ignore failed group search in certain cases
- IPA: changed logging in ipa_get_subdom_acct_send()
- SYSDB: changed logging in sysdb_get_real_name()
- LDAP: reduce log level in case of fail to store members of missing group (it might be built-in skipped intentionally)
- LDAP: sdap_save_grpmem(): log level changed
- UTIL: find_domain_by_object_name_ex() changed log level
- RESOLV: handle fail of ares_parse_*_reply() properly
- SBUS: do not try to del non existing sender
- Removed leftovers after PR #5246
- dhash tables are now created with count=0 whenever no useful size hint available
- SBUS: set sbus_name before dp_init_send()
- PROXY: child process security hardening
- Sanitize –domain option to allow safe usage as a part of log file name
- Makefile: add missing ‘-fno-lto’ to some tests
- Anuj Borah (1):
- TESTS:KCM: Increase client idle timeout to 5 minutes
- Armin Kuster (1):
- Provide missing defines which otherwise are available on glibc system headers
- Deepak Das (1):
- man: sss_override clarification
- Duncan Eastoe (2):
- nss: Use posix_fallocate() to alloc memcache file
- nss: remove clear_mc_flag file after clearing caches
- Evgeny Sinelnikov (1):
- krb5: allow to use subdomain realm during authentication
- Justin Stephenson (1):
- krb5: Remove secrets text from drop-in KCM file
- Madhuri Upadhye (6):
- Test: AD: For sssd crash in ad_get_account_domain_search
- Test: alltests: “enabled” option to domain section
- Update remove command to delete the snippet files
- Update the title of test case.
- Tests: alltests: “ldap_library_debug_level” option to domain section
- alltests: password_policy: Removing the log debug messages
- Marco Trevisan (Treviño) (1):
- test_ca: Look for libsofthsm2 in libdir before falling back to hardcoded paths
- Pavel Březina (64):
- Update version in version.m4 to track the next release
- kcm: fix typos in debug messages
- kcm: avoid name confusion in GET_CRED_UUID_LIST handlers
- kcm: disable encryption
- kcm: avoid multiple debug messages if sss_sec_put fails
- secrets: allow to specify secret’s data format
- secrets: accept binary data instead of string
- iobuf: add more iobuf functions
- kcm: add json suffix to existing searialization functions
- kcm: move sec key parser to separate file so it can be shared
- kcm: avoid suppression of cppcheck warning
- kcm: add spaces around operators in kcmsrv_ccache_key.c
- kcm: use binary format to store ccache instead of json
- kcm: add per-connection data to be shared between requests
- sss_ptr_hash: fix double free for circular dependencies
- kcm: store credentials list in hash table to avoid cache lookups
- secrets: fix may_payload_size exceeded debug message
- secrets: default to “plaintext” if “enctype” attr is missing
- secrets: move attrs names to macros
- secrets: remove base64 enctype
- cache_req: allow cache_req to return ERR_OFFLINE if all dp request failed
- autofs: return ERR_OFFLINE if we fail to get information from backend and cache is empty
- autofs: translate ERR_OFFLINE to EHOSTDOWN
- autofs: disable fast reply
- autofs: correlate errors for different protocol versions
- configure: check for stdatomic.h
- kcm: decode base64 encoded secret on upgrade path
- sss_format.h: include config.h
- packet: add sss_packet_set_body
- domain: store hostname and keytab path
- cache_req: add helper to call user by upn search
- pam: fix typo in debug message
- pam: add pam_gssapi_services option
- pam: add pam_gssapi_check_upn option
- pam: add pam_sss_gss module for gssapi authentication
- pam_sss: fix missing initializer warning
- pamsrv_gssapi: fix implicit conversion warning
- gssapi: default pam_gssapi_services to NULL in domain section
- pam_sss_gssapi: fix coverity issues
- cache_req: ignore autofs not configured error
- man: add auto_private_groups to subdomain_inherit
- subdomains: allow to inherit case_sensitive=Preserving
- subdomains: allow to set case_sensitive=Preserving in subdomain section
- subdomains: allow to inherit case_sensitive=Preserving for IPA
- man: update case_sensitive documentation to reflect changes for subdomains
- po: add pam_sss_gss to translated man pages
- pot: update pot files
- spec: synchronize with Fedora 34 spec file
- spec: remove unneeded conditionals and unused variables
- spec: keep _strict_symbol_defs_build
- spec: enable LTO
- spec: remove support for NSS
- spec: remove –without-python2-bindings
- spec: re-import changes that were not merged in Fedora
- spec: synchronize with RHEL spec file
- spec: use sssd user on RHEL
- spec: remove conflicts that no longer make sense
- spec: remove unused BuildRequires
- spec: remove unused Requires
- spec: sort Requires, BuildRequires and configure for better clarity
- spec: comment some requirements
- spec: fix spelling in package description
- spec: use %autosetup instead of %setup
- configure: libcollection is not required
- Paweł Poławski (2):
- data_provider_be: Add random offset default
- data_provider_be: MAN page update
- Samuel Cabrero (2):
- Improve samba version check for ndr_pull_steal_switch_value signature
- winbind idmap plugin: Fix struct idmap_domain definition
- Sergio Durigan Junior (1):
- Only start sssd.service if there’s a configuration file present
- Shridhar Gadekar (1):
- Tests:ad:sudo: support non-posix groups in sudo rules
- Steeve Goveas (13):
- Move conftest.py to basic dir
- Add alltests code
- Add ad test code
- Add ipa test code
- Update sssd testlibs
- Add empty conftest.py and update path to run basic tests
- Fix pep8 issues
- Include data directory
- Fix errors found during testing
- Remove trailing whitespaces
- tests: modify ipa client install for fedora
- TEST: Split tier1 tests with new pytest marker
- tests: netstat command not found for test
- Sumit Bose (18):
- ifp: fix use-after-free
- AD: do not override LDAP data during GC lookups
- negcache: make sure domain config does not leak into global
- utils: add SSS_GND_SUBDOMAINS flag for get_next_domain()
- negcache: make sure short names are added to sub-domains
- negcache: do not use default_domain_suffix
- ifp: fix original fix use-after-free
- nss: check if groups are filtered during initgroups
- pam_sss: use unique id for gdm choice list
- authtok: add label to Smartcard token
- pam_sss: add certificate label to reply to pam_sss
- add tests multiple certs same id
- simple: fix memory leak while reloading lists
- krb5_child: use proper umask for DIR type ccaches
- BUILD: Accept krb5 1.19 for building the PAC plugin
- responders: add callback to schedule_get_domains_task()
- pam: refresh certificate maps at the end of initial domains lookup
- ssh: restore default debug level
- Tomas Halman (2):
- CACHE: Create timestamp if missing
- TESTS: Add test for recreating cache timestamp
- Valters Jansons (1):
- DEBUG: Drop custom syslog identifier from journald
- aborah (1):
- TESTS:sssd-kcm does not store TGT with ssh login using GSSAPI
- peptekmail (3):
- Add rsassapss cert for future checks
- Add rsassapss cert for future checks
- Add rsassapss cert for future checks
- tobias-gruenewald (3):
- Change LDAP group type from int to string
- Change LDAP group type from int to string
- Change LDAP group type from int to string