History log of /sssd/src/providers/ldap/sdap_async_groups.c
Revision Date Author Comments Expand
538a7f1dd8339b90e0cfc64e7919a34d1d5c10d3 16-Nov-2016 Jakub Hrozek <jhrozek@redhat.com>

Qualify ghost user attribute in case ldap_group_nesting_level is set to 0 When the sssd is set to not resolve nested groups with RFC2307bis, then the LDAP provider takes a different path. We didn't qualify the ghost users in this case. Resolves: https://fedorahosted.org/sssd/ticket/3236 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

e0903f41922721edf292a9f7e6605a4519db53a1 14-Oct-2016 Sumit Bose <sbose@redhat.com>

LDAP: Removing of member link from group Resolves: https://fedorahosted.org/sssd/ticket/2940 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

9b3f22f8f9c622b6b5b091d3d2ce1da4e400cfd0 05-Aug-2016 Lukas Slebodnik <lslebodn@redhat.com>

SDAP: sysdb_search_users does not set users_count for failures ==32577== Conditional jump or move depends on uninitialised value(s) ==32577== at 0x140DCE10: sdap_process_missing_member_2307 (sdap_async_groups.c:1556) ==32577== by 0x140DCE10: sdap_process_group_members_2307 (sdap_async_groups.c:1625) ==32577== by 0x140DCE10: sdap_process_group_send (sdap_async_groups.c:1298) ==32577== by 0x140DCE10: sdap_get_groups_process (sdap_async_groups.c:2130) ==32577== by 0x140CFDA8: generic_ext_search_handler.isra.3 (sdap_async.c:1688) ==32577== by 0x140D2416: sdap_get_generic_op_finished (sdap_async.c:1578) ==32577== by 0x140D0DFC: sdap_process_message (sdap_async.c:353) ==32577== by 0x140D0DFC: sdap_process_result (sdap_async.c:197) ==32577== by 0x8BF1B4E: tevent_common_loop_timer_delay (tevent_timed.c:341) ==32577== by 0x8BF2B59: epoll_event_loop_once (tevent_epoll.c:911) ==32577== by 0x8BF1256: std_event_loop_once (tevent_standard.c:114) ==32577== by 0x8BED40C: _tevent_loop_once (tevent.c:533) ==32577== by 0x8BED5AA: tevent_common_loop_wait (tevent.c:637) ==32577== by 0x8BF11F6: std_event_loop_wait (tevent_standard.c:140) ==32577== by 0x529DD02: server_loop (server.c:702) ==32577== by 0x110951: main (data_provider_be.c:587) Resolves: https://fedorahosted.org/sssd/ticket/3121 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

44bfef483dd90d17f550f603055c2c853f6fe86f 05-Aug-2016 Lukas Slebodnik <lslebodn@redhat.com>

SDAP: sanitize member name before using in filter It caused an errors. (Tue Aug 2 06:29:39 2016) [sssd[be[LDAP]]] [sysdb_cache_search_users] (0x2000): Search users with filter: (&(objectclass=user)(nameAlias=t(u)ser@ldap)) (Tue Aug 2 06:29:39 2016) [sssd[be[LDAP]]] [sysdb_cache_search_users] (0x0080): Error: 5 (Input/output error) Resolves: https://fedorahosted.org/sssd/ticket/3121 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

147bb3266aa9238c771c3c40d130eaa48eae1752 07-Jul-2016 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Use FQDNs when saving incomplete groups Even incomplete groups must be stored using the internal name format instead of whatever we receive from LDAP. Reviewed-by: Sumit Bose <sbose@redhat.com>

3931c6612fae5ad32ad81a59f77d77c2d896ebe1 07-Jul-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Add a utility function to return a list of qualified names Adds a utility function the LDAP provider can use. This is different from sss_create_internal_fqname_list in the sense that the LDAP provider passes in the attribute name that contains the name attribute value. Reviewed-by: Sumit Bose <sbose@redhat.com>

5475aa2616eda5ceaa1875610f9d9ce8c239b5cd 07-Jul-2016 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Convert RFC2307 member attribute values to FQDN-style ghostnames before acting on them Ghostnames must be qualified as well, same as all other name attributes across SSSD. The ghost names are used by the NSS responder during getgr* output and the domain name parsed from the name is used in the output. Reviewed-by: Sumit Bose <sbose@redhat.com>

7cc19286547260350afed9ef7176712f8fc66652 07-Jul-2016 Michal Zidek <mzidek@redhat.com>

SDAP: Save user and group aliases qualified When saving users or groups, qualify their names. Otherwise (currently netgroups), store a plain username. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

630f3ff08c1d17c7900b9bde814922f775ca2703 10-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Decorate the hot paths in the LDAP provider with systemtap probes During performance analysis, the LDAP provider and especially its nested group code proved to be the place where we spend the most time during account requests. Therefore, I decorated the LDAP provider with systemtap probes to be able to observe where the time is spent. The code allows passing of search properties (base, filter, ...) from marks to probes. Where applicable, the probes pass on these arguments to functions and build a human-readable string representation. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

fe8e6094081dfc1d1f6f5db7073c62eb3a83d5ca 09-May-2016 Jakub Hrozek <jhrozek@redhat.com>

Make sdap_process_group_send() static Reviewed-by: Petr Cech <pcech@redhat.com>

c32266e79f9d4bebd0c31eaa8d6fa26050e7fb3e 24-Feb-2016 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Use the IPA provider interface to resolve external group members Resolves: https://fedorahosted.org/sssd/ticket/2522 Currently the approach is not optimized for performance, because each external member is resolved in a full transaction to make sure even ID views and similar information is processed. In future, we should implement https://fedorahosted.org/sssd/ticket/2943 we will again be able to process all the data in a single transaction. Reviewed-by: Sumit Bose <sbose@redhat.com>

92ec40e6aa25f75903ffdb166a8ec56b67bfd77d 19-Jan-2016 Pavel Březina <pbrezina@redhat.com>

SDAP: rename sdap_get_id_specific_filter More generic name is used now since it is not used only for id filters. Probably all references will be deleted when the code uses sdap_search_in_bases istead of custom search base iterators. Reviewed-by: Sumit Bose <sbose@redhat.com>

0c1fe8a15cced95e8451ad4c9260c5e4ecca45f1 06-Jan-2016 Sumit Bose <sbose@redhat.com>

sdap_save_grpmem: determine domain by SID if possible Resolves https://fedorahosted.org/sssd/ticket/2910 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

cc1370dab6de99e50ac41126b500382f0aaa73ae 06-Jan-2016 Sumit Bose <sbose@redhat.com>

Use right domain for user lookups Related to https://fedorahosted.org/sssd/ticket/2910 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

d432482627dc6dd67d44df4f1debcc21448fd6e5 27-Nov-2015 Sumit Bose <sbose@redhat.com>

ldap: skip sdap_save_grpmem() if ignore_group_members is set Related to https://fedorahosted.org/sssd/ticket/2868 Reviewed-by: Pavel Reichl <preichl@redhat.com>

3fa03d5816d6a401d8e894b77236d3cfd95dbd96 02-Oct-2015 Pavel Reichl <preichl@redhat.com>

SDAP: fix minor memory leak Reviewed-by: Pavel Březina <pbrezina@redhat.com>

fb83de0699b16e7d8eca803305e2112795807b4c 22-Sep-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Filter out multiple entries when searching overlapping domains In case domain overlap, we might download multiple objects. To avoid saving them all, we attempt to filter out the objects from foreign domains. We can only do this optimization for non-wildcard lookups. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

