=== SSSD 1.12 Beta 1 ===
The SSSD team is proud to announce the beta release of version 1.12 of the System Security Services Daemon.
This beta release includes several new features, notably a public DBus API, an ID-mapping plugin for cifs-utils and a first milestone of the GPO access control support.
As always, the source is available from https://fedorahosted.org/sssd. RPM packages will be made available for Fedora rawhide shortly.
The SSSD 1.12 Beta 2 release is scheduled for next week. Our goal is to include several patches currently pending review and finish string changes before declaring String Freeze. After the Beta 2 release, the development will refocus to bug fixing in preparation for the 1.12 final release.
== Feedback ==
Please provide comments, bugs and other feedback via the sssd-devel or sssd-users mailing lists: https://lists.fedorahosted.org/mailman/listinfo/sssd-devel https://lists.fedorahosted.org/mailman/listinfo/sssd-users
== Highlights ==
* A new responder, called InfoPipe was added. This responder provides a public D-Bus interface accessible over the system bus. In this release, methods for retrieving user attributes and list of groups were added as well as objects representing SSSD domains and processes. The next 1.12.x releases will publish objects representing users and groups, too. * SSSD provides an ID-mapping plugin for cifs-utils so that Windows SIDs can be mapped onto POSIX IDs and/or names without requiring Winbind and using the same code as the SSSD uses for identity information. * Added a new library called sss_sifp that provides a simple synchronous API for communication with our new InfoPipe responder over the system bus. * journald can now be used to store debug logs. The journald support is not enabled by default. In order to enable it, compile SSSD with --with-syslog=journald. * First phase of Group Policy-based access control for the AD provider was added. At the moment, the gpo-ldap component that downloads the list of GPOs that apply for the specific client has been implemented. The gpo-smb component that retrieves the group policy files and determines the access control check results based on those files is expected to be implemented in one of the next 1.12.x releases
== Packaging Changes ==
* The sssd_sifp library and the InfoPipe responder are packaged in their own subpackages
== Documentation Changes ==
* The new InfoPipe responder has several configuration options. Refer to the sssd-ifp manual page for details. * A new option offline_timeout was added. This option allows the administrator to configure how often should SSSD attempt to reconnect when in offline mode * The LDAP provider has a new option ldap_user_extra_attrs that enables the administrator to extend the map of attributes downloaded when looking up a user. These custom attributes can then be retrieved with the new DBus API. * The automounter master map name can now be configured with a new option ldap_autofs_map_master_name * A new option ad_gpo_access_control is available to let the user configure the behaviour of the GPO access control feature.
== Tickets Fixed ==
https://fedorahosted.org/sssd/ticket/1096 Clock skew in krb5 auth should result in offline operation, not failure https://fedorahosted.org/sssd/ticket/1187 Delete IPA specific attribute mappings from man page https://fedorahosted.org/sssd/ticket/1366 [RFE] Optimize RFC2307bis lookups when user and group search bases do not overlap https://fedorahosted.org/sssd/ticket/1451 Update manpage with the minimal value expected for ldap_idmap_range_size https://fedorahosted.org/sssd/ticket/1585 [RFE] Add a check to pam_sss to ensure that authtok_type=SSS_AUTHTOK_TYPE_PASSWORD is \0 terminated https://fedorahosted.org/sssd/ticket/1718 Offline mode timeout not documented https://fedorahosted.org/sssd/ticket/1866 SSSD changes primary creds on authentication https://fedorahosted.org/sssd/ticket/1885 Use a shorter retry timeout for SRV queries in cases the query cannot be resolved (negative timeout) https://fedorahosted.org/sssd/ticket/1918 Undocument and deprecate ipa_hbac_support_srchost https://fedorahosted.org/sssd/ticket/1923 Create tickets to track unit test enhancements https://fedorahosted.org/sssd/ticket/2022 Review Fedora 20 system wide changes and file corresponging tickets if they affect SSSD https://fedorahosted.org/sssd/ticket/2024 Create unit test for nested groups https://fedorahosted.org/sssd/ticket/2037 nondescriptive error message when ccache directory has wrong permissions https://fedorahosted.org/sssd/ticket/2040 Enable ad_compat sasl option https://fedorahosted.org/sssd/ticket/2061 ccache mangament simplification https://fedorahosted.org/sssd/ticket/2072 [RFE] Provide an experimental DBus responder to retrieve custom attributes from SSSD cache https://fedorahosted.org/sssd/ticket/2073 [RFE] Extend the LDAP backend to retrieve extended set of attributes https://fedorahosted.org/sssd/ticket/2084 check for active sessions not troll proc for uids https://fedorahosted.org/sssd/ticket/2094 find uid tests fail https://fedorahosted.org/sssd/ticket/2097 Build library libsss_test_common in test phase https://fedorahosted.org/sssd/ticket/2125 cifsidmap support should be optional https://fedorahosted.org/sssd/ticket/2162 [RFE] warn to syslog if an unresponsive subprocess is terminated https://fedorahosted.org/sssd/ticket/2171 Do not start multiple backends for the same domain https://fedorahosted.org/sssd/ticket/2179 Sssd dyndns update fails for addresses from different networks https://fedorahosted.org/sssd/ticket/2195 [RFE] Send debug logs to journald by default https://fedorahosted.org/sssd/ticket/2198 remove unused tmp_ctx in async_resolv.c https://fedorahosted.org/sssd/ticket/2210 convert ad_account_can_shortcut to returning boolean https://fedorahosted.org/sssd/ticket/2225 PO files changed during build https://fedorahosted.org/sssd/ticket/2227 [RFE] Expose domain object over DBus https://fedorahosted.org/sssd/ticket/2234 autogenerate introspection https://fedorahosted.org/sssd/ticket/2254 [RFE] Create a library to simplify usage of D-Bus responder https://fedorahosted.org/sssd/ticket/2258 [src/providers/krb5/krb5_common.c:418] -> [src/providers/krb5/krb5_common.c:418]: (style) Same expression on both sides of '||'. https://fedorahosted.org/sssd/ticket/2288 sssd is crashing after several quick invokes of automount -m https://fedorahosted.org/sssd/ticket/2290 The DBus responder should not spawn a client socket https://fedorahosted.org/sssd/ticket/2291 make distcheck fails https://fedorahosted.org/sssd/ticket/2304 refactor splitting the selinux priority list https://fedorahosted.org/sssd/ticket/2313 consider going offline on KRB5KRB_ERR_GENERIC error instead of System Error https://fedorahosted.org/sssd/ticket/2319 provide a compatible definition of ck_assert_uint_eq https://fedorahosted.org/sssd/ticket/2321 daemon FAILS to start with config file set to mode 400 https://fedorahosted.org/sssd/ticket/2331 sssd should also filter out S-1-18
== Detailed Changelog ==
Please note this detailed changelog contains only changes since the latest stable version 1.11.5.1.
Alexander Bokovoy (2): * ipa subdomains provider: make sure search by SID works for homedir * well known sids: Windows Server 2012 new asserted identity SIDs
Benjamin Franzke (3): * Add CIFS idmap plugin * BUILD: Use OPENLDAP_CFLAGS instead of LDAP_CFLAGS * BUILD: Link libsss_krb5_common.so to libkeyutils.so
Chris Leick (1): * German translation update
Cove Schneider (1): * Add ldap_autofs_map_master_name option
Jakub Hrozek (86): * Bump version to track 1.12 development * Add journald support * BE: Log domain name to journald if available * MAN: Fix provider man page subtitle * LDAP: Deprecate ldap_{user,group}_search_filter * Check return values of setenv and unsetenv * MAN: Fix refsect-id * Include external headers with #include <foo.h> * Remove unused constants * IPA: Do not enable IPA sites in server mode * Remove duplicate declaration * UTIL: Move sss_parse_name_for_domains declaration to util.h * NSS: Use new safealign macros in NSS responder * UTIL: Free log message when using journald * Remove unused variable * PAC: Free config attribute when it's processed * Merge ipa_selinux_common.c and ipa_selinux.c * SYSDB: Drop the sysdb_ctx parameter from the autofs API * SYSDB: Drop the sysdb_ctx parameter from SELinux functions * SYSDB: Drop the sysdb_ctx parameter from the sysdb_idmap module * SYSDB: Drop the sysdb_ctx parameter from the sysdb_sudo.c module * KRB5: Go offline in case of clock skew * MAN: Add a link explaining different LDAP scopes * MAN: Remove unused experimental file * NSS: Compare bool with false, not 0 * Fix a trivial typo * LDAP: Fix a debug message * NSS: Fix DEBUG formatting of cmdctx->id * DEBUG: Fix build without journald * NSS: Continue if there is no port * Fix DEBUG message formatting * IFP: Fix a typo in the Makefile * IFP: Re-add the InfoPipe server * IFP: Connect to the system bus * tests: Don't set the check fork mode explicitly * SBUS: Generate introspection from the interface meta structure * ConfigAPI: Add two missing AD options * Add a unit test for sss_parse_name_for_domains * Minor fixes for sss_parse_name_for_domains * SBUS: Create an sbus_method_meta instance for Introspection * RESPONDER: Fix a wrong DEBUG message * DP: Remove unused 'force' parameter from the subdomain handler * TESTS: Create a default sss_names_ctx in create_dom_test_ctx * TESTS: Split a separate common_mock_resp_dp module * RESPONDERS: Add a new request sss_parse_inp_send * KRB5: Print a verbose error message on failure reading the keytab * LDAP: Fix off-by-one bug in sdap_copy_opts * LDAP: Make it possible to extend an attribute map * IFP: Close memstream handle in introspect destructor * LDAP: Check the LDAP handle before using it * SBUS: several trivial style fixes * SBUS: Fix error handling condition * SBUS: Add a convenience function sbus_error_new * SBUS: Split out dbus_conn_send * SBUS: Add SBUS_CONN_TYPE_SYSBUS * SBUS: Add an async request to retrieve the caller ID * SBUS: Refactor sbus_message_handler to retrieve caller ID * IFP: Add utility functions * IFP: use a list of allowed_uids for authentication * IFP: Initialize negative cache timeout * IFP: Add GetUserAttrs call * AD: Do not remove non-root domains when looking up root domain * IFP: Per-attribute ACL for users * SBUS: Allow registering paths with fallback * SYSDB: return SYSDB_NAME from sysdb_initgroups * IFP: Add a GetGroupsList method * AD: Initialize user_map_cnt in server mode * IFP: Add utility functions to escape and unescape object paths * IFP: Add a unit test for ifp_reply_objpath * SBUS: Utility function sbus_request_return_as_variant * IFP: Allow Set, Get and GetAll from DBus.Properties * SBUS: Implement org.freedesktop.DBus.Properties.Get for primitive types * SBUS: Return / if an object path getter returns NULL * SBUS: Add several error constant definitions * SBUS: Add org.freedesktop.DBus.Properties.Get to Introspection * IFP: Support multiple interfaces on sysbus * SBUS: Add utility function sbus_add_variant_to_dict * SBUS: Consolidate VTABLE_FUNC definitions in sssd_dbus_meta.h * SBUS: Implement org.freedesktop.DBus.Properties.GetAll for primitive types * SBUS: Add org.freedesktop.DBus.Properties.GetAll to Introspection * TESTS: check allocation result * TESTS: check dbus mock result * IFP: Add ListDomains and FindDomainByName * tests: Add test for confdb_list_all_domain_names * tests: Add test for get_known_services * BUILD: Disable dbus tests when running distcheck
Lukas Slebodnik (106): * Add missing new line in DEBUG message * RESPONDER: Use right function prototype * Revert "mmap_cache: Skip records which doesn't have same hash" * mmap_cache: Use two chains for hash collision. * Include right header file * Include header file in implementation module. * IPA: Remove unused memory context. * BUILD: Explicitly link libsss_ad.so with sasl libs * BUILD: Change error message if missing cifsimap.h * monitor: return right error code * TESTS: Remove test dir after successful tests * Remove unused parameter from sss_selinux_extract_user * Remove unused parameter from get_user_dn * Remove unused parameter from sdap_save_user * Remove unused parameter from sdap_get_members_with_primary_gid * Remove unused parameter from sdap_store_group_with_gid * Remove unused parameter from sdap_add_group_member_2307 * Remove unused parameter from sdap_process_missing_member_2307 * Remove unused parameter from sdap_save_netgroup * Remove unused parameter from krb5_auth_cache_creds * Remove unused parameter from krb5_auth_store_creds * Remove unused parameter from mod_groups_member * Remove unused parameter from usermod * Remove unused parameter from groupmod * Remove unused parameter from useradd * Remove unused parameter from groupadd * Remove unused parameter from invalidate_entry * Remove unused parameter from search_autofsmaps * Remove unused parameter from seed_domain_user_info * Remove unused parameter from sudosrv_get_sudorules_query_cache * Remove unused parameter from delete_user * Remove unused parameter from save_user * Remove unused parameter from save_netgroup * Remove unused memory context in proxy * Remove unused parameter from ipa_save_netgroup * Remove unused parameter from group_show_mpg * Remove unused parameter from group_show_trim_memberof * AUTOMAKE: Don't build libsss_test_common every time * SYSDB: Sanitize filter before sysdb_search_groups * SYSDB: Sanitize filter before removing ghost attrs * TESTS: Fix build with older version of check framework * TESTS: Fix authtok test for zero length string. * CLIENT: Remove unused macros * AD: Remove unused memory contexts * memberof: Removed unused parameter from mbof_fill_vals_array. * Makefile: Remove unused libraries * test_dyndns: Test right variable after allocation. * IPA: explicitly link libsss_ipa with selinux library * Translation: Move german translation to right directory * SPEC: Fix packaging rpms on OSes without systemd * DEBUG: Fix crash after fallback from journal log * Fix warning unused variable ap_fallback * KRB5: Fix condition for empty string * NSS: Fix warning access array with index then check * TEST: Fix warning invalid printf argument type * Remove unused structures. * TEST: Use unique directory for negcache test * PAM: Test return value of strdup * TEST: Remove unused argument sysdb_path * TEST: Use right domain name in negcache test * TEST: Do not clean up if test fail. * hbac-test: Use defined macros instead of strings * TESTS: Remove unused macros * KRB: Prevent dereference of a null pointer * UTIL: Hide implementation details about unicode libraries. * Use pattern #elif defined(identifier) * BUILD: Enable additional compiler warnings * AUTOFS: terminate array after the last entry * krb5_child: Remove unused krb5_context from set_changepw_options * Remove unused argument from resolv_gethostbyname_dns_parse * Fix warning zero-length gnu_printf format string * krb5_child: Fix use after free in debug message * BUILD: Link libsss_ldap_common.so to libsss_idmap.so * BUILD: Move file find_uid.c into libsss_util.so * BUILD: Move file sss_krb5.c into libsss_krb5_common.so * BUILD: Move duplicated files from providers to libsss_ldap_common.so * TEST: Add untested libraries into dlopen test * TEST: Some macros aren't defined in older version of check. * CRYPTO: Fix access to uninitialized data * SPEC: Remove duplicate sssd_ifp. * TEST: Link ipa_ldap_opt test with openldap libs * UTIL: Use constant instead of value for stdin. * MONITOR: Fix start up with empty standard input * SPEC: Add libsss_ad_common.so to the package sssd-ad * TEST: Refactor test_io * BUILD: Make samba4 libraries optional * SBUS: Fix warning declaration shadows a global declaration * PAM: Fix problem with missing declaration. * PAM: macro PAM_DATA_REPLACE isn't available in openpam. * CRYPTO: Use unprefixed version of function stpncpy * CONFIGURE: Remove duplicate detection of pam * Remove unused parameter from ifp_user_get_attr_handle_reply * Remove unused parameter from ifp_user_get_groups_reply * resolv: Do not try to free addrinfo in case of error * AUTOCONF: Move detection of samba libraries to one file * SBUS: Define DBUS_ERROR_INIT for old version of dbus * SBUS: Include config.h for enabling function in stdio.h * UTIL: Fix order of header files. * LDAP: Don't use macro _XOPEN_SOURCE for extra features * UTIL: Include netinet/in.h for ip adress macros * TEST: Test empty results from functions sysdb_search_* * sss_autofs: Check return value of autofs make request * sss_autofs: Do not try to free empty autofs context * Don't use macro _XOPEN_SOURCE for function strptime * TEST: Add libsss_simpleifp.so to dlopen test * man: Substitute entity values for entity references
Michal Zidek (25): * nss: Wrong debug message. * util: Add functions to check if IP addresses is special * dyndns: Use check_ipvX_addr functions * sdap_async_sudo_hostinfo.c: Use check_ipvX_addr * tests: Silence alignment warning in tests. * responder: Access packet header using SAFEALIGN macros. * confdb: Make offline timeout configurable * SYSDB: Drop the sysdb_ctx parameter from the sysdb_search module * SYSDB: Drop the sysdb_ctx parameter from the sysdb_services module * SYSDB: Drop the sysdb_ctx parameter from the sysdb_ssh module * SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 1) * SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 2) * SYSDB: Drop redundant sysdb_ctx parameter from sysdb.c * sss_client: Use SAFEALIGN_SETMEM_<type> macros where appropriate. * krb5: Alignment warning reported by clang * monitor: Stop using unnecessary helper pointer. * Missing parameter name in declaration. * Fix parameter name. * sss_client: Use SAFEALIGN_COPY_<type> macros where appropriate. * responder: Use SAFEALIGN macro when checking pam data validity. * Properly align buffer when storing pointers. * responder: Use SAFEALIGN macros where appropriate. * Remove dead code from ipa_get_selinux_recv * mmap: Get errno when unlink fails * ipa_selinux: Put SELinux map order related variables into structure
Nikolai Kondrashov (20): * dyndns: Update PTR records separately * Add cscope inverted index files to .gitignore * Update debug levels in sss_semanage_error_callback * Move DEBUG macro body to debug_fn * Remove extra flushing from debug message output * Cleanup debug_fn * Make DEBUG macro definition variadic * Make DEBUG macro invocations variadic * Fixup DEBUG macro invocations update * Update DEBUG* invocations to use new levels * Update debug level in sysdb_check_upgrade_02 * Remove DEBUG macro support for old debug levels * Use HW instead of processor name as build arch * Use functions, not aliases in bashrc_sssd * Handle unbound variables in bashrc_sssd * Clarify CFLAGS handling in bashrc_sssd * Remove --with-distro-version * build: Don't assume systemd implies journald * build: List test extensions * build: Switch to AM_DISTCHECK_CONFIGURE_FLAGS
Ondrej Kos (2): * MAN: Remove IPA specific LDAP settings * IPA: Deprecate ipa_hbac_support_srchost option
Pallavi Jha (5): * added null checks to authtok module * permament is corrected to permanent * cmocka unit test for authtok module added * Unit-test-for-negcache-module-added * cmocka-unit-test-for-functions-getpwuid*-added
Pavel Březina (37): * resolv_gethostbyname_dns_parse(): remove tmp_ctx * sdap: move non async functions from sdap_async.c to sdap_utils.c * sdap: move non async functions from sdap_async_connection.c to sdap_utils.c * sdap: move sdap_get_id_specific_filter() to sdap_utils.c * ldap: move options related content from ldap_common.c to ldap_options.c * ldap: move domain related content from ldap_common.c to sdap_domain.c * make make_realm_upper_case() static * tests: add confdb_path to sss_test_ctx * tests: mock SDAP * tests: mock sysdb users and groups * tests: prepare makefile for provider related unit tests * tests: new macro sss_will_return_always * tests: nested groups unit test * tests: don't print debug message when test dir does not exist * ad_account_can_shortcut(): return bool instead of errno * IFP: do not create client socket * sbus_tests: fix missing invoker in initializer * sbus request: fix error initialization * SBUS: remove unused variables * sss_config: the code * sss_config: build * sss_config: unit tests * sss_config: build only when IFP is allowed * IFP: Add a utility function to reply with an object path * SBUS: Utility function sbus_request_return_array_as_variant * SBUS: Return empty string if a string getter returns NULL * SBUS: Add utility function sbus_add_array_as_variant_to_dict * IFP: Implement domain getters * confdb: add confdb_list_all_domain_names() * utils: add get_known_services() * IFP: Implement SSSD components * sss_sifp: introduce API * sss_sifp: implement API * sss_sifp: build * sss_sifp: unit tests * sss_sifp: add support for string dictionary * sss_sifp: add shortcuts for common use cases
Pavel Reichl (27): * Include ext headers with #include <foo.h> - cont * monitor: use-after-free bugfix * monitor: monitor_kill_service - refactor * monitor: memory-leak bug * monitor: syslog when process killed by monitor * SYSDB: typos & debug macro constants * SYSDB: missing conversion of LDB error to errno * SYSDB: simplification of condition in if statement * CONFDB: fail if there are domains with same name * MAN: new general options section * MAN: Option name typo in sssd-krb5 * refactor calls of sss_parse_name * KRB5: log message - wrong permissions on ccache dir * MAN: minimal value expected for ldap_idmap_range_size * PAC: fix clang warning * failover: Shorter retry time for failed SRV * SDAP: augmented logging for group saving * KRB: do not check ccache directory for GID * KRB5: Go offline in case of generic error * Monitor: fix message wrong perm. mode on config file * util: Fix 'wrong mode' debug message * AD Provider: bug-fix uninitialized variable * AD Provider: bugfix use-after-free * TEST: Remove unused variable * TEST: fix warning in sbus_codegen_tests * TEST: unused variable * TEST: simple_access & sysdb tests - cleanup
Simo Sorce (7): * util: Use systemd-login to check user sessions * util: Allways fall back to old find_uid method * Signals: Remove unused functions * Signals: Remove empty sig_hup * Signals: Refactor termination of processes * util: Change file check fns to use a mode mask * confdb: Change file checks for config file
Stef Walter (18): * Update .gitignore for 'make check' built files * util: Fix const cast failures when building with -Werror * util: A safe printf for user provided format strings * NSS: Don't use printf(3) on user provided strings. * sbus: Add meta data structures and code generator * sbus: Add sbus_vtable and update codegen to support it * nss: Stop using one DBus interface with totally different methods * sbus: Rework sbus to use interface metadata and vtables * sbus: Generate constants from interface definitions * sbus: Use constants to make dbus calls * sbus: Add struct sbus_request to represent a DBus invocation * sbus: Refactor how we export DBus interfaces * sbus: Make sbus_new_server() work for non-priveleged processes * sbus_tests: Add some testing of dispatch and handler code * sbus: Add the sbus_request_parse_or_finish() method * sbus: Add type-safe DBus method handlers and finish functions * sbus_codegen_tests: Add test case type-safe handler args * SBUS: Start implementing property access
Stephen Gallagher (4): * DEBUG: Allow debug_fn to process __FILE__ and __LINE__ * DEBUG: Enable sending structured debug logs to journald * BUILD: Build with journald support by default on Fedora * BUILD: Simplify enabling journald on installed systems
Sumit Bose (19): * Do not set HAVE_SYSTEMD_LOGIN if libsystemd-login is not available * Spec file changes for cifs-utils plugin * Enhance/add unit tests for find_subdomain_by_sid/name * Replace prog_DEPENDENCIES with EXTRA_prog_DEPENDENCIES * Add sss_packet_get_status() * sss_names_init: allow empty domain name * nss: save global name configuration to the nss context * Add sss_tc_fqname2() * Add utility to handle Well-Known SIDs * nss-srv-tests: check packet status * nss: check for Well-Known SIDs in SID based requests * Update CIFS plugin for Well-Known SID support * rfc2307bis_nested_groups_send: reuse search base * config API: read only specific files from schemaplugindir * config API: prepend source dir search path for tests * krb5_child: remove unused option lifetime_str from k5c_setup_fast() * krb5-child: extract lifetime settings into set_lifetime_options() * Make LDAP extra attributes available to IPA and AD * contrib: add BuildRequires libsmbclient-devel to spec file
Yassir Elley (4): * ad_access_filter man page typo * Implemented LDAP component of GPO-based access control * AD-GPO: Remove dependency on libsamba-security * AD-GPO: add libsmbclient to makefiles