|
| 1 | +# SSSD 2.3.0 |
| 2 | + |
| 3 | +## Highlights |
| 4 | + |
| 5 | +### New features |
| 6 | + |
| 7 | +- SSSD can now handle `hosts` and `networks` nsswitch databases (see `resolve_provider` option) |
| 8 | +- By default, authentication request only refresh user's initgroups if it is expired or there is not active user's session (see `pam_initgroups_scheme` option) |
| 9 | +- OpenSSL is used as default crypto provider, NSS is deprecated |
| 10 | +- Active Directory provider now defaults to GSS-SPNEGO SASL mechanism (see `ldap_sasl_mech` option) |
| 11 | +- Active Directory provider can now be configured to use only `ldaps` port (see `ad_use_ldaps` option) |
| 12 | +- SSSD now accepts host entries from GPO's security filter |
| 13 | +- Format of debug messages has changed to be shorter and better sortable |
| 14 | +- New debug level (`0x10000`) was added for low level ldb messages only (see `sssd.conf` man page) |
| 15 | + |
| 16 | +### Packaging changes |
| 17 | + |
| 18 | +- New configure option `--enable-gss-spnego-for-zero-maxssf` |
| 19 | + |
| 20 | +### Documentation Changes |
| 21 | + |
| 22 | +- Default value of `ldap_sasl_mech` has changed to `GSS-SPNEGO` for AD provider |
| 23 | +- Return code of `pam_sss.so` are documented in `pam_sss` manpage |
| 24 | +- Added option `ad_update_samba_machine_account_password` |
| 25 | +- Added option `ad_use_ldaps` |
| 26 | +- Added option `ldap_iphost_object_class` |
| 27 | +- Added option `ldap_iphost_name` |
| 28 | +- Added option `ldap_iphost_number` |
| 29 | +- Added option `ldap_ipnetwork_object_class` |
| 30 | +- Added option `ldap_ipnetwork_name` |
| 31 | +- Added option `ldap_ipnetwork_number` |
| 32 | +- Added option `ldap_iphost_search_base` |
| 33 | +- Added option `ldap_ipnetwork_search_base` |
| 34 | +- Added option `ldap_connection_expire_offset` |
| 35 | +- Added option `ldap_sasl_maxssf` |
| 36 | +- Added option `pam_initgroups_scheme` |
| 37 | +- Added option `entry_cache_resolver_timeout` |
| 38 | +- Added option `entry_cache_computer_timeout` |
| 39 | +- Added option `resolver_provider` |
| 40 | +- Added option `proxy_resolver_lib_name` |
| 41 | +- Minor text improvements |
| 42 | + |
| 43 | +## Tickets Fixed |
| 44 | + |
| 45 | +- [#1025](https://github.com/SSSD/sssd/issues/1025) - Man pages don't mention that `use_fully_qualified_names==true` for trusted domain |
| 46 | +- [#1032](https://github.com/SSSD/sssd/issues/1032) - Wrong debug level in calc_flat_name()? |
| 47 | +- [#1038](https://github.com/SSSD/sssd/issues/1038) - `sssd.api.conf` and `sssd.api.d` should belong to `python-sssdconfig` package |
| 48 | +- [#2404](https://github.com/SSSD/sssd/issues/2404) - Fill missing config options in SSSDConfig.py |
| 49 | +- [#4356](https://github.com/SSSD/sssd/issues/4356) - GPO Security Filtering and Access Control are not Compliant with MS-ADTS |
| 50 | +- [#4489](https://github.com/SSSD/sssd/issues/4489) - TESTS: make intgcheck is not always passing in the internal CI (enumeration tests) |
| 51 | +- [#4541](https://github.com/SSSD/sssd/issues/4541) - Disable host wildcards in sudoHost attribute (ldap_sudo_include_regexp=false) |
| 52 | +- [#4651](https://github.com/SSSD/sssd/issues/4651) - Randomize ldap_connection_expire_timeout either by default or w/ a configure option |
| 53 | +- [#4691](https://github.com/SSSD/sssd/issues/4691) - Provide a list of pam_status return codes used by the pam_sss.so module in the module man file |
| 54 | +- [#4730](https://github.com/SSSD/sssd/issues/4730) - subdomain lookup fails when certmaprule contains DN |
| 55 | +- [#4978](https://github.com/SSSD/sssd/issues/4978) - [RFE] SSSD should use GSS-SPNEGO instead of GSSAPI when talking to AD |
| 56 | +- [#5010](https://github.com/SSSD/sssd/issues/5010) - MAN page: sssd-ipa: confusing text |
| 57 | +- [#5029](https://github.com/SSSD/sssd/issues/5029) - override_gid not working for subdomains |
| 58 | +- [#5052](https://github.com/SSSD/sssd/issues/5052) - server/be: SIGTERM handling is incorrect |
| 59 | +- [#5053](https://github.com/SSSD/sssd/issues/5053) - Watchdog implementation or usage is incorrect |
| 60 | +- [#5062](https://github.com/SSSD/sssd/issues/5062) - initgroups for already logged in users should not cause long delays |
| 61 | +- [#5079](https://github.com/SSSD/sssd/issues/5079) - sssd requires timed sudoers ldap entries to be specified up to the seconds |
| 62 | +- [#5082](https://github.com/SSSD/sssd/issues/5082) - [RFE]: use certificate matching rule when generating SSH key from a certificate |
| 63 | +- [#5085](https://github.com/SSSD/sssd/issues/5085) - Impossible to enforce GID on the AD's "domain users" group in the IPA-AD trust setup |
| 64 | +- [#5087](https://github.com/SSSD/sssd/issues/5087) - pcscd rejecting sssd ldap_child as unauthorized |
| 65 | +- [#5088](https://github.com/SSSD/sssd/issues/5088) - [Doc]Provide explanation on escape character for match rules sss-certmap |
| 66 | +- [#5090](https://github.com/SSSD/sssd/issues/5090) - sssctl config-check command does not give proper error messages with line numbers |
| 67 | +- [#5092](https://github.com/SSSD/sssd/issues/5092) - Force LDAPS over 636 with AD Provider |
| 68 | +- [#5094](https://github.com/SSSD/sssd/issues/5094) - Unreadable GPOs should not be logged as a critical failure |
| 69 | +- [#5096](https://github.com/SSSD/sssd/issues/5096) - util/sss_ptr_hash.c: potential double free in `sss_ptr_hash_delete_cb()` |
| 70 | +- [#5100](https://github.com/SSSD/sssd/issues/5100) - sssd_be frequent crash |
| 71 | +- [#5105](https://github.com/SSSD/sssd/issues/5105) - Build error with python3.8-config --ldflags |
| 72 | +- [#5106](https://github.com/SSSD/sssd/issues/5106) - Expecting appropriate error message when new password length is less than 8 characters when ldap_pwmodify_mode = ldap_modify in sssd.conf |
| 73 | +- [#5114](https://github.com/SSSD/sssd/issues/5114) - p11_child should have an option to skip C_WaitForSlotEvent if the PKCS#11 module does not implement it properly |
| 74 | +- [#5116](https://github.com/SSSD/sssd/issues/5116) - sssctl config-check reports errors when auto_private_groups is disabled/enabled in child domains |
| 75 | +- [#5124](https://github.com/SSSD/sssd/issues/5124) - "off-by-one error" in watchdog implementation |
| 76 | +- [#5126](https://github.com/SSSD/sssd/issues/5126) - sbus: wrong handling of certain fails in sbus_dbus_connect_address() |
| 77 | +- [#5128](https://github.com/SSSD/sssd/issues/5128) - SSSD doesn't honour the customized ID view created in IPA |
| 78 | +- [#5129](https://github.com/SSSD/sssd/issues/5129) - id_provider = proxy proxy_lib_name = files returns * in password field, breaking PAM authentication |
| 79 | +- [#5132](https://github.com/SSSD/sssd/issues/5132) - background refresh task does not refresh updated netgroup entries |
| 80 | +- [#5133](https://github.com/SSSD/sssd/issues/5133) - Odd lastUpdate attribute if SSSD is started without sssd.conf |
| 81 | +- [#5136](https://github.com/SSSD/sssd/issues/5136) - ad and ipa backends should require proper version of `samba-client-libs` |
| 82 | +- [#5139](https://github.com/SSSD/sssd/issues/5139) - pam_sss reports PAM_CRED_ERR when providing wrong password for an existing IPA user, but this error's description is misleading |
| 83 | +- [#5160](https://github.com/SSSD/sssd/issues/5160) - Multiples Kerberos ticket on RHEL 7.7 after lock and unlock screen |
| 84 | + |
| 85 | +## Detailed changelog |
| 86 | + |
| 87 | +- Alex Rodin (5): |
| 88 | + - Update pam_sss.8.xml |
| 89 | + - Update __init__.py.in |
| 90 | + - SSSDConfig: Update of config options |
| 91 | + - SSSDConfig: New SSSDOptions class |
| 92 | + - MAN: use_fully_qualified_names description updated |
| 93 | + |
| 94 | +- Alexey Tikhonov (26): |
| 95 | + - providers/krb5: got rid of unused code |
| 96 | + - data_provider_be: got rid of duplicating SIGTERM handler |
| 97 | + - util/server: improved debug at shutdown |
| 98 | + - util/watchdog: fixed watchdog implementation |
| 99 | + - util/sss_ptr_hash: fixed double free in sss_ptr_hash_delete_cb() |
| 100 | + - sbus_server: stylistic rename |
| 101 | + - sss_ptr_hash: don't keep empty sss_ptr_hash_delete_data |
| 102 | + - sss_ptr_hash: sss_ptr_hash_delete fix/optimization |
| 103 | + - sss_ptr_hash: removed redundant check |
| 104 | + - sss_ptr_hash: fixed memory leak |
| 105 | + - sss_ptr_hash: internal refactoring |
| 106 | + - TESTS: added sss_ptr_hash unit test |
| 107 | + - Watchdog: fixes "off-by-one" error |
| 108 | + - sssd.spec.in: added missing Requires |
| 109 | + - PAM: fixed wrong debug message |
| 110 | + - MAN: fixed description of pam_cert_db_path |
| 111 | + - SPEC: added explicit `samba-client-libs` dependency |
| 112 | + - config: switch to OpenSSL as default crypto backend |
| 113 | + - SPEC: 'sssd.api.*' should belong `python-sssdconfig` |
| 114 | + - TESTS: NSS db setup is only required in NSS based build |
| 115 | + - SBUS: do not return invalid connection pointer |
| 116 | + - Fixed unsafe usage of strncpy() |
| 117 | + - DEBUG: changed timestamp output format |
| 118 | + - DEBUG: introduce new SSSDBG_TRACE_LDB level |
| 119 | + - DEBUG: changed "debug_prg_name" format |
| 120 | + - WATCHDOG: log process termination to the journal |
| 121 | + |
| 122 | +- Andreas Hasenack (1): |
| 123 | + - Fix another build failure with python 3.8 |
| 124 | + |
| 125 | +- Andrew Gunnerson (1): |
| 126 | + - ad: Add support for passing --add-samba-data to adcli |
| 127 | + |
| 128 | +- David Mulder (5): |
| 129 | + - SSSD should accept host entries from GPO's security filter |
| 130 | + - Test the host sid checking |
| 131 | + - Remove sssd Security Filtering host comment from man |
| 132 | + - Create a computer_timeout for caching GPO security filter |
| 133 | + - Resolve computer lookup failure when sam!=cn |
| 134 | + |
| 135 | +- Fabiano Fidêncio (1): |
| 136 | + - INTG: Increase the sleep() time so the changes are reflected on SSSD |
| 137 | + |
| 138 | +- Joakim Tjernlund (1): |
| 139 | + - Update OpenRC init.d script |
| 140 | + |
| 141 | +- Lars Francke (1): |
| 142 | + - ldap: set ldap_group_name to sAMAccountName for ad schema |
| 143 | + |
| 144 | +- Lukas Slebodnik (8): |
| 145 | + - BE_REFRESH: Do not try to refresh domains from other backends |
| 146 | + - SSS_INI: Fix syntax error in sss_ini_add_snippets |
| 147 | + - PROXY: Fix warning-format-overflow directive argument is null |
| 148 | + - test_nss_srv: Suppress Conditional jump or move depends on uninitialised value |
| 149 | + - CONFIGURE: Fix detection of samba version for idmap plugin |
| 150 | + - CONFIGURE: Fix detection of attribute fallthrough |
| 151 | + - BUILD: Accept krb5 1.18 for building the PAC plugin |
| 152 | + - CI: Drop usage of unnecessary copr repo for mock |
| 153 | + |
| 154 | +- MIZUTA Takeshi (4): |
| 155 | + - util/server: Fix the timing to close() the PID file |
| 156 | + - Remove redundant header file inclusion |
| 157 | + - monitor: Fix check process about multiple starts of sssd when pidfile remains |
| 158 | + - man: fix typos - correct manpage reference - correct wrong word - capitalize the first letter |
| 159 | + |
| 160 | +- Michal Židek (5): |
| 161 | + - Update version in version.m4 to track the next release. |
| 162 | + - Bump the version. |
| 163 | + - nss: Collision with external nss symbol |
| 164 | + - sssd.spec: Add recommended packages |
| 165 | + - spec: Do not overwrite /etc/pam.d/sssd-shadowutils |
| 166 | + |
| 167 | +- Noel Power (2): |
| 168 | + - Use ndr_pull_steal_switch_value for modern samba versions |
| 169 | + - ad_gpo_ndr.c: refresh ndr_ methods from samba-4.12 |
| 170 | + |
| 171 | +- Pavel Březina (18): |
| 172 | + - nss: use real primary gid if the value is overriden |
| 173 | + - ci: add rhel7 |
| 174 | + - ci: set sssd-ci notification to pending state when job is started |
| 175 | + - ci: archive ci-mock-result |
| 176 | + - tests: fix race condition in enumeration tests |
| 177 | + - ci: add CentOS 7 |
| 178 | + - sss_sockets: pass pointer instead of integer |
| 179 | + - ci: keep system list outside repository |
| 180 | + - ci: remove old dependency repository |
| 181 | + - sdap: provide error message when password change fail in ldap_modify mode |
| 182 | + - sbus: commit complete generated code |
| 183 | + - proxy: set pwfield to x for files library |
| 184 | + - proxy: do not fail if proxy_resolver_lib_name is not set |
| 185 | + - be: add BE_REQ_HOST to be_req2str |
| 186 | + - dp: free methods if target is not configured |
| 187 | + - sysdb: check if the id override belongs to requested domain |
| 188 | + - p11_child: fix initializer error |
| 189 | + - Move from Pagure to Github |
| 190 | + |
| 191 | +- Paweł Poławski (6): |
| 192 | + - sysdb_sudo: Enable LDAP time format compatibility |
| 193 | + - GPO: Duplicated error message for unreadable GPO |
| 194 | + - LDAP: Netgroups refresh in background task |
| 195 | + - SYSDB: Cache selector as enum |
| 196 | + - DOMAIN: Downgrade log message type |
| 197 | + - MAN: refresh_expired_interval description updated |
| 198 | + |
| 199 | +- Petr Vaněk (1): |
| 200 | + - configure: prefer python3 if available |
| 201 | + |
| 202 | +- REIM THOMAS (5): |
| 203 | + - GPO: Grant access if DACL is not present |
| 204 | + - GPO: Support group policy file main folders with upper case name |
| 205 | + - GPO: Close group policy file after copying |
| 206 | + - GPO: Group policy access evaluation not in line with [MS-ADTS] |
| 207 | + - GPO: Improve logging of GPO security filtering |
| 208 | + |
| 209 | +- Samuel Cabrero (69): |
| 210 | + - AD: Improve host SID retrieval |
| 211 | + - AD: use getaddrinfo with AI_CANONNAME to find the FQDN |
| 212 | + - STAP: Add missing session data provider target |
| 213 | + - UTIL: Add a function to canonicalize IP addresses |
| 214 | + - SYSDB: Add sysdb functions for hosts entries |
| 215 | + - SYSDB: Add index for hostAddress attribute |
| 216 | + - SBUS: Add new resolver target interface |
| 217 | + - DP: Add a new filter type, filter by address |
| 218 | + - RESPONDER: Add sss_dp_resolver_get_send |
| 219 | + - CACHE_REQ: Rename cache req host by name name plugin used by SSH |
| 220 | + - CACHE_REQ: Add a data field to store network addresses |
| 221 | + - CACHE_REQ: Implement ip_host_by_addr and ip_host_by_name plugins |
| 222 | + - NSS: Add client support for hosts (non-enumeration) |
| 223 | + - NSS: Add gethostbyname and gethostbyaddr support to the NSS responder |
| 224 | + - TESTS: Add gethostbyname and gethostbyaddr NSS responder tests |
| 225 | + - DP: Implement resolver target handler |
| 226 | + - CONFDB: Add new options for resolver provider |
| 227 | + - CONFDB: Add a new resolver_timeout to timeout cached resolver entries |
| 228 | + - UTIL: Allow to specify mandatory and optional symbols when loading nss libs |
| 229 | + - PROXY: Create a module context to store id and auth contexts |
| 230 | + - PROXY: Load resolver NSS library |
| 231 | + - PROXY: Register resolver hosts handler method |
| 232 | + - PROXY: Handle resolver hosts by name requests |
| 233 | + - PROXY: Store results from NSS library call into the cache |
| 234 | + - SYSDB: Extend sysdb_store_host() to accept extra attributes |
| 235 | + - PROXY: Handle resolver hosts by address requests |
| 236 | + - LDAP: Initialize resolver provider |
| 237 | + - AD: Initialize resolver provider |
| 238 | + - LDAP: Initialize ldap_iphost_* options |
| 239 | + - LDAP: Document new ldap_iphost_* options |
| 240 | + - AD: Initialize ldap_iphost_* options |
| 241 | + - LDAP: Prepare for iphost lookups |
| 242 | + - LDAP: Add support for iphost lookups (no enumeration) |
| 243 | + - NSS: Add client support for `[set|get|end]hostent()` |
| 244 | + - SYSDB: Add support for enumerating hosts |
| 245 | + - CACHE_REQ: Add support for enumerating hosts |
| 246 | + - LDAP: Setup resolver enumeration tasks |
| 247 | + - LDAP: Add support for iphost enumeration |
| 248 | + - AD: Setup resolver enumeration tasks |
| 249 | + - AD: Add support for iphost enumeration |
| 250 | + - LDAP: Implement iphost cleanup for expired cache entries |
| 251 | + - AD: Implement iphost cleanup for expired cache entries |
| 252 | + - PROXY: Add support for iphost enumeration |
| 253 | + - TESTS: Add LDAP resolver target integration tests |
| 254 | + - SYSDB: Add sysdb functions for ipnetwork entries |
| 255 | + - SYSDB: Add index for ipNetworkNumber attribute |
| 256 | + - CACHE_REQ: Implement ip_network_by_name and ip_network_by_addr plugins |
| 257 | + - NSS: Add client support for networks (non-enumeration) |
| 258 | + - NSS: Add getnetbyname and getnetbyaddr support to the NSS responder |
| 259 | + - TESTS: Add getnetbyname and getnetbyaddr NSS responder tests |
| 260 | + - DP: Handle IP network requests in resolver target |
| 261 | + - PROXY: Load networks symbols |
| 262 | + - PROXY: Handle resolver IP network by name requests |
| 263 | + - PROXY: Handle resolver IP network by address requests |
| 264 | + - SYSDB: Add functions to store IP networks from providers |
| 265 | + - PROXY: Store IP network results from NSS library in the cache |
| 266 | + - LDAP: Initialize ldap_ipnetwork_* options |
| 267 | + - LDAP: Document new ldap_ipnetwork_* options |
| 268 | + - AD: Initialize new ldap_ipnetwork_* options |
| 269 | + - LDAP: Prepare for ipnetwork lookups (no enumeration) |
| 270 | + - LDAP: Add support for ipnetwork lookups (no enumeration) |
| 271 | + - NSS: Add client support for `[set|get|end]netent()` |
| 272 | + - SYSDB: Add support for enumerating ipnetworks |
| 273 | + - CACHE_REQ: Add support for enumerating ip networks |
| 274 | + - LDAP: Add support for ipnetworks enumeration |
| 275 | + - LDAP: Implement ipnetwork cleanup for expired cache entries |
| 276 | + - PROXY: Add support for ipnetwork enumeration |
| 277 | + - TESTS: Add LDAP resolver IP networks tests |
| 278 | + - Drop obsolete SUSE spec file |
| 279 | + |
| 280 | +- Simo Sorce (3): |
| 281 | + - Add TCP level timeout to LDAP services |
| 282 | + - cache_req: introduce cache_behavior enumeration |
| 283 | + - pam: Use cache for users with existing session |
| 284 | + |
| 285 | +- Stephen Gallagher (1): |
| 286 | + - Fix build failure against samba 4.12.0rc1 |
| 287 | + |
| 288 | +- Sumit Bose (23): |
| 289 | + - ldap_child: do not try PKINIT |
| 290 | + - certmap: mention special regex characters in man page |
| 291 | + - ad: allow booleans for ad_inherit_opts_if_needed() |
| 292 | + - ad: add ad_use_ldaps |
| 293 | + - ldap: add new option ldap_sasl_maxssf |
| 294 | + - ad: set min and max ssf for ldaps |
| 295 | + - ssh: do not mix different certificate lists |
| 296 | + - ssh: add 'no_rules' and 'all_rules' to ssh_use_certificate_matching_rules |
| 297 | + - p11_child: check if card is present in wait_for_card() |
| 298 | + - PAM client: only require UID 0 for private socket |
| 299 | + - ssh: fix matching rules default |
| 300 | + - ipa: add missing new-line in debug message |
| 301 | + - sysdb: sanitize certmap rule name before using it in DN |
| 302 | + - confdb: use proper timestamp if sssd.conf is missing |
| 303 | + - sudo: fix ldap_sudo_include_regexp default |
| 304 | + - ad: use GSSAPI with LDAPS |
| 305 | + - ad: change SASL mech default to GSS-SPNEGO |
| 306 | + - ad: make GSS-SPNEGO maxssf=0 workaround configurable |
| 307 | + - krb5: do not cache ccache or password during preauth |
| 308 | + - pam: add option pam_initgroups_scheme |
| 309 | + - pam: use pam_initgroups_scheme |
| 310 | + - cache_req: no refresh with CACHE_REQ_BYPASS_PROVIDER |
| 311 | + - pam: make sure initgr cache is not created twice |
| 312 | + |
| 313 | +- Thorsten Scherf (2): |
| 314 | + - Fix sssd-ldap man page |
| 315 | + - add reference to sss_obfuscate man page |
| 316 | + |
| 317 | +- Tomas Halman (3): |
| 318 | + - sdap: Add randomness to ldap connection timeout |
| 319 | + - INI: sssctl config-check command error messages |
| 320 | + - SYSDB: override_gid not working for subdomains |
| 321 | + |
| 322 | +- Yuri Chornoivan (1): |
| 323 | + - sssctl: fix typo in user message |
| 324 | + |
| 325 | +- ikerexxe (3): |
| 326 | + - config: allowed auto_private_groups in child domains |
| 327 | + - man: in sssd-ipa clarified trusted domains section |
| 328 | + - ipa_auth and krb5_auth: when providing wrong password return PAM_AUTH_ERR |
0 commit comments