67625b1b4f856510bf4e169649b3fb30c2c14152 22-Sep-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: imposing sizelimit=1 for single-entry searches breaks overlapping domains https://fedorahosted.org/sssd/ticket/2723 In case there are overlapping sdap domains, a search for a single user might match and return multiple entries. For instance, with AD domains represented by search bases: DC=win,DC=trust,DC=test DC=child,DC=win,DC=trust,DC=test A search for user from win.trust.test would be based at: DC=win,DC=trust,DC=test but would match both search bases and return both users. Instead of performing complex filtering, just save both users. The responder would select the entry that matches the user's search. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

b9e74a747b8f1012bba3575f3e4289ef4877d64a 15-Jul-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Add the wildcard_limit option Related: https://fedorahosted.org/sssd/ticket/2553 Adds a new wildcard_limit option that is set by default to 1000 (one page). This option limits the number of entries that can by default be returned by a wildcard search. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

1f2fc55ecf7b5e170b2c0752304d1a2ecebc5259 15-Jul-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Add sdap_lookup_type enum Related: https://fedorahosted.org/sssd/ticket/2553 Change the boolan parameter of sdap_get_users_send and sdap_get_groups_send to a tri-state that controls whether we expect only a single entry (ie don't use the paging control), multiple entries with a search limit (wildcard request) or multiple entries with no limit (enumeration). Reviewed-by: Pavel Březina <pbrezina@redhat.com>

5b2ca5cc0e22dd184e3eba84af2c00d7065c59c7 15-Jul-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Use sdap_get_and_parse_generic_/_recv Related: https://fedorahosted.org/sssd/ticket/2553 Using the new request sdap_get_and_parse_generic_send is a separate commit so that we can audit where the function is used during a code review. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

305267064a9d8c86536fcd5c92c1c9cb3e7df268 11-May-2015 Sumit Bose <sbose@redhat.com>

SDAP: use DN to update entry sdap_nested_group_populate_users() has code to handle user name changes. It updates the SYSDB_NAME attribute. This attribute is also used in the RDN but changing the attribute in the object does not change the DN hence the DN still contains the old name. Currently sysdb_set_user_attr() was used to update the entry which creates the DN based on the give name. This will fail if the name is changed for a second time. Since the DN is already available in the search result it is more reliable to use it directly with sysdb_set_entry_attr(). Related to https://fedorahosted.org/sssd/ticket/2591 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

bad2fc8133d941e5a6c8d8016c9689e039265c61 14-Apr-2015 Lukas Slebodnik <lslebodn@redhat.com>

SDAP: Extract filtering AD group to function Patch remove code duplication. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

5d864e7a9d0e1e6fb7dd8158c5b8bfb71040b908 14-Apr-2015 Lukas Slebodnik <lslebodn@redhat.com>

SDAP: Do not set gid 0 twice The gid o was added to sysdb attrs directly in sdap_save_group for 1st time and for second time in the function sdap_store_group_with_gid, which was called every time from function sdap_save_group [sysdb_set_entry_attr] (0x0080): ldb_modify failed: [Attribute or value exists](20)[attribute 'gidNumber': value #1 on 'name=domainlocalgroup1_dom2-493341@sssdad_tree.com,cn=groups,cn=sssdad_tree.com,cn=sysdb' provided more than once] [sysdb_set_entry_attr] (0x0040): Error: 17 (File exists) [sysdb_store_group] (0x1000): sysdb_set_group_attr failed. [sysdb_store_group] (0x0400): Error: 17 (File exists) [sdap_store_group_with_gid] (0x0040): Could not store group domainlocalgroup1_dom2-493341@sssdad_tree.com [sdap_save_group] (0x0080): Could not store group with GID: [File exists] [sdap_save_group] (0x0080): Failed to save group [domainlocalgroup1_dom2-493341@sssdad_tree.com]: [File exists] [sdap_save_groups] (0x0040): Failed to store group 0. Ignoring. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

ef9ca5848ea08aafa0827f5d2922d49130ba324d 23-Mar-2015 Pavel Reichl <preichl@redhat.com>

LDAP: remove unused code Also fix debug message. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

1d93029624d708119bbf803e6647a2cbb271f001 20-Mar-2015 Sumit Bose <sbose@redhat.com>

sdap: properly handle binary objectGuid attribute Although in the initial processing SSSD treats the binary value right at some point it mainly assumes that it is a string. Depending on the value this might end up with the correct binary value stored in the cache but in most cases there will be only a broken entry in the cache. This patch converts the binary value into a string representation which is described in [MS-DTYP] and stores the result in the cache. Resolves https://fedorahosted.org/sssd/ticket/2588 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

d81d8d3dc151ebc95cd0e3f3b14c1cdaa48980f1 17-Mar-2015 Sumit Bose <sbose@redhat.com>

LDAP/AD: do not resolve group members during tokenGroups request During initgroups requests we try to avoid to resolve the complete member list of groups if possible, e.g. if there are no nested groups. The tokenGroups LDAP lookup return the complete list of memberships for a user hence it is not necessary lookup the other group member and un-roll nested groups. With this patch only the group entry is looked up and saved as incomplete group to the cache. This is achieved by adding a new boolean parameter no_members to groups_get_send() and sdap_get_groups_send(). The difference to config options like ldap_group_nesting_level = 0 or ignore_group_members is that if no_members is set to true groups which are missing in the cache are created a incomplete groups. As a result a request to lookup this group will trigger a new LDAP request to resolve the group completely. This way no information is ignored but the time needed to read all data is better distributed between different requests. https://fedorahosted.org/sssd/ticket/2601 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

6fac5e5f0c54a0f92872ce1450606cfcb577a920 13-Dec-2014 Pavel Reichl <preichl@redhat.com>

LDAP: retain external members When processing group membership check sysdb for group members from extern domain and include them in newly processed group membership as extern members are curently found only when initgroups() is called. Resolves: https://fedorahosted.org/sssd/ticket/2492 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com>

933326b4180b72636af84643d4811f6ad645fbe8 20-Nov-2014 Sumit Bose <sbose@redhat.com>

LDAP: always store UUID if available Related to https://fedorahosted.org/sssd/ticket/2481 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

5e195ddf368b705f674ece2faf64261f66e20c23 26-Aug-2014 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Don't add a user member twice when adding a primary group https://fedorahosted.org/sssd/ticket/2406 In the AD case, deployments sometimes add groups as parents of the primary GID group. These groups are then returned during initgroups in the tokenGroups attribute and member/memberof links are established between the user and the group. However, any update of these groups would remove the links, so a sequence of calls: id -G user; id user; id -G user would return different group memberships. Our code errored out in the rare case when the user was *also* an LDAP member of his primary group. Reviewed-by: Pavel Reichl <preichl@redhat.com>

bb755dcacd126adad8c60e8cbea11566de67affe 26-Aug-2014 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Split out linking primary group members into a separate function The function sdap_fill_memberships did several tasks. It's more readable to split linking the primary members into a separate function. Reviewed-by: Pavel Reichl <preichl@redhat.com>

b12e2500237f33c44807d7e5b377ec06007c7252 21-Jul-2014 Pavel Reichl <preichl@redhat.com>

LDAP: tokengroups do not work with id_provider=ldap With plain LDAP provider we already have a sdap_handle, so it should be possible that in the case where sdom->pvt == NULL sdap_id_op_connect_send() can be skipped and sdap_get_ad_tokengroups_send() can be already send with the sdap_handle passed to sdap_ad_tokengroups_initgr_mapping_send(). So we should only fail if sdom->pvt == NULL and sh == NULL. if find_subdomain_by_sid() failed we can check if there is only one domain in the domain list (state->domain) and in this case continue with this domain since the LDAP provider does not know about sub-domains and hence can only have one configured domain. Resolves: https://fedorahosted.org/sssd/ticket/2345 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

4d69eef4713fac8ade73739dd72f949da51382f4 15-Jul-2014 Pavel Reichl <reichl.pavel@gmail.com>

SYSDB: augmented logging when adding new group This patch adds some more log messages to functionality of storing groups into sysdb. As these functions are low level and failures are often handled on higher levels the commonly chosen level is SSSDBG_TRACE_LIBS. Resolves: https://fedorahosted.org/sssd/ticket/2239 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

c30f1d05d6c75080fbe8ea9868f291e7a331ad44 02-Jun-2014 Pavel Reichl <preichl@redhat.com>

SDAP: Make nesting_level = 0 to ignore nested groups Make ldap_group_nesting_level = 0 to ignore group nesting entirely. Resolves: https://fedorahosted.org/sssd/ticket/2294 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

4dd38025efda88f123eac672f87d3cda12f050c8 02-May-2014 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Make it possible to extend an attribute map https://fedorahosted.org/sssd/ticket/2073 This commit adds a new option ldap_user_extra_attrs that is unset by default. When set, the option contains a list of LDAP attributes the LDAP provider would download and store in addition to the usual set. The list can either contain LDAP attribute names only, or colon-separated tuples of LDAP attribute and SSSD cache attribute name. In case only LDAP attribute name is specified, the attribute is saved to the cache verbatim. Using a custom SSSD attribute name might be required by environments that configure several SSSD domains with different LDAP schemas. Reviewed-by: Simo Sorce <simo@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com>

9123c2abff5780f485764261eb4b180e9ceadf20 14-Apr-2014 Pavel Reichl <preichl@redhat.com>

SDAP: augmented logging for group saving Related: https://fedorahosted.org/sssd/ticket/2239 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

83bf46f4066e3d5e838a32357c201de9bd6ecdfd 12-Feb-2014 Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>

Update DEBUG* invocations to use new levels Use a script to update DEBUG* macro invocations, which use literal numbers for levels, to use bitmask macros instead: grep -rl --include '*.[hc]' DEBUG . | while read f; do mv "$f"{,.orig} perl -e 'use strict; use File::Slurp; my @map=qw" SSSDBG_FATAL_FAILURE SSSDBG_CRIT_FAILURE SSSDBG_OP_FAILURE SSSDBG_MINOR_FAILURE SSSDBG_CONF_SETTINGS SSSDBG_FUNC_DATA SSSDBG_TRACE_FUNC SSSDBG_TRACE_LIBS SSSDBG_TRACE_INTERNAL SSSDBG_TRACE_ALL "; my $text=read_file(\*STDIN); my $repl; $text=~s/ ^ ( .* \b (DEBUG|DEBUG_PAM_DATA|DEBUG_GR_MEM) \s* \(\s* )( [0-9] )( \s*, ) ( \s* ) ( .* ) $ / $repl = $1.$map[$3].$4.$5.$6, length($repl) <= 80 ? $repl : $1.$map[$3].$4."\n".(" " x length($1)).$6 /xmge; print $text; ' < "$f.orig" > "$f" rm "$f.orig" done Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Stephen Gallagher <sgallagh@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

/sssd/src/confdb/confdb.c /sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_ranges.c /sssd/src/db/sysdb_search.c /sssd/src/db/sysdb_upgrade.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c /sssd/src/monitor/monitor_sbus.c /sssd/src/providers/data_provider_be.c /sssd/src/providers/data_provider_callbacks.c /sssd/src/providers/data_provider_fo.c /sssd/src/providers/data_provider_opts.c /sssd/src/providers/dp_auth_util.c /sssd/src/providers/dp_pam_data_util.c /sssd/src/providers/fail_over.c /sssd/src/providers/ipa/ipa_access.c /sssd/src/providers/ipa/ipa_auth.c /sssd/src/providers/ipa/ipa_common.c /sssd/src/providers/ipa/ipa_hbac_common.c /sssd/src/providers/ipa/ipa_hbac_hosts.c /sssd/src/providers/ipa/ipa_hbac_rules.c /sssd/src/providers/ipa/ipa_hbac_services.c /sssd/src/providers/ipa/ipa_hbac_users.c /sssd/src/providers/ipa/ipa_id.c /sssd/src/providers/ipa/ipa_init.c /sssd/src/providers/ipa/ipa_netgroups.c /sssd/src/providers/krb5/krb5_access.c /sssd/src/providers/krb5/krb5_auth.c /sssd/src/providers/krb5/krb5_child.c /sssd/src/providers/krb5/krb5_child_handler.c /sssd/src/providers/krb5/krb5_common.c /sssd/src/providers/krb5/krb5_delayed_online_authentication.c /sssd/src/providers/krb5/krb5_init.c /sssd/src/providers/krb5/krb5_init_shared.c /sssd/src/providers/krb5/krb5_renew_tgt.c /sssd/src/providers/krb5/krb5_utils.c /sssd/src/providers/krb5/krb5_wait_queue.c ldap_auth.c ldap_child.c ldap_common.c ldap_id.c ldap_id_cleanup.c ldap_id_netgroup.c ldap_init.c sdap.c sdap_access.c sdap_async.c sdap_async_connection.c sdap_async_enum.c sdap_async_groups.c sdap_async_initgroups.c sdap_async_initgroups_ad.c sdap_async_netgroups.c sdap_async_users.c sdap_child_helpers.c sdap_fd_events.c sdap_id_op.c /sssd/src/providers/proxy/proxy_auth.c /sssd/src/providers/proxy/proxy_child.c /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_init.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/resolv/async_resolv.c /sssd/src/responder/common/negcache.c /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/nss/nsssrv_private.h /sssd/src/responder/nss/nsssrv_services.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/tests/auth-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/check_and_open.c /sssd/src/util/child_common.c /sssd/src/util/crypto/nss/nss_obfuscate.c /sssd/src/util/crypto/nss/nss_util.c /sssd/src/util/debug.c /sssd/src/util/find_uid.c /sssd/src/util/nscd.c /sssd/src/util/signal.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_ldap.c /sssd/src/util/user_info_msg.c /sssd/src/util/usertools.c /sssd/src/util/util.c
a3c8390d19593b1e5277d95bfb4ab206d4785150 12-Feb-2014 Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>

Make DEBUG macro invocations variadic Use a script to update DEBUG macro invocations to use it as a variadic macro, supplying format string and its arguments directly, instead of wrapping them in parens. This script was used to update the code: grep -rwl --include '*.[hc]' DEBUG . | while read f; do mv "$f"{,.orig} perl -e \ 'use strict; use File::Slurp; my $text=read_file(\*STDIN); $text=~s#(\bDEBUG\s*\([^(]+)\((.*?)\)\s*\)\s*;#$1$2);#gs; print $text;' < "$f.orig" > "$f" rm "$f.orig" done Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Stephen Gallagher <sgallagh@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

/sssd/src/confdb/confdb.c /sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb.c /sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_idmap.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_ranges.c /sssd/src/db/sysdb_search.c /sssd/src/db/sysdb_selinux.c /sssd/src/db/sysdb_services.c /sssd/src/db/sysdb_ssh.c /sssd/src/db/sysdb_subdomains.c /sssd/src/db/sysdb_sudo.c /sssd/src/db/sysdb_upgrade.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c /sssd/src/monitor/monitor_sbus.c /sssd/src/providers/ad/ad_access.c /sssd/src/providers/ad/ad_common.c /sssd/src/providers/ad/ad_domain_info.c /sssd/src/providers/ad/ad_dyndns.c /sssd/src/providers/ad/ad_id.c /sssd/src/providers/ad/ad_init.c /sssd/src/providers/ad/ad_srv.c /sssd/src/providers/ad/ad_subdomains.c /sssd/src/providers/data_provider_be.c /sssd/src/providers/data_provider_callbacks.c /sssd/src/providers/data_provider_fo.c /sssd/src/providers/data_provider_opts.c /sssd/src/providers/dp_auth_util.c /sssd/src/providers/dp_dyndns.c /sssd/src/providers/dp_pam_data_util.c /sssd/src/providers/dp_ptask.c /sssd/src/providers/dp_refresh.c /sssd/src/providers/fail_over.c /sssd/src/providers/fail_over_srv.c /sssd/src/providers/ipa/ipa_access.c /sssd/src/providers/ipa/ipa_auth.c /sssd/src/providers/ipa/ipa_autofs.c /sssd/src/providers/ipa/ipa_common.c /sssd/src/providers/ipa/ipa_config.c /sssd/src/providers/ipa/ipa_dyndns.c /sssd/src/providers/ipa/ipa_hbac_common.c /sssd/src/providers/ipa/ipa_hbac_hosts.c /sssd/src/providers/ipa/ipa_hbac_rules.c /sssd/src/providers/ipa/ipa_hbac_services.c /sssd/src/providers/ipa/ipa_hbac_users.c /sssd/src/providers/ipa/ipa_hostid.c /sssd/src/providers/ipa/ipa_hosts.c /sssd/src/providers/ipa/ipa_id.c /sssd/src/providers/ipa/ipa_idmap.c /sssd/src/providers/ipa/ipa_init.c /sssd/src/providers/ipa/ipa_netgroups.c /sssd/src/providers/ipa/ipa_s2n_exop.c /sssd/src/providers/ipa/ipa_selinux.c /sssd/src/providers/ipa/ipa_selinux_maps.c /sssd/src/providers/ipa/ipa_srv.c /sssd/src/providers/ipa/ipa_subdomains.c /sssd/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd/src/providers/ipa/ipa_subdomains_id.c /sssd/src/providers/ipa/ipa_sudo.c /sssd/src/providers/krb5/krb5_access.c /sssd/src/providers/krb5/krb5_auth.c /sssd/src/providers/krb5/krb5_become_user.c /sssd/src/providers/krb5/krb5_child.c /sssd/src/providers/krb5/krb5_child_handler.c /sssd/src/providers/krb5/krb5_common.c /sssd/src/providers/krb5/krb5_delayed_online_authentication.c /sssd/src/providers/krb5/krb5_init.c /sssd/src/providers/krb5/krb5_init_shared.c /sssd/src/providers/krb5/krb5_renew_tgt.c /sssd/src/providers/krb5/krb5_utils.c /sssd/src/providers/krb5/krb5_wait_queue.c ldap_access.c ldap_auth.c ldap_child.c ldap_common.c ldap_id.c ldap_id_cleanup.c ldap_id_enum.c ldap_id_netgroup.c ldap_id_services.c ldap_init.c sdap.c sdap_access.c sdap_async.c sdap_async_autofs.c sdap_async_connection.c sdap_async_enum.c sdap_async_groups.c sdap_async_groups_ad.c sdap_async_initgroups.c sdap_async_initgroups_ad.c sdap_async_nested_groups.c sdap_async_netgroups.c sdap_async_services.c sdap_async_sudo.c sdap_async_sudo_hostinfo.c sdap_async_sudo_timer.c sdap_async_users.c sdap_autofs.c sdap_child_helpers.c sdap_dyndns.c sdap_fd_events.c sdap_id_op.c sdap_idmap.c sdap_range.c sdap_refresh.c sdap_reinit.c sdap_sudo.c sdap_sudo_cache.c /sssd/src/providers/proxy/proxy_auth.c /sssd/src/providers/proxy/proxy_child.c /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_init.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/providers/proxy/proxy_services.c /sssd/src/providers/simple/simple_access.c /sssd/src/providers/simple/simple_access_check.c /sssd/src/resolv/async_resolv.c /sssd/src/resolv/async_resolv_utils.c /sssd/src/responder/autofs/autofssrv.c /sssd/src/responder/autofs/autofssrv_cmd.c /sssd/src/responder/autofs/autofssrv_dp.c /sssd/src/responder/common/negcache.c /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/common/responder_get_domains.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_mmap_cache.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/nss/nsssrv_private.h /sssd/src/responder/nss/nsssrv_services.c /sssd/src/responder/pac/pacsrv.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pac/pacsrv_utils.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pam_helpers.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/responder/ssh/sshsrv.c /sssd/src/responder/ssh/sshsrv_cmd.c /sssd/src/responder/ssh/sshsrv_dp.c /sssd/src/responder/sudo/sudosrv.c /sssd/src/responder/sudo/sudosrv_cmd.c /sssd/src/responder/sudo/sudosrv_dp.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/responder/sudo/sudosrv_query.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/sss_client/ssh/sss_ssh_authorizedkeys.c /sssd/src/sss_client/ssh/sss_ssh_knownhostsproxy.c /sssd/src/tests/auth-tests.c /sssd/src/tests/cmocka/test_dyndns.c /sssd/src/tests/cmocka/test_fqnames.c /sssd/src/tests/cmocka/test_nss_srv.c /sssd/src/tests/cmocka/test_utils.c /sssd/src/tests/common_dom.c /sssd/src/tests/common_tev.c /sssd/src/tests/debug-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/krb5_child-test.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tools/files.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_debuglevel.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_mc_util.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/authtok.c /sssd/src/util/backup_file.c /sssd/src/util/check_and_open.c /sssd/src/util/child_common.c /sssd/src/util/crypto/libcrypto/crypto_base64.c /sssd/src/util/crypto/libcrypto/crypto_obfuscate.c /sssd/src/util/crypto/nss/nss_obfuscate.c /sssd/src/util/crypto/nss/nss_util.c /sssd/src/util/debug.c /sssd/src/util/domain_info_utils.c /sssd/src/util/find_uid.c /sssd/src/util/nscd.c /sssd/src/util/server.c /sssd/src/util/signal.c /sssd/src/util/sss_ini.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_krb5.h /sssd/src/util/sss_ldap.c /sssd/src/util/sss_nss.c /sssd/src/util/sss_selinux.c /sssd/src/util/sss_ssh.c /sssd/src/util/sss_tc_utf8.c /sssd/src/util/user_info_msg.c /sssd/src/util/usertools.c /sssd/src/util/util.c /sssd/src/util/util.h /sssd/src/util/util_lock.c /sssd/src/util/well_known_sids.c
8c41a21bc98eec99a16258c7b4d79f456d85f856 29-Jan-2014 Lukas Slebodnik <lslebodn@redhat.com>

LDAP: store group if subdomain cannot be found by sid Domain needn't contain sid if id_provider is ldap. With enabled id mapping, group couldn't be stored, because domain couldn't be found by sid. Resolves: https://fedorahosted.org/sssd/ticket/2172

12213ca982ee3ad58f08e145532b500d7c4678d1 29-Jan-2014 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Don't clobber original_member during enumeration

008e1ee835602023891ac45408483d87f41e4d5c 19-Dec-2013 Sumit Bose <sbose@redhat.com>

AD: cross-domain membership fix A recent patch directed all call related to group membership lookups to the AD LDAP port to fix an issue related to missing group memberships in the Global Catalog. As a side-effect it broke cross-domain group-memberships because those cannot be resolved by the connection to the LDAP port. The patch tires to fix this by restoring the original behaviour in the top-level lookup calls in the AD provider and switching to the LDAP port only for the LDAP request which is expected to return the full group membership. Additionally this patch contains a related fix for the tokenGroups with Posix attributes patch. The original connection, typically a Global Catalog connection in the AD case is passed down the stack so that the group lookup after the tokenGroups request can run over the same connection.

8280c5213094a72fcaa499dda2f8647246185d45 19-Dec-2013 Sumit Bose <sbose@redhat.com>

AD: filter domain local groups for trusted/sub domains In Active Directory groups with a domain local scope should only be used inside of the specific domain. Since SSSD read the group memberships from LDAP server of the user's domain the domain local groups are included in the LDAP result. Those groups should be filtered out if the domain is a sub/trusted domain, i.e. is not the domain the client running SSSD is joined to. The groups will still be in the cache but marked as non-POSIX groups and no GID will be assigned. Fixes https://fedorahosted.org/sssd/ticket/2178

28c60454a817db582caae600060def79d1bfed75 27-Nov-2013 Lukas Slebodnik <lslebodn@redhat.com>

Remove unused parameter from sdap_process_missing_member_2307

5290f4b8546a90ab8b9355dbc2fadb7829a24558 27-Nov-2013 Lukas Slebodnik <lslebodn@redhat.com>

Remove unused parameter from sdap_add_group_member_2307

c1e97a068ed034630b1484ee149ffd17db0c9c6f 27-Nov-2013 Lukas Slebodnik <lslebodn@redhat.com>

Remove unused parameter from sdap_store_group_with_gid

ae28bfa62f1b9d4c4a74450a036fb47be2bee9a1 27-Nov-2013 Lukas Slebodnik <lslebodn@redhat.com>

Remove unused parameter from sdap_get_members_with_primary_gid

7a8f19affd2a050fd2e9631a54c0e67048d3920c 18-Nov-2013 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Initialize user count for AD matching rule https://fedorahosted.org/sssd/ticket/2157 If AD matching rule was selected, but the group was empty, the SSSD accessed random data. Initializing count to zero prevents that.

e2ac9be4f293b96f3c8992f1171e44bc1da5cfca 15-Nov-2013 Michal Zidek <mzidek@redhat.com>

SYSDB: Drop redundant sysdb_ctx parameter from sysdb.c

d115f40c7a3999e3cbe705a2ff9cf0fd493f80fb 15-Nov-2013 Michal Zidek <mzidek@redhat.com>

SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 2)

/sssd/src/db/sysdb.h /sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_services.c /sssd/src/db/sysdb_ssh.c /sssd/src/db/sysdb_sudo.c /sssd/src/providers/ipa/ipa_access.c /sssd/src/providers/ipa/ipa_hbac_common.c /sssd/src/providers/ipa/ipa_hbac_hosts.c /sssd/src/providers/ipa/ipa_hbac_services.c /sssd/src/providers/ipa/ipa_hbac_users.c /sssd/src/providers/ipa/ipa_id.c /sssd/src/providers/ipa/ipa_netgroups.c /sssd/src/providers/ipa/ipa_s2n_exop.c /sssd/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd/src/providers/krb5/krb5_auth.c ldap_auth.c ldap_id.c ldap_id_cleanup.c ldap_id_netgroup.c sdap_async_groups.c sdap_async_initgroups.c sdap_async_initgroups_ad.c sdap_async_nested_groups.c sdap_async_netgroups.c sdap_async_users.c sdap_reinit.c /sssd/src/providers/proxy/proxy_auth.c /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/providers/simple/simple_access_check.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pac/pacsrv_utils.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/tests/cmocka/test_nss_srv.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_sync_ops.c
4c08db0fb0dda3d27b1184248ca5c800d7ce23f0 15-Nov-2013 Michal Zidek <mzidek@redhat.com>

SYSDB: Drop the sysdb_ctx parameter - module sysdb_ops (part 1)

b6a867be96dbe802c8dc8a9ce635040ecf77b56f 30-Oct-2013 Pavel Březina <pbrezina@redhat.com>

sdap_fill_memberships: pick correct domain for every member Groups may contain members from different domains. We need to make sure that we always choose correct domain for subdomain users when looking up in sysdb. Resolves: https://fedorahosted.org/sssd/ticket/2064

85eb8a5e98e208393b205615e3895a64905eacf2 30-Oct-2013 Pavel Březina <pbrezina@redhat.com>

ghosts: pick correct domain for every member Groups may contain members from different domains. We need to make sure that we store subdomain users with correct domain name. Resolves: https://fedorahosted.org/sssd/ticket/2064

970c5afba449a51dbccbdbf49e43ee5c79892e76 29-Oct-2013 Pavel Březina <pbrezina@redhat.com>

sdap_save_group: try to determine domain by SID GC contains objects from both parent domain and subdomain. Lets say we have group with UID 5000 that belongs to a subdomain and overlapping search bases dc=ad,dc=pb and dc=sub,dc=ad,dc=pb. Now we call 'getent group 5000' and this request goes through data provider, searching in parent domain first. Even though this group does not belong to this domain it is found and stored as ad.pb group. With this patch we look at group's SID and put it into correct domain.

fdda4b659fa3be3027df91a2b053835186ec2c59 25-Oct-2013 Sumit Bose <sbose@redhat.com>

sdap_idmap_domain_has_algorithmic_mapping: add domain name argument When libss_idmap was only used to algorithmically map a SID to a POSIX ID a domain SID was strictly necessary and the only information needed to find a domain. With the introduction of external mappings there are cases where a domain SID is not available. Currently we relied on the fact that external mapping was always used as a default if not specific information about the domain was found. The lead to extra CPU cycles and potentially confusing debug messages. Adding the domain name as a search parameter will avoid this.

ed242170141dc0e0fa6308f9fcfa0a71805bf8cd 11-Sep-2013 Lukas Slebodnik <lslebodn@redhat.com>

Fix warning: data argument not used by format string

0e65abe5cf2abf5d4b431cf6bd161b419f07901d 11-Sep-2013 Lukas Slebodnik <lslebodn@redhat.com>

Fix formating of variables with type: size_t

/sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_search.c /sssd/src/providers/ad/ad_srv.c /sssd/src/providers/fail_over_srv.c /sssd/src/providers/ipa/ipa_config.c /sssd/src/providers/ipa/ipa_idmap.c /sssd/src/providers/ipa/ipa_netgroups.c /sssd/src/providers/ipa/ipa_selinux.c /sssd/src/providers/ipa/ipa_selinux_maps.c /sssd/src/providers/ipa/ipa_srv.c /sssd/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd/src/providers/krb5/krb5_child.c /sssd/src/providers/krb5/krb5_child_handler.c /sssd/src/providers/krb5/krb5_renew_tgt.c ldap_child.c ldap_id_cleanup.c sdap_access.c sdap_async_autofs.c sdap_async_groups.c sdap_async_groups_ad.c sdap_async_initgroups.c sdap_async_initgroups_ad.c sdap_async_nested_groups.c sdap_async_netgroups.c sdap_async_services.c sdap_async_sudo.c sdap_async_users.c sdap_child_helpers.c /sssd/src/providers/simple/simple_access_check.c /sssd/src/responder/nss/nsssrv_mmap_cache.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/util/child_common.c
2b68335643d7b48225d4ab15ac116afcbf279505 11-Sep-2013 Lukas Slebodnik <lslebodn@redhat.com>

Use the same variable type like in struct ldb_message_element struct ldb_message_element.num_values is unsigned This patch indirectly fixes printf format string warning.

f7aef1e3ca5bdcddb6fb7c7e6556315faa96165d 08-Aug-2013 Sumit Bose <sbose@redhat.com>

Fix memory context for hash entries In sdap_nested_group_populate_users() username and orignal_dn are allocated on a temporary memory context. If the corresponding user is not found in the cache both are added to a hash which is later on returned to the caller. To avoid a use-after-free when the hash entries are looked up both must be reassigned to the memory context of the hash.

73e0e5fc1058e3e2c717c97035e8a378d090db69 25-Jul-2013 Lukas Slebodnik <lslebodn@redhat.com>

Prevent using uninitialized "group_name" in done section. Coverity ID: 11927

bfd59d1a2d0d45125e5164ef12c425690d519f61 24-Jul-2013 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Use domain-specific name where appropriate The subdomain users user FQDN in their name attribute. However, handling of whether to use FQDN in the LDAP code was not really good. This patch introduces a utility function and converts code that was relying on user/group names matching to this utility function. This is a temporary fix until we can refactor the sysdb API in #2011.

b56b06e199f15a8a840b36bc7cb8010e39ae761d 28-Jun-2013 Sumit Bose <sbose@redhat.com>

Replace SDAP_ID_MAPPING checks with sdap_idmap_domain_has_algorithmic_mapping Currently the decision if external or algorithmic mapping should be used in the LDAP or AD provider was based on the value of the ldap_id_mapping config option. Since now all information about ID mapping is handled by libsss_idmap the check for this options can be replace with a call which checks the state via libss_idmap. https://fedorahosted.org/sssd/ticket/1961

3ca846cfb59dee6e20b94c4aee2716f1a20ebd3a 07-Jun-2013 Jakub Hrozek <jhrozek@redhat.com>

LDAP: store FQDNs for trusted users and groups Because the NSS responder expects the name attribute to contain FQDN, we must save the name as FQDN in the LDAP provider if the domain we save to is a subdomain.

749cfb5d3270b5daf389d51a0dbd3fd2aec6e05d 07-Jun-2013 Jakub Hrozek <jhrozek@redhat.com>

LDAP: new SDAP domain structure Previously an sdap_id_ctx was always tied to one domain with a single set of search bases. But with the introduction of Global Catalog lookups, primary domain and subdomains might have different search bases. This patch introduces a new structure sdap_domain that contains an sssd domain or subdomain and a set of search bases. With this patch, there is only one sdap_domain that describes the primary domain.

7486dea9f5f7b2a6fbbacc6db740a82140b6377c 20-May-2013 Lukas Slebodnik <lslebodn@redhat.com>

Fixing critical format string issues. --missing arguments. --format '%s', but argument is integer. --wrong format string, examle: '%\n'

1ae6d34788fd6ac2278be52b60d77c77073d98f3 02-May-2013 Sumit Bose <sbose@redhat.com>

LDAP: always store SID if available Currently the string representation of a SID is only stored in the cache for debugging purpose if SID based ID-mapping is used. This patch unconditionally stores the SID if available to allow SID-to-name mappings from the cache.

d2e8ad3f8fcb3dcabb56ce9b5e7fada6800cfc77 19-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

LDAP: do not invalidate pointer with realloc while processing ghost users https://fedorahosted.org/sssd/ticket/1799 One peculiarity of the sysdb_attrs_get_el interface is that if the attribute does not exist, then the attrs array is reallocated and the element is created. But in case other pointers are already pointing into the array, the realloc might invalidate them. Such case was in the sdap_process_ghost_members function where if the group had no members, the "gh" pointer requested earlier might have been invalidated by the realloc in order to create the member element.

755aee449c6311518200c2f11c1aae329a19b038 02-Apr-2013 Pavel Březina <pbrezina@redhat.com>

refactor nested group processing: replace old code https://fedorahosted.org/sssd/ticket/1784

4709ff46db0dbe073aef061b796d2fd7adeaf18f 21-Mar-2013 Jan Cholasta <jcholast@redhat.com>

LDAP: If deref search fails, try again without deref https://fedorahosted.org/sssd/ticket/1660

9f37bb2012faa136ef7c1f9fe93689ce2be85637 13-Mar-2013 Ondrej Kos <okos@redhat.com>

Fix initialization of multiple variables

f2c33281a740aea165a7c9dc32f3aee8fb139f36 27-Feb-2013 Pavel Březina <pbrezina@redhat.com>

sdap_fill_memberships: continue if a member is not foud in sysdb https://fedorahosted.org/sssd/ticket/1755 sdap_find_entry_by_origDN() may return ENOENT in these non-error scenarios: If a member is out of scope of configured nesting level, sssd produces few noise lines indicating failure. The worse case is when a member is outside of configured search bases. In this case we save the group with incomplete membership,

86a16cf3b234597c03fba52dfdfb21a623093254 28-Jan-2013 Pavel Březina <pbrezina@redhat.com>

nested groups: fix group lookup hangs if member dn is incorrect https://fedorahosted.org/sssd/ticket/1783 When dn in member attribute is invalid (e.g. rdn instead of dn) or it is outside of configured search bases, we might hit a situation when tevent_req is marked as done before any callback could be attached on it.

2b7ee2a760e7fcc70f4970a3bbee6fbf8f2ccb9d 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_search_groups()

044868b388b4e47499f12a9105310b247bbe1ce2 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain arg to sysdb_search_users()

99c0cfdc5f065ba38f1ee91701d1d27f9e4fdb96 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_store_group() Also remove sysdb_store_domgroup()

3f94d6718d44185137e13b6d326dfd63e8dc61c6 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_set_user_attr()

2ce00e0d3896bb42db169d1e79553a81ca837a22 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain to sysdb_search_user_by_name() Also remove unused sysdb_search_domuser_by_name()

4b49384056874e7999d8338ce5288f3d5c27a7b8 15-Jan-2013 Simo Sorce <simo@redhat.com>

Make sysdb_domain_dn() require a domain.

a26dfbfdd5a325acd85f4f339587365f29810342 09-Jan-2013 Jakub Hrozek <jhrozek@redhat.com>

AD: Add user as a direct member of his primary group In the AD case, deployments sometimes add groups as parents of the primary GID group. These groups are then returned during initgroups in the tokenGroups attribute and member/memberof links are established between the user and the group. However, any update of these groups would remove the links, so a sequence of calls: id -G user; id user; id -G user would return different group memberships. The downside of this approach is that the user is returned as a group member during getgrgid call as well.

f9f74a587c8e96dcf90214c760022684afc8bef7 09-Jan-2013 Jakub Hrozek <jhrozek@redhat.com>

AD: replace GID/UID, do not add another one The code would call sysdb_attrs_add_uint32 which added another UID or GID to the ID=0 we already downloaded from LDAP (0 is the default value) when ID-mapping an entry. This led to funky behaviour later on when we wanted to process the ID.

168735db6b7871a24987de32b0f98e95c6583e9a 04-Dec-2012 Jakub Hrozek <jhrozek@redhat.com>

Indentation fix

d6f283302268520c1506fb3da4f2a22f5a741be5 28-Nov-2012 Michal Zidek <mzidek@redhat.com>

idmap: Silence DEBUG messages when dealing with built-in SIDs. When converting built-in SID to unix GID/UID a confusing debug message about the failed conversion was printed. This patch special cases these built-in objects. https://fedorahosted.org/sssd/ticket/1593

8455d5ab61184e0d126fc074a9ce6e98391eb909 20-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Only convert direct parents' ghost attribute to member https://fedorahosted.org/sssd/ticket/1612 This patch changes the handling of ghost attributes when saving the actual user entry. Instead of always linking all groups that contained the ghost attribute with the new user entry, the original member attributes are now saved in the group object and the user entry is only linked with its direct parents. As the member attribute is compared against the originalDN of the user, if either the originalDN or the originalMember attributes are missing, the user object is linked with all the groups as a fallback. The original member attributes are only saved if the LDAP schema supports nesting.

49948edec19ff4fe164d5370a72072ad2beb7c2f 19-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Refactor saving ghost users

a663086f53dc892453d40483e629686bb1f411d2 19-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: use the correct memory context The element being reallocated is part of the "group_attrs" array, not attrs.

b893cb4f3567d2dd571debf6dbf0d50a38f86823 19-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Fix saving empty groups https://fedorahosted.org/sssd/ticket/1647 A logic bug in the LDAP provider causes an attempt to allocate a zero-length array for group members while processing an empty group. The allocation would return NULL and saving the empty group would fail.

c9e8154b32fb3fea639478c203bb1079c18e7bca 19-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Allocate the temporary context on NULL, not memctx Allocating temporary context on NULL helps vind memory leaks with valgrind and avoid growing memory over time by allocating on a long-lived context.

2faa9ecad5a45a949be5ea95aa9e140eeba0fe68 16-Nov-2012 Pavel Březina <pbrezina@redhat.com>

fix -O3 variable may be uninitialized warnings

59f136cd254d1acf2991c97221eb08803784777d 15-Nov-2012 Paul B. Henson <henson@acm.org>

Add ignore_group_members option. https://fedorahosted.org/sssd/ticket/1376

f147633e5d0e64079871060e276c2291d0131bc4 01-Nov-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Better debug logging when saving groups

843f1134d2a81de928ba4856f86cd9c64e8df40a 01-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Fix off-by-one error when saving ghost users The ldb_val's length parameter should not include the terminating NULL. This was causing funky behaviour as the users were saved as binary attributes. https://fedorahosted.org/sssd/ticket/1614

d78cb9cc9dbda1594b1a8f800c4ca865706d8e75 12-Oct-2012 Jakub Hrozek <jhrozek@redhat.com>

Create ghost users when a user DN is encountered in IPA The IPA has a defined directory tree structure that allows us to guess the username from a DN without having to look up the DN in LDAP. https://fedorahosted.org/sssd/ticket/1319

95f5e7963a36b7b68859ce91ae4b232088bbaa09 24-Sep-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Remove unnecessary domain parameter from several sysdb calls The domain can be read from the sysdb object. Removing the domain string makes the API more self-contained.

21d485184df986e1a123f70c689517386e51a5ce 23-Aug-2012 Michal Zidek <mzidek@redhat.com>

Unify usage of sysdb transactions Removing bad examples of usage of sysdb_transaction_start/commit/end functions and making it more consistent (all files except of src/db/sysdb_*.c).

ed040c0d1ce0167ab0d9b413aa186c6d2eb0ed88 09-Jul-2012 Stephen Gallagher <sgallagh@redhat.com>

Fix incorrect error-check Coverity #12770

8e1d9a326a6cf88405344077a309cbe3898653c9 20-Jun-2012 Jan Zeleny <jzeleny@redhat.com>

Fix possible segfault in sdap_save_group()

00399326b12359984173870f94c7ae53541a4323 15-Jun-2012 Jan Zeleny <jzeleny@redhat.com>

Fixed debug message in sdap_save_group()

e3319541af46d8b0de7e0b865c37904cf6216b58 13-Jun-2012 Jan Zeleny <jzeleny@redhat.com>

Fix an issue in ghost users There was an issue with ghost members in nested groups. Consider a scenario with two groups A and B, B being member of A and having some ghost members. In such case SSSD stored both groups, then added membership between them and then added ghost members to the group B. The problem was that adding ghost members to group B didn't propagate these ghost members to group A. This functionality could have been solved by memberof plugin but the logic is far more complicated that changes this patch introduces. The change is simple: add ghost members at the same time as the group is created, even if groups are supposed to be stored in two passes. That way ghost members will be present at the time A -> B membership is created and they will be propagated as expected.

2c62da337e31217d03f5bf0f768b574d166bb2fe 13-Jun-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Auto-detect support for the ldap match rule This patch extends the RootDSE lookup so that we will perform a second request to test whether the match rule syntax can be used. If both groups and initgroups are disabled in the configuration, this lookup request can be skipped.

97ae45d61d921f07e812620e0156aee02b7b83a7 13-Jun-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Add support for AD chain matching extension in group lookups

b78b13ea569fc7fb4ca2c19c39d7cf59e7688f1d 13-Jun-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Remove redundant check The same block appeared earlier in the function and neither variable could have changed values since.

64ddff90c7fcc02ccb06824ac93af7d5f361a88f 31-May-2012 Jan Zeleny <jzeleny@redhat.com>

Add support for filtering atributes This patch adds support for filtering attributes when constructing attribute list from a map for LDAP query.

9bd757c0484e8c4eddeab98ec74773a5d5228532 31-May-2012 Jan Zeleny <jzeleny@redhat.com>

Ghost members - support in LDAP provider The original approach was to store name and original DN in an object in sysdb. When later referenced as member of a group, it was retrieved by its original DN and the correct information about its sysdb DN was stored in the group object which referenced it. The new approach doesn't use fake user objects, therefore this information has to be reached differently when constructing group memberships. The approach is to store all users to a hash table where original DN is used as the key and username as value. When constructing group memberships, the name is retrieved from this hash table instead of sysdb. This hash table is constructed when retrieving user objects from LDAP server - if the user is not present in sysdb, it is automatically stored in the hash table. Another situation is for rfc2307. Because there is no nesting there, we can construct the SYSDB_GHOST attribute directly and therefore don't need a hash table of ghost users.

b49c47d573208f22a40214a728112949956acb57 22-May-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP nested groups: Do not process callback with _post deep in the nested structure https://fedorahosted.org/sssd/ticket/1343

d217f6b1176f653619439820cd9c4d3cb7f95c29 16-May-2012 Jakub Hrozek <jhrozek@redhat.com>

Use the sysdb attribute name, not LDAP attribute name

ae8d047122c7ba8123f72b2eac68944868ac37d4 10-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Handle very large Active Directory groups Active Directory 2008R2 allows only 1500 group members to be retrieved in a single lookup. However, when we hit such a situation, we can take advantage of the ASQ lookups, which are not similarly limited. With this patch, we will add any members found by ASQ that were not found by the initial lookup so we will end with a complete group listing. https://fedorahosted.org/sssd/ticket/783

ca4b7b92738f3dd463914e3de5757cd98d37a983 10-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Add attr_count return value to build_attrs_from_map() This is necessary because in several places in the code, we are appending to the attrs returned from this value, and if we relied on the map size macro, we would be appending after the NULL terminator if one or more attributes were defined as NULL.

8be5e4497e5008f7807178acdfcbf97365ec4e73 03-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Add helper function to map IDs This function will also auto-create a new ID map if the domain has not been seen previously.

3f2fa4c9290afdb393c760419a0ff686045a1ab3 03-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Do not remove uidNumber and gidNumber attributes when saving id-mapped entries

58d02e0d3d6d48c97fccdb2ad7212e065671ad6d 03-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Add helper routine to convert LDAP blob to SID string

2aae75b167f1d9d5cf65d5529c585cfb18c6207b 03-May-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Allow looking up ID-mapped groups by name

067379e78f2295462be246d8ecafb1c693b4a5f7 02-May-2012 Jakub Hrozek <jhrozek@redhat.com>

LDAP: check return value of sysdb_attrs_get_el

3074b0ba08df922c5a266ed2962d07e1db7261bd 18-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Fixed minor memory leak in ldap provider

e72c1aaea0a73ed1199554722a26918b57f90d49 18-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Fixed memory context in sdap_fill_memberships()

df85da09d078ae7bfdac9cc66fd79362719025e0 18-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Removed unused block of code is sdap_fill_memberships()

ad36434b454de092bcc383af248d794d1970a92f 18-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Removed a block of dead code in sdap_async_groups.c

3ff729e6c8a371e7a52914772816c39ca73c50a9 24-Feb-2012 Jan Zeleny <jzeleny@redhat.com>

Modifications to simplify list_missing_attrs

2f3ee3f49019f5b60adbe073070f31e6e2d7c7ab 24-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Only use paging control on requests for multiple entries The paging control can cause issues on servers that put limits on how many paging controls can be active at one time (on some servers, it is limited to one per connection). We need to reduce our usage so that we only activate the paging control when making a request that may return an arbitrary number of results. https://fedorahosted.org/sssd/ticket/1202 phase one

477cb0304c9fc25d40604de5d49e080ff03938e3 17-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Ignore group member users that do not have name attributes Instead of failing the group lookup, just skip them. This was impacting some users of ActiveDirectory where not all users had the appropriate attributes. https://fedorahosted.org/sssd/ticket/1169

3a0522759a7e71b40cc88dba0f5c545b049cf9bf 14-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

Fix memory hierarchy when processing nested group memberships https://fedorahosted.org/sssd/ticket/1186

bd92e8ee315d4da9350b9ef0358c88a7b54aeebe 04-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

NSS: Add individual timeouts for entry types https://fedorahosted.org/sssd/ticket/1016

f393e23f264a299868a12bec40a390a7ecd65d10 04-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Fix incorrect search timeouts

169fa5bd3edd34aa0db35681832bd7406e423c1b 04-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Do not fail if RootDSE check cannot determine search bases https://fedorahosted.org/sssd/ticket/1152

340f61052d540f73f14f3dd2ebcf2aee1cde99b3 16-Dec-2011 Pavel Březina <pbrezina@redhat.com>

Logically dead code in sdap_nested_group_lookup_group https://fedorahosted.org/sssd/ticket/1113

940e033c0c427d02a34347dbd2f4443fa625b111 16-Dec-2011 Jakub Hrozek <jhrozek@redhat.com>

Use the case sensitivity flag in the LDAP provider

70a33bdf7db34fe4d1ba194cf9ea28c758719b4b 16-Dec-2011 Jakub Hrozek <jhrozek@redhat.com>

Refactor saving sdap entities There was too much code duplication between sdap_save_{user,group,netgroup}. This patch removes the most egregious ones.

c7abfb71130bdeb47e2f864a1e7957a8823cfcc4 14-Dec-2011 Pavel Březina <pbrezina@redhat.com>

Support search bases in RFC2307bis enumeration https://fedorahosted.org/sssd/ticket/960

2a79515b1cc6cd4839e5b10628b2ddbb1674033f 29-Nov-2011 Jakub Hrozek <jhrozek@redhat.com>

Fix two small bugs in group dereferencing

ac3a1f3da772cf101101c31675c63dc3549b21b5 22-Nov-2011 Jakub Hrozek <jhrozek@redhat.com>

Cleanup: Remove unused parameters

/sssd/src/providers/data_provider_fo.c /sssd/src/providers/ipa/ipa_access.c /sssd/src/providers/ipa/ipa_dyndns.c /sssd/src/providers/ipa/ipa_dyndns.h /sssd/src/providers/ipa/ipa_hbac_common.c /sssd/src/providers/ipa/ipa_hbac_hosts.c /sssd/src/providers/ipa/ipa_hbac_private.h /sssd/src/providers/ipa/ipa_hbac_rules.c /sssd/src/providers/ipa/ipa_hbac_services.c /sssd/src/providers/ipa/ipa_hbac_users.c /sssd/src/providers/ipa/ipa_init.c /sssd/src/providers/krb5/krb5_auth.c ldap_auth.c ldap_id_cleanup.c sdap.c sdap.h sdap_access.c sdap_async.c sdap_async_connection.c sdap_async_groups.c sdap_async_initgroups.c sdap_async_netgroups.c /sssd/src/providers/proxy/proxy.h /sssd/src/providers/proxy/proxy_id.c /sssd/src/providers/proxy/proxy_netgroup.c /sssd/src/python/pysss.c /sssd/src/responder/nss/nsssrv.c /sssd/src/sss_client/pam_sss.c /sssd/src/tools/nscd.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_sync_ops.h /sssd/src/tools/sss_useradd.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/crypto/nss/nss_obfuscate.c
d8e4e7a40eb75810c58a81bda7e27a2aaecc868f 11-Nov-2011 Jakub Hrozek <jhrozek@redhat.com>

Use one transaction instead of two during RFC2307bis group processing https://fedorahosted.org/sssd/ticket/1054

4cc8afd38cd948996accc12a9abd1ebc132ad68d 08-Nov-2011 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Remove redundant groups from the lookup list

1bbd4c57fc31cec302244725e698413623818d19 02-Nov-2011 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Add support for multiple search bases for group enumeration

86e00b950eae9884702ad535e3030b238ec451e3 02-Nov-2011 Stephen Gallagher <sgallagh@redhat.com>

LDAP: Support multiple group search bases (non-enumeration, RFC2307)

684d1b48b5582a1bf7812b8c3c663592dc6dfed9 13-Oct-2011 Pavel Březina <pbrezina@redhat.com>

SysDB commands that save lastUpdate allows this value to be passed in https://fedorahosted.org/sssd/ticket/836

73851471133f0345945a4232c5dc147be26f9941 06-Oct-2011 Pavel Zuna <pzuna@redhat.com>

Fix small bug where TALLOC_CTX could end up unfreed.

033d1e3985288ec827db85882b052104485606ac 28-Sep-2011 Jakub Hrozek <jhrozek@redhat.com>

Store name aliases for users, groups Also checks fake users for aliases when storing a real users so that getgrnam for a RFC2307 group that references a user by his secondary name followed by getpwnam for this user by his primary name works

9b5c5f041e92802aa074037d283674cb6eca1a23 06-Sep-2011 Jakub Hrozek <jhrozek@redhat.com>

Allow turning dereference off by setting the threshold to 0

7e7fa5394d042c63dddfe48a85f1d80552e63d81 29-Aug-2011 Jakub Hrozek <jhrozek@redhat.com>

Fix moving to next entry in deref code https://fedorahosted.org/sssd/ticket/973

f41bb1d9ece88b203747d3d2ada16e6c4e915164 15-Aug-2011 Jan Zeleny <jzeleny@redhat.com>

Moved some functions in sdap_async_groups

92123233d2681f6e15e851c681580b64aae2a043 15-Aug-2011 Jan Zeleny <jzeleny@redhat.com>

Confusing part of code cleared out

f26c954658dfd7461f290f0b5d924951a6db219a 15-Aug-2011 Jan Zeleny <jzeleny@redhat.com>

sdap_async_accounts.c split The file has been split in three: sdap_async_users.c sdap_async_groups.c sdap_async_initgroups.c https://fedorahosted.org/sssd/ticket/864