History log of /sssd-io/src/db/sysdb_ops.c
Revision Date Author Comments Expand
ba2d5f7a0adefb017d3f85203d715b725ca8810f 25-Apr-2018 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: sysdb_add_incomplete_group now returns EEXIST with a duplicate GID Related: https://pagure.io/SSSD/sssd/issue/2653 Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

514b2be089bfd0e2702d7e9ab883ab071a61b719 25-Apr-2018 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB_OPS: Error out on id-collision when adding an incomplete group This situation can be hit when renaming a group. For now, let's just error this out so the caller can handle it properly on its own layer. Related: https://pagure.io/SSSD/sssd/issue/2653 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

cd4590de2a84b8143a6c75b5198f5e1b3c0a6d63 04-Apr-2018 Pavel Březina <pbrezina@redhat.com>

sysdb custom: completely replace old object instead of merging it This patch is written primary for sudo use case, but it makes sure the we do not merge two record in other parts of the code that uses sysdb_store_custom. 1) If there are two rules with the same cn (possible with multiple search bases or organizational units) we would end up merging those two rules instead of choosing one of them. 2) Also smart refresh would merge the diff insteand of removing the attributes that are no longer present in ldap. Since 1) is a rare use case and it is a misconfiguration we completely replace the old rule with new one. It is simpler to implement and it solves both issues. Resolves: https://pagure.io/SSSD/sssd/issue/3558 Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

250751bf8b0532d6175e762b7f2f008cc1c39a78 04-Apr-2018 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: When marking an entry as expired, also set the originalModifyTimestamp to 1 Resolves: https://pagure.io/SSSD/sssd/issue/3684 If the cleanup task removes a user who was a fully resolved member (not a ghost), but then the group the user was a member of is requested, unless the group had changed, the user doesn't appear as a member of the group again. This is because the modify timestamp would prevent the group from updating and therefore the ghost attribute is not readded. To mitigate this, let's also set the originalModifyTimestamp attribute to 1, so that we never take the optimized path while updating the group. Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

e5c74ab068d87b598d1090c83f1c4d9e47939c83 26-Mar-2018 Fabiano Fidêncio <fidencio@redhat.com>

CONFDB: Start a ldb transaction from sss_ldb_modify_permissive() The reason why confdb_expand_app_domains() always fails is because we try to do a ldb_request() without starting a ldb transaction. When we're dealing with ldb_modify(), ldb_add(), ldb_delete() kind of messages, those call ldb_autotransaction_request() which will start a new transaction and treat it properly when doing the ldb_request(). In our case that we're calling ldb_request() by our own, we must ensure that the transaction is started and properly deal with it._ It's never been noticed because in the only place the function is used its errors are ignored. Resolves: https://pagure.io/SSSD/sssd/issue/3660 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

346d6d8bf5fdb446921d754c07c8a7d913a048d5 29-Jan-2018 René Genz <liebundartig@freenet.de>

Fix minor spelling mistakes Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

/sssd-io/contrib/gdbinit /sssd-io/contrib/sssd.spec.in /sssd-io/src/conf_macros.m4 /sssd-io/src/confdb/confdb.c /sssd-io/src/confdb/confdb.h /sssd-io/src/confdb/confdb_setup.c /sssd-io/src/config/SSSDConfig/__init__.py.in /sssd-io/src/config/SSSDConfig/ipachangeconf.py sysdb_ops.c sysdb_search.c /sssd-io/src/external/ldap.m4 /sssd-io/src/ldb_modules/memberof.c /sssd-io/src/lib/certmap/sss_cert_content_nss.c /sssd-io/src/man/sss-certmap.5.xml /sssd-io/src/man/sssd-ad.5.xml /sssd-io/src/monitor/monitor.c /sssd-io/src/monitor/monitor_netlink.c /sssd-io/src/monitor/monitor_sbus.c /sssd-io/src/p11_child/p11_child_nss.c /sssd-io/src/resolv/async_resolv.c /sssd-io/src/sbus/sssd_dbus.h /sssd-io/src/sbus/sssd_dbus_common.c /sssd-io/src/sbus/sssd_dbus_connection.c /sssd-io/src/tools/tools_mc_util.c /sssd-io/src/util/authtok.h /sssd-io/src/util/become_user.c /sssd-io/src/util/cert/libcrypto/cert.c /sssd-io/src/util/cert/nss/cert.c /sssd-io/src/util/inotify.c /sssd-io/src/util/safe-format-string.h /sssd-io/src/util/server.c /sssd-io/src/util/sss_krb5.c /sssd-io/src/util/util_errors.h
50d9424d38efe2421a60aa622fb342bea29ee4eb 18-Jan-2018 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Use sysdb_domain_dn instead of raw ldb_dn_new_fmt Using ldb should be as much as an implementation detail as possible. Plus, it looks weird if one of the branch uses a sysdb function while another code branch uses a raw ldb call. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

6df34be3ee736d7a34e67c49c365077be849031a 18-Jan-2018 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Fix sysdb_search_by_name() for looking up groups in MPG domains If a group was being looked by using sysdb_search_by_name() in a MPG domain, the code would search only for group objects -- but in a MPG domain, there may be none, the groups are typically inferred from a user object. This could have caused issues e.g. for IPA code with the following sequence: getent group aduser@windows.domain getent passwd aduser@windows.domain The former would fail to add the fallback subdomain homedir and the latter would then return a user entry without a homedir, with libc falling back to the "/" homedir. Resolves: https://pagure.io/SSSD/sssd/issue/3615 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

0e238c259c066cf997aaa940d33d6bda96c15925 27-Nov-2017 Sumit Bose <sbose@redhat.com>

sysdb: do not use objectClass for users and groups The majority of the object in the SSSD cache are users and groups. If there are many user and groups in the cache the index objects of the objectclass attributes 'user' and 'group' become large because the must hold references to all objects of those object classes. As a result the management of these index objects becomes costly because they must be parsed and split apart quite often. Additionally they are mostly useless because user and groups are lookup up by more specific attributes in general. Only when enumerating all user or groups this kind of index might be useful. There are two way of removing this kind of index from the user and group objects. Either by removing objectClass from the list of indexes and add a new attribute to all other type of object we want and index for. Or by replacing objectClass with a different attribute for the user and group objects. After some testing I think the latter one is the more reliable one and implemented it in this patch. Related to https://pagure.io/SSSD/sssd/issue/3503 Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

sysdb.h sysdb_init.c sysdb_ops.c sysdb_search.c sysdb_upgrade.c /sssd-io/src/ldb_modules/memberof.c /sssd-io/src/providers/ad/ad_pac.c /sssd-io/src/providers/ipa/ipa_id.c /sssd-io/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd-io/src/providers/ipa/ipa_subdomains_id.c /sssd-io/src/providers/krb5/krb5_renew_tgt.c /sssd-io/src/providers/ldap/ldap_id_cleanup.c /sssd-io/src/providers/ldap/sdap_async_groups.c /sssd-io/src/providers/ldap/sdap_async_initgroups.c /sssd-io/src/providers/ldap/sdap_async_initgroups_ad.c /sssd-io/src/providers/ldap/sdap_async_nested_groups.c /sssd-io/src/responder/common/cache_req/plugins/cache_req_common.c /sssd-io/src/responder/ifp/ifp_cache.c /sssd-io/src/responder/ifp/ifp_groups.c /sssd-io/src/responder/ifp/ifp_users.c /sssd-io/src/responder/nss/nss_cmd.c /sssd-io/src/responder/nss/nss_protocol_grent.c /sssd-io/src/responder/nss/nss_protocol_sid.c /sssd-io/src/tests/cmocka/test_ad_common.c /sssd-io/src/tests/cmocka/test_ipa_subdomains_server.c /sssd-io/src/tests/sysdb-tests.c /sssd-io/src/tools/sssctl/sssctl_cache.c
39d6a3be119b050b0690152b6b443117c8617b1c 13-Nov-2017 Michal Židek <mzidek@redhat.com>

SYSDB: Better debugging for email conflicts Add DEBUG message when conflicts in FQ names or emails are detected. Also improve man page to hint on how to work around issue with conflicting emails. Note: We store emails in two different attributes in sysdb: - SYSDB_USER_EMAIL - SYSDB_NAME_ALIAS - this one is lowercased and used in getpwnam searches. Resolves: https://fedorahosted.org/sssd/ticket/3293 Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

b739b3e767c053bb3a7e6651514896b30502d838 13-Nov-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB: Remove code causing a covscan warning There's no reason to check for both ret != EOK and sanitized == NULL, as the second should never ever happen. This check is causing a clang warning in our code: Defect type: CLANG_WARNING 1. sssd-1.16.0/src/db/sysdb_ops.c:4223:9: warning: Dereference of undefined pointer value # if (res->count > 1) { # ^~~~~~~~~~ 4. sssd-1.16.0/src/db/sysdb_ops.c:4199:5: note: 'res' declared without an initial value # struct ldb_result *res; # ^~~~~~~~~~~~~~~~~~~~~~ 7. sssd-1.16.0/src/db/sysdb_ops.c:4202:9: note: Assuming 'sid_str' is non-null # if (!sid_str) return EINVAL; # ^~~~~~~~ 10. sssd-1.16.0/src/db/sysdb_ops.c:4202:5: note: Taking false branch # if (!sid_str) return EINVAL; # ^ 13. sssd-1.16.0/src/db/sysdb_ops.c:4205:9: note: Assuming 'tmp_ctx' is non-null # if (!tmp_ctx) { # ^~~~~~~~ 16. sssd-1.16.0/src/db/sysdb_ops.c:4205:5: note: Taking false branch # if (!tmp_ctx) { # ^ 19. sssd-1.16.0/src/db/sysdb_ops.c:4209:11: note: Calling 'sysdb_search_object_by_sid' # ret = sysdb_search_object_by_sid(tmp_ctx, domain, sid_str, NULL, &res); # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22. sssd-1.16.0/src/db/sysdb_ops.c:4960:12: note: Calling 'sysdb_search_object_by_str_attr' # return sysdb_search_object_by_str_attr(mem_ctx, domain, SYSDB_SID_FILTER, # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25. sssd-1.16.0/src/db/sysdb_ops.c:4872:5: note: Taking false branch # if (str == NULL) { # ^ 28. sssd-1.16.0/src/db/sysdb_ops.c:4877:9: note: Assuming 'ret' is equal to 0 # if (ret != EOK || sanitized == NULL) { # ^~~~~~~~~~ 31. sssd-1.16.0/src/db/sysdb_ops.c:4877:9: note: Left side of '||' is false 32. sssd-1.16.0/src/db/sysdb_ops.c:4877:23: note: Assuming 'sanitized' is equal to null # if (ret != EOK || sanitized == NULL) { # ^~~~~~~~~~~~~~~~~ 35. sssd-1.16.0/src/db/sysdb_ops.c:4877:5: note: Taking true branch # if (ret != EOK || sanitized == NULL) { # ^ 38. sssd-1.16.0/src/db/sysdb_ops.c:4878:9: note: Left side of '||' is false # DEBUG(SSSDBG_OP_FAILURE, "sss_filter_sanitize failed.\n"); # ^ 41. sssd-1.16.0/src/util/debug.h:123:9: note: expanded from macro 'DEBUG' # if (DEBUG_IS_SET(__debug_macro_level)) { \ # ^ 44. sssd-1.16.0/src/util/debug.h:135:30: note: expanded from macro 'DEBUG_IS_SET' # #define DEBUG_IS_SET(level) (debug_level & (level) || \ # ^ 47. sssd-1.16.0/src/db/sysdb_ops.c:4878:9: note: Assuming 'debug_level' is not equal to 0 # DEBUG(SSSDBG_OP_FAILURE, "sss_filter_sanitize failed.\n"); # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 50. sssd-1.16.0/src/util/debug.h:123:9: note: expanded from macro 'DEBUG' # if (DEBUG_IS_SET(__debug_macro_level)) { \ # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 53. sssd-1.16.0/src/util/debug.h:136:30: note: expanded from macro 'DEBUG_IS_SET' # (debug_level == SSSDBG_UNRESOLVED && \ # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 56. sssd-1.16.0/src/db/sysdb_ops.c:4878:9: note: Left side of '&&' is false 57. sssd-1.16.0/src/util/debug.h:123:9: note: expanded from macro 'DEBUG' # if (DEBUG_IS_SET(__debug_macro_level)) { \ # ^ 60. sssd-1.16.0/src/util/debug.h:136:63: note: expanded from macro 'DEBUG_IS_SET' # (debug_level == SSSDBG_UNRESOLVED && \ # ^ 63. sssd-1.16.0/src/db/sysdb_ops.c:4878:9: note: Loop condition is false. Exiting loop 64. sssd-1.16.0/src/util/debug.h:121:35: note: expanded from macro 'DEBUG' # #define DEBUG(level, format, ...) do { \ # ^ 67. sssd-1.16.0/src/db/sysdb_ops.c:4879:9: note: Control jumps to line 4892 # goto done; # ^ 70. sssd-1.16.0/src/db/sysdb_ops.c:4960:12: note: Returning from 'sysdb_search_object_by_str_attr' # return sysdb_search_object_by_str_attr(mem_ctx, domain, SYSDB_SID_FILTER, # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 73. sssd-1.16.0/src/db/sysdb_ops.c:4209:11: note: Returning from 'sysdb_search_object_by_sid' # ret = sysdb_search_object_by_sid(tmp_ctx, domain, sid_str, NULL, &res); # ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 76. sssd-1.16.0/src/db/sysdb_ops.c:4211:5: note: Taking false branch # if (ret == ENOENT) { # ^ 79. sssd-1.16.0/src/db/sysdb_ops.c:4217:12: note: Taking false branch # } else if (ret != EOK) { # ^ 82. sssd-1.16.0/src/db/sysdb_ops.c:4223:9: note: Dereference of undefined pointer value # if (res->count > 1) { # ^~~~~~~~~~ # 4221| } # 4222| # 4223|-> if (res->count > 1) { # 4224| DEBUG(SSSDBG_FATAL_FAILURE, "getbysid call returned more than one " \ # 4225| "result !?!\n"); Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com>

ac962e2b286988d8666b3b81bf8b55b1705b9ac0 26-Oct-2017 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Prevent users and groups ID collision in MPG domains except for id_provider=local This commit makes the check when adding an object in a MPG domain stricter in the sense that not only same names are allowed in a MPG domain, but also the same groups are not allowed either. This commit is a backwards-incompatible change, but one that is needed, otherwise requesting the duplicate group first and then requesting the user entry would yield two object when searching by GID. In order to keep backwards-compatibility, this uniqueness is NOT enforced with id_provider=local. This constraint can be removed in the future (or the local provider can be dropped altogether) Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

1f2662c8f97c9c0fa250055d4b6750abfc6d0835 11-Oct-2017 Sumit Bose <sbose@redhat.com>

sysdb: sanitize search filter input This patch sanitizes the input for sysdb searches by UPN/email, SID and UUID. This security issue was assigned CVE-2017-12173 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

e5c42c2630093d3020b3c4944cce1646325bc236 05-Sep-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB: Add sysdb_search_by_orig_dn() Three new methods have been added to sysdb's API in order to perform search by the orig dn (which is quite common in SSSD's code base). A common/base method called sysdb_search_by_orig_dn() is the most important one and then a few other helpers for searching users and groups groups directly. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

41708e1e500e7cada3d3e606aa2b8b9869a5c734 15-Jun-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB: Introduce _search_{users,groups}_by_timestamp() These new two sysdb methods are going to be used, at least for now, uniquely and exclusively in the cleanup task. The reason for adding those is that during the cleanup task a timestamp search is done in the persistent cache, which doesn't have the updated timestamps, returning then a wrong result that ends up in having all the users being removed from the cache. The persistent cache doesn't have its entries' timestamps updated because those are kept updated in the timestamp cache, therefore these new two methods end up doing: - if the timestamp cache is present: - search for the entries solely in the timestamp cache; - get the needed attributes from these entries from the persistent cache; - otherwise: - search for the entries in the persistent cache; - merge its results with timestamp cache's results; Related: https://pagure.io/SSSD/sssd/issue/3369 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

a71f1a655dcc2ca6dc16bb8eb1c4c9e24cfe2c3e 15-Jun-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB_OPS: Invalidate a cache entry also in the ts_cache Similarly to what has been in the previous commit (expiring an entry also in the timestamp cache), we should do the same when invalidating an entry. Related: https://pagure.io/SSSD/sssd/issue/3369 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

9883d1e2913ff0c1db479f1ece8148e03155c7f3 15-Jun-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB_OPS: Mark an entry as expired also in the timestamp cache As the cleanup task will start using new methods for searching the users and groups which have to be cleaned up, SSSD starts relying more in a more consistent state of the timestamp cache on pretty much everything related to the cleanup task. One of the things that would cause SSSD some problems is not having the ghost user expired in the persistent cache but not in the timestamp cache. With this patch, the entry is also expired in the timestamp cache when it's present. Related: https://pagure.io/SSSD/sssd/issue/3369 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

01c6bb9b47401f9f14c4cfe5c5f03fce2e63629b 15-Jun-2017 Fabiano Fidêncio <fidencio@redhat.com>

SYSDB: Return ERR_NO_TS when there's no timestamp cache present This change affects sysdb_search_ts_{users,groups} functions and is mainly needed in order to avoid breaking our current tests due to the changes planned for fixing https://pagure.io/SSSD/sssd/issue/3369. Related: https://pagure.io/SSSD/sssd/issue/3369 Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

901396366075dc3e3fcc0894345af1b51052ac69 30-Mar-2017 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Only generate new UID in local domain To avoid issues where a user with no UID but without the posix=false flag was passed to sysdb, we only allow generating the new ID in the local domain. This might prevent bugs where non-POSIX users would get a UID created by sysdb which might allow accessing resources owned by that UID. Reviewed-by: Sumit Bose <sbose@redhat.com>

5f7f249f2a8a1c7284e991aa64dbf850d482b0aa 30-Mar-2017 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Allow storing non-POSIX users Related to: https://pagure.io/SSSD/sssd/issue/3310 We already do the same for groups. If the user does not have UID number set but does have the POSIX: false attribute set, then we save the user with zero UID and the non-POSIX flag. Reviewed-by: Sumit Bose <sbose@redhat.com>

b341ee51cffd98b642b9c68a417f8a7504e303a1 23-Mar-2017 Sumit Bose <sbose@redhat.com>

sss_cert_derb64_to_ldap_filter: add sss_certmap support Use certificate mapping library if available to lookup a user by certificate in LDAP. Related to https://pagure.io/SSSD/sssd/issue/3050 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

81c564a0692aa4b719af2219f52894e6cd4bdf9f 23-Mar-2017 Sumit Bose <sbose@redhat.com>

LDAP: always store the certificate from the request Store the certificate used to lookup a user as mapped attribute in the cached user object. Related to https://pagure.io/SSSD/sssd/issue/3050 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

70c0648f021ded3d31313eb962e1ad140f242673 23-Mar-2017 Sumit Bose <sbose@redhat.com>

sdap_get_users_send(): new argument mapped_attrs mapped_attrs can be a list of sysdb_attrs which are not available on the server side but should be store with the cached user entry. This is needed e.g. when the input to look up the user in LDAP is not an attribute which is stored in LDAP but some data where LDAP attributes are extracted from. The current use case is the certificate mapping library which can create LDAP search filters based on content of the certificate. To allow upcoming cache lookup to use the input directly it is stored in the user object in the cache. Related to https://pagure.io/SSSD/sssd/issue/3050 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

ba926c98b7ae605077a09ba7135e05257de62a0f 10-Mar-2017 Sumit Bose <sbose@redhat.com>

sysdb: allow multiple results for searches by certificate Related to https://pagure.io/SSSD/sssd/issue/3050 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

57a924e71230ea360b19a88e0d5818cf01017161 08-Mar-2017 Petr Čech <pcech@redhat.com>

sss_cache: User/groups invalidation in domain cache When a group/users are invalidated from sss_cache, the group/user information in domain and timestamps cache are inconsistent with regard to dataExpireTimestamp attribute. This patch fixes the problem by explicitly invalidating the domain cache's entry when the timestamp cache entry is invalidated by sss_cache call. There is one new function: * sysdb_invalidate_cache_entry() provided for this purpose and used only in sss_cache utility. Resolves: https://fedorahosted.org/sssd/ticket/3164 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

afadeb1a530ff010a2f9a7552562576b843c874b 03-Mar-2017 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: When searching for UPNs, search either the whole DB or only the given domain The search-by-UPN functions always searched for the whole domain. In some cases, the caller depends on the result coming from the domain specified by the 'domain' parameter. This is the case in the cache_req code at least. Even though it should be safe to just switch to always searching the whole domain, in order to allow us to examine the code carefully and test each codepath, let's introduce a boolean option to the search functions. Currently it defaults to false in all codepaths and as we test the individual ones, we can flip the option to true until we finally remove the option altogether. Reviewed-by: Sumit Bose <sbose@redhat.com>

2e505786d6d9d537f5b6631099862f6b93e2e687 01-Feb-2017 Lukas Slebodnik <lslebodn@redhat.com>

Suppres implicit-fallthrough from gcc 7 Some kind of comments are recognized by gcc7 but they are ignored with -Wimplicit-fallthrough=5 and only attributes disable the warning. Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>

8a4a2b87f51462ac22bf6db93927484841f098c6 23-Jan-2017 Lukas Slebodnik <lslebodn@redhat.com>

sysdb: Search also aliases in sysdb_search_object_by_name sysdb_search_object_by_name did not work well case insensitive domain. Resolves: https://fedorahosted.org/sssd/ticket/3284 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

3be2628d8aba6aeb99ac1484da990f1fad8169ec 19-Dec-2016 Pavel Březina <pbrezina@redhat.com>

cache_req: add object by id This request returns either user or group object. Resolves: https://fedorahosted.org/sssd/ticket/3151 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

488518dde58724daa13b9216a0f1af6e0ba5401f 19-Dec-2016 Pavel Březina <pbrezina@redhat.com>

cache_req: add object by name This request returns either user or group object. Resolves: https://fedorahosted.org/sssd/ticket/3151 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

ee576602d8b46b313c4f7ac8324cc31faefae46a 08-Dec-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Suppress sysdb_delete_ts_entry failed: 0 Reviewed-by: Michal Židek <mzidek@redhat.com>

cb056fe82410a31ad3426b1cc58c81710ff9ac83 08-Nov-2016 Petr Cech <pcech@redhat.com>

SYSDB: Adding message to inform which cache is used Resolves: https://fedorahosted.org/sssd/ticket/3060 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

b9941359b3181c42f415530d5ccad0f4664d85fa 21-Sep-2016 Lukas Slebodnik <lslebodn@redhat.com>

Remove double semicolon at the end of line Reviewed-by: Pavel Březina <pbrezina@redhat.com>

0d1d9d8001232f74eca63cbba6c400d507b33823 01-Sep-2016 Petr Čech <pcech@redhat.com>

SYSDB: Removing of unused parameter There were unused parameter struct ldb_message *cached_group in sysdb_store_group_attrs(). This parameter was introduced by 40de79d69860ec7f04bf7795bd88b641ec42fd23 SYSDB: Check if group attributes differ before saving a group Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

b969ccc2cc58fdf761e5d314de9217f2d914bc9b 31-Aug-2016 Lukas Slebodnik <lslebodn@redhat.com>

SYSDB: Fix error handling in sysdb_get_user_members_recursively We ignored failures from sysdb_search_entry Reviewed-by: Petr Čech <pcech@redhat.com>

00f3c5cd03625357e226552084e499965512bf53 10-Aug-2016 Lukas Slebodnik <lslebodn@redhat.com>

SYSDB: Avoid optimisation with modifyTimestamp for users The usage of modifyTimestamp needn't be a reliable way for detecting of changes in user entry in LDAP. The authorisation need to rely current data from LDAP and therefore we will temporary disable optimisation with modifyTimestamp and we will rather rely on deep comparison of attributes. In he future, it might be changed and responders might control the optimization level. Resolves: https://fedorahosted.org/sssd/ticket/3110 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

eb92441b65e0db9e64c88a57eb74358640e85d56 05-Aug-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Fix setting dataExpireTimestamp if sysdb is supposed to set the current time sysdb is already able to retrieve the current timestamp if the caller doesn't specify it. However, for the timestamp cache this came too late and the timestamp cache used zero as the 'now' time. Resolves: https://fedorahosted.org/sssd/ticket/3064 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

31fdda9759a8a03081b5ab6307a5e8ce4cbe50d2 05-Aug-2016 Lukas Slebodnik <lslebodn@redhat.com>

SYSDB: Sanitize dn in sysdb_get_user_members_recursively There was a crash in nss responder when a group contained a user with special charactes which shoudl be sanitized before using in filter. ==31651== Conditional jump or move depends on uninitialised value(s) ==31651== at 0x8BEA7DE: _talloc_steal_loc (talloc.c:1215) ==31651== by 0x5264889: sysdb_get_user_members_recursively (sysdb_ops.c:4759) ==31651== by 0x5278F61: sysdb_add_group_member_overrides (sysdb_views.c:1375) ==31651== by 0x526677C: sysdb_getgrnam_with_views (sysdb_search.c:799) ==31651== by 0x1172F6: nss_cmd_getgrnam_search (nsssrv_cmd.c:3168) ==31651== by 0x119C67: nss_cmd_getby_dp_callback (nsssrv_cmd.c:1382) ==31651== by 0x10FD14: nsssrv_dp_send_acct_req_done (nsssrv_cmd.c:916) ==31651== by 0x12898B: sss_dp_internal_get_done (responder_dp.c:791) ==31651== by 0x58FF861: complete_pending_call_and_unlock (dbus-connection.c:2314) ==31651== by 0x5902B50: dbus_connection_dispatch (dbus-connection.c:4580) ==31651== by 0x527F261: sbus_dispatch (sssd_dbus_connection.c:96) ==31651== by 0x89D8B4E: tevent_common_loop_timer_delay (tevent_timed.c:341) Resolves: https://fedorahosted.org/sssd/ticket/3121 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

78677495a7762469002b0976809fa20ac2196f42 29-Jul-2016 Sumit Bose <sbose@redhat.com>

sysdb: include email in UPN searches Email addresses and Kerberos user principals names (UPNs) do not only look similar they also can be used to identify a user uniquely. In future this approach should be replace by a more generic one where the attributes which can uniquely identifies a user can be configured to support even a wider range of login names. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

17bfd9f69251781140e4b2b55ffeb649d7a79e86 29-Jul-2016 Sumit Bose <sbose@redhat.com>

sysdb: add sysdb_get_user_members_recursively() Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

a2eba280a64dc40a0735ecc0b8e2548ad0b5aa1a 25-Jul-2016 Lukas Slebodnik <lslebodn@redhat.com>

SYSDB: Do not try to modify ts cache for unsupported DNs Only users and groups have timestamp data in separate cache. It caused false positive warnings for autofs, netgroup ... Reviewed-by: Petr Čech <pcech@redhat.com>

66acb466af7493a05bf6292f01747c4e8abcc3ef 07-Jul-2016 Michal Zidek <mzidek@redhat.com>

SYSDB: convert sysdb_group_membership_mod to operate on qualified names This patch infers the member domain from the FQDN to allow the function to add group members from different domains. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

5d0d0f8067fb53285a38fe978cfa36dbeb53be9b 06-Jul-2016 Lukas Slebodnik <lslebodn@redhat.com>

sysdb: Use ldb_result as output in sysdb_search_ts_{users,groups} Passing address of unsigned to the output argument size_t causes access out of boundaries for type unsigned and and wrong data on big endian. It looks like functions sysdb_search_ts_{users,groups} need to store results in structure ldb_result anyway for further processing. Therefore it will be better to convert output arguments size_t* + ldb_message*** into structure ldb_result and avoid using additional helper variable with type size_t before each invocation of these functions. Reviewed-by: Sumit Bose <sbose@redhat.com>

3bd9da80f71a6794af0a6b3fbc11bc3a2da64638 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Only update user attributes if needed Resolves: https://fedorahosted.org/sssd/ticket/2602 Uses the same logic as previously used for updating group entries to only update user attributes if the group entry actually changed. Reviewed-by: Sumit Bose <sbose@redhat.com>

4016c7dd288d379118b47ecbe7d8f46cfcb0d400 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Refactor sysdb_store_user Splits sysdb_store_user internals to two functions because the original function either creates a new user or updates an existing one. Reviewed-by: Sumit Bose <sbose@redhat.com>

40de79d69860ec7f04bf7795bd88b641ec42fd23 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Check if group attributes differ before saving a group Adds a new function sysdb_entry_attrs_diff() used in group saving code. This function is used to check if the result of updating a group would result in actually changing the sysdb entry -- often, we would try to dump the same data to the cache during update. If that's the case, the update code now only updates the timestamp cache, avoiding costly writes. Reviewed-by: Sumit Bose <sbose@redhat.com>

a257259b05d62ebe548b6c798a3aa03a97dbc0c2 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: If modifyTimestamp is the same, only update the TS cache Resolves: https://fedorahosted.org/sssd/ticket/2602 If the entry being saved contains the original modifyTimestamp attribute and the modifyTimestamp attribute is the same as the one we already saved to the timestamp cache, only the expire timestamps in the asynchronous timestamp cache will be bumped and the sysdb code will avoid writes to the main cache completely. If the modifyTimestamp is either missing or differs, we assume the entry had changed and do a full write to the main cache. Also amends the generic sysdb_set_attrs* and similar functions that their results is also reflected in the timestamps cache. Reviewed-by: Sumit Bose <sbose@redhat.com>

dd285415d7a8d8376207960cfa3e977524c3b98c 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Search the timestamp caches in addition to the sysdb cache When a sysdb entry is searched, the sysdb cache is consulted first for users or groups. If an entry is found in the sysdb cache, the attributes from the timestamp cache are merged to return the full and up-to-date set of attributes. The merging is done with a single BASE search which is a direct lookup into the underlying key-value database, so it should be relatively fast. More complex merging is done only for enumeration by filter which is currently done only via the IFP back end and should be quite infrequent, so I hope we can justify a more complex merging there. Reviewed-by: Sumit Bose <sbose@redhat.com>

13d7df10bf4d76c333a9169f9fcbeb891d870351 23-Jun-2016 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Wrap sysdb_store_group in a transaction and split it into smaller functions sysdb_store_group can do several things -- add, rename or update a group. It's important they are all done in a single transaction (even though the caller should typically start a transaction of his own). Also split the sysdb_store_group function into two, one that only stores a new group and one that changes attributes of an existing group to keep the flow easy and avoid two labels in a single function. Reviewed-by: Sumit Bose <sbose@redhat.com>

49d84c926b00ba1368372cdec255bceb58d66f43 31-May-2016 Fabiano Fidêncio <fidencio@redhat.com>

sysdb: add sysdb_{add,replace,delete}_ulong() As the add_ulong() convenience can add, replace or remove a unsigned long according to the operation received as its argument, some confusion can easily happen due to its misleading name. In order to improve the explicitness of our code, let's introduce sysdb_add_ulong(), sysdb_replace_ulong() and sysdb_delete_ulong(). These new functions are basically wrappers of add_ulong() (now sysdb_ldb_msg_ulong_helper()), calling it using the proper flag according to each function. Any code previously using add_ulong() is now adapted to use these brand new functions. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org> Reviewed-by: Petr Cech <pcech@redhat.com>

7b9a4a89cb92a0281d73a2c2e79f5eeb317e1149 31-May-2016 Fabiano Fidêncio <fidencio@redhat.com>

sysdb: move add_ulong() convenience to sysdb.c Considering that sysdb.c is about utilities around our cache and that sysdb_ops.c is about operations on objects, seems that add_ulong() could fit better in sysdb.c. This move is a suggestion from Jakub Hrozek. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org> Reviewed-by: Petr Cech <pcech@redhat.com>

a928f7a6bd7681db6e26cba3eb7da22d14288737 31-May-2016 Fabiano Fidêncio <fidencio@redhat.com>

sysdb: add sysdb_{add,replace,delete}_string() As the add_string() convenience can add, replace or delete a string according to the operation received as its argument, some confusion can easily happen due to its misleading name. In order to improve the explicitness of our code, let's introduce sysdb_add_string(), sysdb_replace_string() and sysdb_delete_string(). These new functions are basically wrappers of add_string() (now sysdb_ldb_msg_string_helper()), calling it using the proper flag according to each function. Any code previously using add_string() is now adapted to use these brand new functions. Resolves: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org> Reviewed-by: Petr Cech <pcech@redhat.com>

5b1e73bc40a55f2095660423a2a4623a93de1ef8 31-May-2016 Fabiano Fidêncio <fidencio@redhat.com>

sysdb: move add_string() convenience to sysdb.c Considering that sysdb.c is about utilities around our cache and that sysdb_ops.c is about operations on objects, seems that add_string() could fit better in sysdb.c. This move is a suggestion from Jakub Hrozek. Related: https://fedorahosted.org/sssd/ticket/1656 Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org> Reviewed-by: Petr Cech <pcech@redhat.com>

659232f194f83ec7c450ce89c3fd41e4e74409f2 01-Mar-2016 Pavel Březina <pbrezina@redhat.com>

remove user certificate if not found on the server If the user is not found by cert lookup when the user is already cached, two things may happen: 1) cert was removed from the user object 2) user was removed Instead of issuing another cert lookup we will just remove cert attribute from the cache not touching the expiration timestamp so the user may be updated later when needed. Resolves: https://fedorahosted.org/sssd/ticket/2934 Reviewed-by: Sumit Bose <sbose@redhat.com>

8ded8b2f4a57d1833fd230307218d8b07a571785 08-Oct-2015 Sumit Bose <sbose@redhat.com>

nss: fix UPN lookups for sub-domain users Reviewed-by: Sumit Bose <sbose@redhat.com>

391b81f2a78a812a87530e0c50c70d59150f49eb 08-Oct-2015 Sumit Bose <sbose@redhat.com>

fix ldb_search usage Reviewed-by: Sumit Bose <sbose@redhat.com>

28ebfa4373d1e7ce45b5d70a3619df1c074a661e 08-Oct-2015 Pavel Březina <pbrezina@redhat.com>

cache_req: add support for UPN Reviewed-by: Sumit Bose <sbose@redhat.com>

b0d6d14b5bcc137074383abcd2bf8039c3d74b02 03-Sep-2015 Michal Židek <mzidek@redhat.com>

SYSDB: Add function to expire entry Ticket: https://fedorahosted.org/sssd/ticket/2676 Added function to expire entry in sysdb using its DN. Reviewed-by: Pavel Reichl <preichl@redhat.com>

6aff93510b36799c1773d368cc218cd533c43161 06-Jul-2015 Pavel Reichl <preichl@redhat.com>

Minor code improvements pam_helpers.h had to be included after util.h. Removed exara empty line. Fixed code alignment Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

7d8b7d82f0a91ed656320577fc781f24a66db9f8 19-Jun-2015 Sumit Bose <sbose@redhat.com>

sysdb: add sysdb_search_user_by_cert() and sysdb_search_object_by_cert() Related to https://fedorahosted.org/sssd/ticket/2596 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

e7e61c777e13e0bb07d29b5d1b53e21ca199bf0f 04-Jun-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Do not print verbose DEBUG messages from providers that don't set UUID https://fedorahosted.org/sssd/ticket/2666 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

219f5b698fa72c0d5a8da2b0dd99daec3f924c94 08-May-2015 Sumit Bose <sbose@redhat.com>

2FA offline auth Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

55b7fdd837a780ab0f71cbfaa2403f4626993922 08-May-2015 Sumit Bose <sbose@redhat.com>

sysdb: add sysdb_cache_password_ex() Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

ce6f3b6b2925d2c3ec02a76c3a1b6fbe4c7b145e 24-Apr-2015 Jakub Hrozek <jhrozek@redhat.com>

sysdb: Add cache_expire to the default sysdb_search_object_by_str_attr set Reviewed-by: Lukáš Slebodník <lslebodn@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>

04d138472cc086fb7961f0d378852b09961b1a33 11-Mar-2015 Lukas Slebodnik <lslebodn@redhat.com>

Log reason in debug message why ldb_modify failed Reviewed-by: Sumit Bose <sbose@redhat.com>

12a000c8c7c07259e438fb1e992134bdd07d9a30 09-Mar-2015 Pavel Březina <pbrezina@redhat.com>

sysdb: use sysdb_user/group_dn Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

108db0e3b9e06e530364ef8228634f5e3f6bd3b5 30-Jan-2015 Jakub Hrozek <jhrozek@redhat.com>

LDAP: Add UUID when saving incomplete groups Related to: https://fedorahosted.org/sssd/ticket/2571 Reviewed-by: Sumit Bose <sbose@redhat.com>

fc2146c108e28d50bbf691925cedf9592142dd14 23-Jan-2015 Sumit Bose <sbose@redhat.com>

sysdb: remove ghosts in all sub-domains as well If a user is a member is a group in a different sub-domain, e.g with universal groups in AD, the ghost attribute might not be properly removed from the group object if the user is resolved. The reason is that only groups from the domain of the user were search for ghost attributes. This patch increases the search-base to all sub-domains of the configured SSSD domain. Resolves https://fedorahosted.org/sssd/ticket/2567 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

4bbcc2d6d3f16b015796818746a45134861c93a4 17-Dec-2014 Pavel Reichl <preichl@redhat.com>

SYSDB: sysdb_search_object_by_sid returns ENOENT sysdb_search_object_by_sid returns ENOENT if no results are found. Part od solution for: https://fedorahosted.org/sssd/ticket/1991 Fixes: https://fedorahosted.org/sssd/ticket/2520 Reviewed-by: Lukáš Slebodník <lslebodn@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>

907a7c626db407d19d4cae85c2db7d3561120349 20-Nov-2014 Sumit Bose <sbose@redhat.com>

sysdb: add sysdb_search_object_by_uuid() Related to https://fedorahosted.org/sssd/ticket/2481 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

a983272f1afa8dbae3ecd4425b04649601732a71 20-Oct-2014 Sumit Bose <sbose@redhat.com>

sid2name: return name without views applied Make sure that the original name of an object without any overrides applied is returned by sid2name requests. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

8b512a26e7f0ea1ea8b954de1ad027eb3b1cab6f 17-Sep-2014 Sumit Bose <sbose@redhat.com>

sysdb: sysdb_search_group_by_name should work like sysdb_search_user_by_name Currently sysdb_search_group_by_name uses an optimization which might fail in case-insensitive environments. The DN of the group object is generated with the help of the given name. Since the DN is case-sensitive a group lookup will fail if different cases are used. sysdb_search_user_by_name already handles case-insensitive searches well and sysdb_search_group_by_name should use the same scheme. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

23600a657f84bbd71dca4dd77d65a1c6f4f4ff86 17-Sep-2014 Daniel Gollub <dgollub@brocade.com>

sysdb: Write additional attrs in sysdb_add_user In the uid=0 case (to obtain new free id) only uidNumber and gidNumber attributes got written, but not the additonal provided attributes like alias or others. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

61602026ed8c91efd166000562899670449f1b50 05-Sep-2014 Pavel Reichl <preichl@redhat.com>

SYSDB: SSS_LDB_SEARCH - macro around ldb_search This patch amends previous patch 5153e8b9793dea1e212ca08af0f77ea1d023cbb7. Macro SSS_LDB_SEARCH is used instead of using fuction sss_ldb_search as a wrapper around ldb_search which could lead to premature expansion of variadic parameters. Part of solution for: https://fedorahosted.org/sssd/ticket/1991 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

ff541559e911b91b161f1b8411dd9d8cc60f2a18 19-Aug-2014 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Clarify sss_ldb_modify_permissive returns ldb error code Reviewed-by: Lukáš Slebodník <lslebodn@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>

5153e8b9793dea1e212ca08af0f77ea1d023cbb7 25-Jun-2014 Pavel Reichl <preichl@redhat.com>

SYSDB: sss_ldb_search - wrapper around ldb_search Make sure that if no results were found ENOENT is returned rather than just empty list of results. Resolves: https://fedorahosted.org/sssd/ticket/1991 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

7420bdb0b76ab7ba6e20a0e9b080241bd8269e6b 23-Jun-2014 Lukas Slebodnik <lslebodn@redhat.com>

SYSDB: Modify declaration of sysdb_search_entry Type of parameter scope was changed s/int/enum ldb_scope/ This patch fixes warning from static analysers: src/db/sysdb_ops.c:228: mixed_enum_type: enumerated type mixed with another type Reviewed-by: Pavel Reichl <preichl@redhat.com>

7ecb5aea65cb1899f16e7a41bffa93d074defd4a 20-Jun-2014 Sumit Bose <sbose@redhat.com>

sysdb: add sysdb_search_user_by_upn() with tests Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

a4caef931a245fb3c44b70ea65a58bd0c1ff8dc4 20-Jun-2014 Pavel Reichl <preichl@redhat.com>

SYSDB: sysdb_search_custom fix memory leak Add temporally talloc context to allocate basedn on. Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>

09579ae252c181c7884defc0612c36108f6cf509 20-Jun-2014 Pavel Reichl <preichl@redhat.com>

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

Use lower-case name for case-insensitive searches The patch makes sure that a completely lower-cased version of a fully qualified name is used for case insensitive searches. Currently there are code paths where the domain name was used as configured and was not lower-cased. To make sure this patch does not break with old entries in the cache or case sensitive domains a third template was added to the related filters templates which is either filled with a completely lower-cased version or with the old version. The other two template values are unchanged.

953e10a2f89bf1e21ffd4d8ebc9e1f84fbdb676d 18-Dec-2013 Pavel Reichl <pavel.reichl@redhat.com>

SYSDB: missing conversion of LDB error to errno

65b8ace4d8892c85220e5bcf5ae7d92a6517aa65 18-Dec-2013 Pavel Reichl <pavel.reichl@redhat.com>

SYSDB: typos & debug macro constants

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

SYSDB: Sanitize filter before removing ghost attrs sysdb_add_user fails with EIO if enumeration is disabled and user contains backslashes. We try to remove ghost attributes from groups with disabled enumeration, but unsanitized filter is used to find ghost attributes "(|(ghost=usr\\\\002)" and ldb cannot parse this filter. Resolves: https://fedorahosted.org/sssd/ticket/2163

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

SYSDB: Sanitize filter before sysdb_search_groups sysdb_delete_user fails with EIO if user does not exist and contains backslashes. ldb could not parse filter (&(objectclass=group)(ghost=usr\\\\001)), because ghost value was not sanitized Resolves: https://fedorahosted.org/sssd/ticket/2163

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)

sysdb.h sysdb_autofs.c sysdb_ops.c sysdb_services.c sysdb_ssh.c sysdb_sudo.c /sssd-io/src/providers/ipa/ipa_access.c /sssd-io/src/providers/ipa/ipa_hbac_common.c /sssd-io/src/providers/ipa/ipa_hbac_hosts.c /sssd-io/src/providers/ipa/ipa_hbac_services.c /sssd-io/src/providers/ipa/ipa_hbac_users.c /sssd-io/src/providers/ipa/ipa_id.c /sssd-io/src/providers/ipa/ipa_netgroups.c /sssd-io/src/providers/ipa/ipa_s2n_exop.c /sssd-io/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/ldap/ldap_auth.c /sssd-io/src/providers/ldap/ldap_id.c /sssd-io/src/providers/ldap/ldap_id_cleanup.c /sssd-io/src/providers/ldap/ldap_id_netgroup.c /sssd-io/src/providers/ldap/sdap_async_groups.c /sssd-io/src/providers/ldap/sdap_async_initgroups.c /sssd-io/src/providers/ldap/sdap_async_initgroups_ad.c /sssd-io/src/providers/ldap/sdap_async_nested_groups.c /sssd-io/src/providers/ldap/sdap_async_netgroups.c /sssd-io/src/providers/ldap/sdap_async_users.c /sssd-io/src/providers/ldap/sdap_reinit.c /sssd-io/src/providers/proxy/proxy_auth.c /sssd-io/src/providers/proxy/proxy_id.c /sssd-io/src/providers/proxy/proxy_netgroup.c /sssd-io/src/providers/simple/simple_access_check.c /sssd-io/src/responder/nss/nsssrv_cmd.c /sssd-io/src/responder/pac/pacsrv_cmd.c /sssd-io/src/responder/pac/pacsrv_utils.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/responder/sudo/sudosrv_get_sudorules.c /sssd-io/src/tests/cmocka/test_nss_srv.c /sssd-io/src/tests/simple_access-tests.c /sssd-io/src/tests/sysdb-tests.c /sssd-io/src/tools/sss_cache.c /sssd-io/src/tools/sss_groupshow.c /sssd-io/src/tools/sss_seed.c /sssd-io/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)

sysdb.h sysdb_ops.c sysdb_sudo.c /sssd-io/src/providers/ipa/ipa_auth.c /sssd-io/src/providers/ipa/ipa_hbac_common.c /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/ldap/sdap_access.c /sssd-io/src/providers/ldap/sdap_async_groups.c /sssd-io/src/providers/ldap/sdap_async_initgroups.c /sssd-io/src/providers/ldap/sdap_async_initgroups_ad.c /sssd-io/src/providers/proxy/proxy_id.c /sssd-io/src/providers/simple/simple_access_check.c /sssd-io/src/responder/nss/nsssrv_cmd.c /sssd-io/src/responder/pac/pacsrv_cmd.c /sssd-io/src/responder/pam/pam_LOCAL_domain.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/tests/sysdb-tests.c /sssd-io/src/tools/sss_cache.c /sssd-io/src/tools/sss_groupshow.c /sssd-io/src/tools/sss_sync_ops.c /sssd-io/src/tools/tools_mc_util.c /sssd-io/src/util/sss_selinux.c
8b64ca35eb73667a589067788a6f9fb1f7d281c1 25-Oct-2013 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Add sysdb_delete_by_sid

6ff294ac06863ea76463c3fa3549cc46a60b75ad 26-Sep-2013 Pavel Březina <pbrezina@redhat.com>

sysdb: sysdb_update_members can take either name or dn We need to work with distinguish names when processing cross-domain membership, because groups and users may be stored in different sysdb tree. Resolves: https://fedorahosted.org/sssd/ticket/2066

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

Fix formating of variables with type: gid_t

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

Fix formating of variables with type: uid_t

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

Fix formating of variables with type: size_t

sysdb_autofs.c sysdb_ops.c sysdb_search.c /sssd-io/src/providers/ad/ad_srv.c /sssd-io/src/providers/fail_over_srv.c /sssd-io/src/providers/ipa/ipa_config.c /sssd-io/src/providers/ipa/ipa_idmap.c /sssd-io/src/providers/ipa/ipa_netgroups.c /sssd-io/src/providers/ipa/ipa_selinux.c /sssd-io/src/providers/ipa/ipa_selinux_maps.c /sssd-io/src/providers/ipa/ipa_srv.c /sssd-io/src/providers/ipa/ipa_subdomains_ext_groups.c /sssd-io/src/providers/krb5/krb5_child.c /sssd-io/src/providers/krb5/krb5_child_handler.c /sssd-io/src/providers/krb5/krb5_renew_tgt.c /sssd-io/src/providers/ldap/ldap_child.c /sssd-io/src/providers/ldap/ldap_id_cleanup.c /sssd-io/src/providers/ldap/sdap_access.c /sssd-io/src/providers/ldap/sdap_async_autofs.c /sssd-io/src/providers/ldap/sdap_async_groups.c /sssd-io/src/providers/ldap/sdap_async_groups_ad.c /sssd-io/src/providers/ldap/sdap_async_initgroups.c /sssd-io/src/providers/ldap/sdap_async_initgroups_ad.c /sssd-io/src/providers/ldap/sdap_async_nested_groups.c /sssd-io/src/providers/ldap/sdap_async_netgroups.c /sssd-io/src/providers/ldap/sdap_async_services.c /sssd-io/src/providers/ldap/sdap_async_sudo.c /sssd-io/src/providers/ldap/sdap_async_users.c /sssd-io/src/providers/ldap/sdap_child_helpers.c /sssd-io/src/providers/simple/simple_access_check.c /sssd-io/src/responder/nss/nsssrv_mmap_cache.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/util/child_common.c
fbc419b2eb101c7491324499a698b6bdcb14ad43 10-Sep-2013 Ondrej Kos <okos@redhat.com>

DB: Rise search functions debug levels

abc398cba9d11d3da047636992ec14c2d4535161 10-Sep-2013 Ondrej Kos <okos@redhat.com>

DB: Add user/group lookup by SID

7d8255cf8f10627248bdf554952d13eee1b3317d 10-Sep-2013 Pavel Březina <pbrezina@redhat.com>

sysdb_search_group_by_gid: obtain gid instead of uid

75dd4b05e1dacc76dc9d5f16be31978f84a71dc5 19-Aug-2013 Sumit Bose <sbose@redhat.com>

sysdb_add_incomplete_group: store SID string is available During initgroups request we read the SID of a group from the server but do not save it to the cache. This patch fixes this and might help to avoid an additional lookup of the SID later.

93bd0fbd1147371122612af88ed8a3c4534112ae 09-Jul-2013 Jakub Hrozek <jhrozek@redhat.com>

DB: sysdb_search_user_by_name: search by both name and alias

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

sysdb: add sysdb_search_object_by_sid() The patch add a new sysdb to find objects based on their SID. Currently only the basic attributes needed to map SIDs to POSIX IDs and names are requested, but this list can be extended for future use cases.

36c50faf2674a3ebd8a6458f3c53fb72a68d1f28 29-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

Only try to relink ghost users if we're not enumerating https://fedorahosted.org/sssd/ticket/1893 When SSSD is not enumerating (which is the default), we are trying to link any "ghost" entries with a newly created user entry. However, when enumeration is on, this means a spurious search on adding any user.

ab967283b710dfa05d11ee5b30c7ac916486ceec 04-Mar-2013 Simo Sorce <simo@redhat.com>

Use SSSD specific errors for offline auth This prevents reportin false errors when internal functions return a generic EINVAL or EACCES that should just be treated as internal errors.

b1ea4ec53e90bd2897abf47e7af02d157d89d7ae 23-Jan-2013 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: make the sss_ldb_modify_permissive function public

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

Move mpg flag to the domain where it belongs A sysdb contains now multiple domains, but the mpg property is a property of a specific domain not of the underlying database.

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

Add domain argument to sysdb_remove_attrs()

84c986f9bb2767d8930b6f5d92d34b09b8fabe60 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain arg to sysdb_search/delete_netgroup()

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

Add domain argument to sysdb_delete_group() Also remove sysdb_delete_domgroup()

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

Add domain argument to sysdb_search_groups()

3412d14d65490c32414e72ac20fe21bad53ceb45 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_delete_user() Also remove sysdb_delete_domuser()

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

Add domain arg to sysdb_search_users()

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

Add domain to sysdb_delete_custom

770896b194b7b66b09c2a30545b4d091fd86b1f4 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_search_custom() Also changes sysdb_search_custom_by_name()

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

Add domain argument to sysdb_store_custom()

74ac1c2834cd8961ed9e7cadcfe28b113bffe4de 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_cache_auth()

777f5bc1fb5f2ba4267de83843beee51090eb8d5 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_cache_password()

363ce75bfe2f73198e1ae7feeed97b6009ae24b8 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain arg to sysdb group member functions

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

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

6ac396bebb4cd3124711d26dce54263f6f9c7c45 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_store_user() Also remove sysdb_store_domuser()

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

Add domain arguments to sysdb_add_inetgroup fns.

5c1135221ff3ea9132b6ebf073f2dcae88b73b3f 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain arguments to sysdb_add_group functions.

7c26e3568d0d789067feef945086dff367408a1c 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_add_user()

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

Add domain argument to sysdb_add_basic_user()

722c364c39bc0ed81e9577fb522f684c0104e26c 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_get_new_id()

3187afe4aafa562f2a6747846181ac06d0659dff 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_set_netgroup_attr()

20d2466dbce2bb950813e3f739bc40b511020efb 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_set_group_attr()

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

Add domain argument to sysdb_set_user_attr()

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

Add domain arg to sysdb_search_netgroup_by_name()

5d72a91a37273c8c874640906fd2f7a70e606812 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain to sysdb_search_group_by_gid() Also remove unused sysdb_search_domgroup_by_gid()

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

Add domain to sysdb_search_group_by_name() Also remove unused sysdb_search_domgroup_by_name()

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

Add domain to sysdb_search_user_by_uid() Also remove unused sysdb_search_domuser_by_uid()

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()

9675bccabff4e79d224f64611ad9ff3e073b488e 15-Jan-2013 Simo Sorce <simo@redhat.com>

Make sysdb_custom_subtree_dn() require a domain.

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

Make sysdb_custom_dn() require a domain.

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

Make sysdb_domain_dn() require a domain.

7c974e792beef952ceb19a01775c6d0ee71a1253 15-Jan-2013 Simo Sorce <simo@redhat.com>

Make sysdb_netgroup_dn() require a domain explictly.

52c72ae8587d8d47393a891ccd4ef06bd4bef856 15-Jan-2013 Simo Sorce <simo@redhat.com>

Make sysdb_group_dn() require a domain explictly.

3613cc1eba1337256a2d06ba7a84532156139ccd 15-Jan-2013 Simo Sorce <simo@redhat.com>

Make sysdb_user_dn() require a domain explictly.

64af76e2bef2565caa9738f675c108a4b3789237 10-Jan-2013 Simo Sorce <simo@redhat.com>

Change pam data auth tokens. Use the new authtok abstraction and interfaces throught the code.

/sssd-io/Makefile.am sysdb_ops.c /sssd-io/src/providers/data_provider.h /sssd-io/src/providers/dp_auth_util.c /sssd-io/src/providers/dp_pam_data_util.c /sssd-io/src/providers/ipa/ipa_auth.c /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/krb5/krb5_child.c /sssd-io/src/providers/krb5/krb5_child_handler.c /sssd-io/src/providers/krb5/krb5_delayed_online_authentication.c /sssd-io/src/providers/krb5/krb5_renew_tgt.c /sssd-io/src/providers/ldap/ldap_auth.c /sssd-io/src/providers/ldap/sdap_async.c /sssd-io/src/providers/ldap/sdap_async.h /sssd-io/src/providers/ldap/sdap_async_connection.c /sssd-io/src/providers/proxy/proxy.h /sssd-io/src/providers/proxy/proxy_auth.c /sssd-io/src/providers/proxy/proxy_child.c /sssd-io/src/responder/pam/pam_LOCAL_domain.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/tests/krb5_child-test.c
c83e409297711e6012a164cc929c758a3f38e9b9 10-Jan-2013 Simo Sorce <simo@redhat.com>

Code can only check for cached passwords Make it clear to the API users that we can not take arbitrary auth tokens. We can only take a password for now so simplify and clarify the interface.

849aa25d7511a44e8f755c6f0a79b2746007a539 08-Jan-2013 Simo Sorce <simo@redhat.com>

Remove dead netgroup functions

c4658655e7cf7ea70b1f12975b1153a1f2997027 07-Jan-2013 Ondrej Kos <okos@redhat.com>

SYSDB: split sysdb_add_user The function itself was very long (more than 300 lines) and hard to read, this patch splits it to three logical blocks.

b01d8c856117f42f1a2c11669c9704166dc8f9ca 07-Jan-2013 Ondrej Kos <okos@redhat.com>

SYSDB: Modify ghosts in permissive mode https://fedorahosted.org/sssd/ticket/1714 The attempt to delete all ghosts for users name and aliases was failing, resulting into failure of whole user-add operation. In permissive mode, the attempts to delete non-existent entries are not interpreted as error.

5fefdbb7936ee47405c4127075896aa8217b4575 10-Dec-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Move misplaced assignment

2e7a2bece1b00022f826d511a3eb87453e285862 23-Nov-2012 Ondrej Kos <okos@redhat.com>

SYSDB: Don't operate with aliases same as name fixes https://fedorahosted.org/sssd/ticket/1628 When user's alias is same as it's name, don't use it for searching in sysdb, and for deleting.

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.

25285335d6d41400870e64f07904e899263699f5 20-Nov-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Use the add_string convenience functions for managing ghost user attribute Using the convenience function instead of low-level ldb calls makes the code more compact and more readable.

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.

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

AUTOFS: Add entry objects below map objects https://fedorahosted.org/sssd/ticket/1506 Changes how the new autofs entry objects are handled. Instead of creating the entry on the cn=autofs,cn=custom level, the entry is created below the map it belongs to.

6ea1223c5efc200e37739e751df9f39887cf8dcd 20-Sep-2012 Jakub Hrozek <jhrozek@redhat.com>

DB: Cancel transaction in sysdb_store_user if sysdb_add_user fails

315f3beea41e48c5103d65ecd9966d94a23518e5 05-Sep-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Commit transaction in sysdb_store_user

3a59cbd0b7b9c5dd3c62ac1679876070c264d80f 04-Sep-2012 Michal Zidek <mzidek@redhat.com>

Unify usage of sysdb transactions (part 2).

d3d297c62e0340151da1d4ce1e082dcfcb45b431 06-Aug-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Use ldb_msg_add_string for simple string additions

3ebf69a3a421a97aa0c27de1f90ea8bae64dc2b2 06-Aug-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Check the return value

2bdb99e3578fa8ff606632d9e7242bc753737752 10-Jul-2012 Jakub Hrozek <jhrozek@redhat.com>

Cast uid_t to unsigned long long in DEBUG messages

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

SYSDB: Reduce noise level of debug messages in lookups

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

Ghost members - modifications in sysdb Deleted sysdb_add_fake_user(): This function is no longer used. Modified sysdb_add_user(): When user object is added to sysdb, it is important to iterate over all groups that might have its name or any of its aliases as ghost member and replace this ghost membership by a real one. This will eliminate duplicite memberships.

79a93ba6dc35ebe525e2d7587bc7e293e8cf3b81 11-May-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Handle user and group renames better Fixes a regression in the local domain tools where sss_groupadd no longer detected a GID duplicate. The check for EEXIST is moved one level up into more high level function. The patch also adds the same rename support for users. I found it odd that we allowed a rename of groups but not users. There is a catch when storing a user -- his cached password would be gone. I think that renaming a user is such a rare operation that it's not severe, plus there is a warning in the logs.

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

SYSDB: Add better error logging to sysdb_set_entry_attr()

4246f60ebd574a30392f3bcf5048c2379a17399f 07-May-2012 Pavel Březina <pbrezina@redhat.com>

Fix typo in debug message

277a0187190fd417696590b303a5d7a204ed0555 24-Feb-2012 Jan Zeleny <jzeleny@redhat.com>

Delete missing attributes from netgroups to be stored https://fedorahosted.org/sssd/ticket/1136

3bea01f01d76e1e95a8239c0d3f67073992136a1 22-Feb-2012 Jan Zeleny <jzeleny@redhat.com>

Don't give memory context in confdb where not needed

1f1e6cbc59868f06dee3ab4b3df660fcb77ce1c8 06-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

AUTOFS: sysdb interface

232b73185893a42e545b20caa9e59880e8a8a901 06-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

SYSDB: Remove code duplication between member_add and member_del

e299638926171e0e92a36122aeff6611cd52418d 31-Jan-2012 Stephen Gallagher <sgallagh@redhat.com>

SYSDB: extend sysdb_store_service() to accept additional attributes

8941d820e05e6a93225b45021dcc314a004f20bc 23-Jan-2012 Stephen Gallagher <sgallagh@redhat.com>

SYSDB: Move add_string and add_ulong to sysdb_private.h

0e34a9148d90a6cc37369de15507b5967e30cecf 22-Nov-2011 Stephen Gallagher <sgallagh@redhat.com>

SYSDB: Make ENOENT log messages less threatening Previously, they were reported with the prefix "Error:" which caused confusion among end-users while debugging.

583f7e8c7178f2019df0f00d9dafe973e88ed707 02-Nov-2011 Jan Zeleny <jzeleny@redhat.com>

Handle group renaming correctly https://fedorahosted.org/sssd/ticket/1040

53b61a2c5132a479b4ef7b0d944e2983b7d5e6c9 31-Oct-2011 Jakub Hrozek <jhrozek@redhat.com>

Plug memory leaks in sysdb_ops https://fedorahosted.org/sssd/ticket/1051

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

95d3cb8d4ff2e3e8fdc186f2ebf617fd29ddfdec 03-Oct-2011 Jakub Hrozek <jhrozek@redhat.com>

Use explicit base 10 for converting strings to integers https://fedorahosted.org/sssd/ticket/1013

4a6a5421113ab662a665c62ed6a24b61a5a36950 28-Sep-2011 Jakub Hrozek <jhrozek@redhat.com>

Multiline macro cleanup This is mostly a cosmetic patch. The purpose of wrapping a multi-line macro in a do { } while(0) is to make the macro usable as a regular statement, not a compound statement. When the while(0) is terminated with a semicolon, the do { } while(0); block becomes a compound statement again.

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

sysdb refactoring: memory context deleted This patch deletes memory context parameter in those places in sysdb where it is not necessary. The code using modified functions has been updated. Tests updated as well.

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

sysdb refactoring: deleted domain variables in sysdb API The patch also updates code using modified functions. Tests have also been adjusted.

sysdb.c sysdb.h sysdb_ops.c sysdb_search.c /sssd-io/src/providers/ipa/ipa_access.c /sssd-io/src/providers/ipa/ipa_auth.c /sssd-io/src/providers/ipa/ipa_hbac_common.c /sssd-io/src/providers/ipa/ipa_hbac_hosts.c /sssd-io/src/providers/ipa/ipa_hbac_services.c /sssd-io/src/providers/ipa/ipa_hbac_users.c /sssd-io/src/providers/krb5/krb5_access.c /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/krb5/krb5_renew_tgt.c /sssd-io/src/providers/ldap/ldap_auth.c /sssd-io/src/providers/ldap/ldap_common.c /sssd-io/src/providers/ldap/ldap_id.c /sssd-io/src/providers/ldap/ldap_id_cleanup.c /sssd-io/src/providers/ldap/ldap_id_enum.c /sssd-io/src/providers/ldap/ldap_id_netgroup.c /sssd-io/src/providers/ldap/sdap_access.c /sssd-io/src/providers/ldap/sdap_async_accounts.c /sssd-io/src/providers/ldap/sdap_async_netgroups.c /sssd-io/src/providers/proxy/proxy_auth.c /sssd-io/src/providers/proxy/proxy_id.c /sssd-io/src/providers/proxy/proxy_netgroup.c /sssd-io/src/providers/simple/simple_access.c /sssd-io/src/python/pysss.c /sssd-io/src/responder/nss/nsssrv_cmd.c /sssd-io/src/responder/nss/nsssrv_netgroup.c /sssd-io/src/responder/pam/pam_LOCAL_domain.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/tests/sysdb-tests.c /sssd-io/src/tools/sss_cache.c /sssd-io/src/tools/sss_groupdel.c /sssd-io/src/tools/sss_groupmod.c /sssd-io/src/tools/sss_groupshow.c /sssd-io/src/tools/sss_sync_ops.c /sssd-io/src/tools/sss_sync_ops.h /sssd-io/src/tools/sss_useradd.c /sssd-io/src/tools/sss_userdel.c /sssd-io/src/tools/sss_usermod.c /sssd-io/src/tools/tools_util.c
82c3185b2ccc1e99ff6c6d63d09754cbd0705e6c 15-Aug-2011 Jan Zeleny <jzeleny@redhat.com>

sysdb refactoring: renamed ctx variable to sysdb

ace07a7d75c5a7c3f5613e5349fa8c1ffd05863a 02-Jun-2011 Jan Zeleny <jzeleny@redhat.com>

Non-posix group processing - sysdb changes

77bc3d93ddd41edee6046508884d7e95553ed5b7 20-May-2011 Jakub Hrozek <jhrozek@redhat.com>

Change sysdb_add_fake_user to add OriginalDN RFC2307bis code relies heavily on originalDN, so the fake users need to have an option to store it, too.

46b78b8ab809a099480747253eefa5eb128c2a9f 04-May-2011 Jan Zeleny <jzeleny@redhat.com>

Some minor fixes and changes in sysdb_ops

f62b9b41b0a29a0294d6e532e2bed2b4ce9012e4 04-May-2011 Jan Zeleny <jzeleny@redhat.com>

Add a function for searching netgroups with custom filter

278e1768a158a73b7769bcfe17035a17e2b81f70 23-Mar-2011 Jakub Hrozek <jhrozek@redhat.com>

Add originalDN to fake groups

57d6586b06dd833330f7f9b125a81b5acabfa1a7 28-Feb-2011 Sumit Bose <sbose@redhat.com>

Do not try to delete sysbd memberOf attribute

c6257286e9a31dfd42d28c99a22a69e2c4717a61 21-Jan-2011 Stephen Gallagher <sgallagh@redhat.com>

Delete attributes that are removed from LDAP Sometimes, a value in LDAP will cease to exist (the classic example being shadowExpire). We need to make sure we purge that value from SSSD's sysdb as well. https://fedorahosted.org/sssd/ticket/750

6a03b2a9c967d250825d614607d0bb7b901e8696 14-Jan-2011 Stephen Gallagher <sgallagh@redhat.com>

Do not throw a DP error when a netgroup is not found https://fedorahosted.org/sssd/ticket/775

337d3d9ba9e271272046feac0d17911d024eb43f 14-Jan-2011 Stephen Gallagher <sgallagh@redhat.com>

Work around libldb bug Libldb performs non-indexed searches for ONELEVEL requests. We'll use SUBTREE instead to reduce the performance hit substantially

3fa7380908997eda5e45c5f4d6b512a954d3bc3c 15-Nov-2010 Stephen Gallagher <sgallagh@redhat.com>

Fix const cast warning for sysdb_update_members

8059574092a96396dea64dae13696a7f95b423b1 18-Oct-2010 Stephen Gallagher <sgallagh@redhat.com>

Modify sysdb_[add|remove]_group_member to accept users and groups Previously, it assumed that all members were users. This changes the interface so that either a user or a group can be specified. Also, it eliminates the need for a memory context to be passed, since the internal memory should be self-contained.

c1d525a90f06a9414d0788857b271b80625a5858 15-Oct-2010 Jakub Hrozek <jhrozek@redhat.com>

sysdb interface for adding fake users

7e15d2ed3c01ab3c1f5f882fe8fa974058097bc6 15-Oct-2010 Jakub Hrozek <jhrozek@redhat.com>

sysdb interface for adding incomplete groups Useful for optimizing the initgroups operation.

8000e501cb806948cfbfa5797afb7a400b4ea7e2 13-Oct-2010 Sumit Bose <sbose@redhat.com>

Do not fail if netgroup exists just update the attributes

1a3c4b9f378e3b04161e4f35b2efa5fae3d56a7b 13-Oct-2010 Stephen Gallagher <sgallagh@redhat.com>

Netgroups sysdb API

213bcda07484803b9d9b7e226c386f77f469145f 22-Sep-2010 Stephen Gallagher <sgallagh@redhat.com>

Fix missing variable substitution in DEBUG message

b0f08fe9d94f5bc6ec0c749f2b78d3f0d95cf5af 15-Sep-2010 Jakub Hrozek <jhrozek@redhat.com>

Define objectclass with a constant Use a #define instead of hardcoded string

3b08dec5ee634f83ee18e1753d5ffe0ac5e3c458 08-Sep-2010 Jakub Hrozek <jhrozek@redhat.com>

Move crypto functions into its own subdir A refactoring patch that creates a common util/crypto subdir with per-implementation subdirectories for each underlying crypto library supported by SSSD.

d59e1d2397c92a2c9f43eb310d99d81cc835b37e 03-Aug-2010 Stephen Gallagher <sgallagh@redhat.com>

Add sysdb_update_members function This function will take a user, a list of groups that this user should be added to and a list of groups the user should be removed from and will recursively call sysdb_[add|remove]_group_member Includes a unit test

02e38eae1b9cb5df2036a707dafd86f6047c17de 26-May-2010 Sumit Bose <sbose@redhat.com>

Add support for delayed kinit if offline If the configuration option krb5_store_password_if_offline is set to true and the backend is offline the plain text user password is stored and used to request a TGT if the backend becomes online. If available the Linux kernel key retention service is used.

/sssd-io/contrib/sssd.spec.in /sssd-io/src/Makefile.am /sssd-io/src/config/SSSDConfig.py /sssd-io/src/config/SSSDConfigTest.py /sssd-io/src/config/etc/sssd.api.d/sssd-krb5.conf /sssd-io/src/configure.ac sysdb.h sysdb_ops.c /sssd-io/src/external/libkeyutils.m4 /sssd-io/src/man/sssd-krb5.5.xml /sssd-io/src/providers/data_provider.h /sssd-io/src/providers/dp_pam_data_util.c /sssd-io/src/providers/ipa/ipa_common.c /sssd-io/src/providers/ipa/ipa_common.h /sssd-io/src/providers/ipa/ipa_init.c /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/krb5/krb5_auth.h /sssd-io/src/providers/krb5/krb5_common.c /sssd-io/src/providers/krb5/krb5_common.h /sssd-io/src/providers/krb5/krb5_delayed_online_authentication.c /sssd-io/src/providers/krb5/krb5_init.c /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/tests/sysdb-tests.c
0a7a138cd47dcff3f4d53da2db4fa155708b8aeb 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: add automatic transactions where needed Only functions that do multiple operations need explicit transactions as ldb_add/ldb_modify/ldb_delete already start transactions automatically intenrally.

9724c51470c3f3416598cb07e0c7c07851345485 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: remove sysdb_check_handle not used anymore

c38706faa07a380c542cd1bda3ee54edfaf275d4 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_cache_auth

8a6449480e4be898248c1d35bbf5c24d91503e4e 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_groups

3b3dc1a8ad19100951d19abe4038791f01faa0b7 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: delete sysdb_delete_group

ed80c73efa51780a39dfc9c72821cf88e95d264c 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_delete_user

16ef1ec0d10d24703351d02bbd7d0c2255da4359 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_users

cdc174f69d071c26257275e2478e3c8c08b95306 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb remove sldb_request_send, not used anymore

4c898e1bb31ccf2af4039a7c3c5fcd82fb5667ed 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_asq_search

a137f77b4ddff7f0651ffda710cec1f01618d7a9 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_store_custom

9def019030f844e429c067c7cca27ff99c921527 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_custom

bb0b6b4e39242577f60729fbcbd9e46e7a7af30d 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_cache_password

02a9d8a40dc3a5fd671ede0e4fa7dac5178fbc75 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_mod/add/remove_group_member

ace612f5998f619ba41828d2ba4b80d02a965162 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_store/add(_basic)_group

a6ecb562529430be5a4cd6e8cdd541a383c9a2e1 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_store/add(_basic)_user

c4a8b4169eea9661156d78dfe73a723fc5b61697 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_get_new_id

506d34d2e84268c6589f613de0cb3992b8fb87a6 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_set_entry/user/group_attr

5c69fd7c03e762a6fb08a7224eb1d6fd2967d09c 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_group_by_name/gid

1c733ece101ca43b84c59a8dc7953346312dbf64 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_user_by_name/uid

0995e4cc173577122bea5a1d4698262fd0e9c200 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_search_entry and sysdb_delete_recursive

79c090e8c25ac13454b9f12f4d6dc635029a0c9d 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: convert sysdb_delete_custom

8c7f41a106b82e3451e2319546b8aff48977f685 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysdb: use sysdb_delete_entry in recursive delete

cae9c9fbdebc3f6a4c390a20e75447217439dff7 12-Apr-2010 Stephen Gallagher <sgallagh@redhat.com>

sysdb: convert sysdb_delete_entry

8f4aaae28c88c707853f8f28d8babc4efe0c1bf6 04-Mar-2010 Martin Nagy <mnagy@redhat.com>

Add forgotten \n in DEBUG statements Logs from confdb with missing '\n' in the DEBUG statements annoyed me so I decided to fix them. I also made a quick grep through the code and found other places so I fixed them too.

1c48b5a62f73234ed26bb20f0ab345ab61cda0ab 18-Feb-2010 Stephen Gallagher <sgallagh@redhat.com>

Rename server/ directory to src/ Also update BUILD.txt

/sssd-io/BUILD.txt /sssd-io/Makefile.am /sssd-io/configure.ac /sssd-io/contrib/sssd.spec.in /sssd-io/src/Makefile.am /sssd-io/src/build_macros.m4 /sssd-io/src/conf_macros.m4 /sssd-io/src/confdb/confdb.c /sssd-io/src/confdb/confdb.h /sssd-io/src/confdb/confdb_private.h /sssd-io/src/confdb/confdb_setup.c /sssd-io/src/confdb/confdb_setup.h /sssd-io/src/config/SSSDConfig.py /sssd-io/src/config/SSSDConfigTest.py /sssd-io/src/config/etc/sssd.api.conf /sssd-io/src/config/etc/sssd.api.d/sssd-ipa.conf /sssd-io/src/config/etc/sssd.api.d/sssd-krb5.conf /sssd-io/src/config/etc/sssd.api.d/sssd-ldap.conf /sssd-io/src/config/etc/sssd.api.d/sssd-local.conf /sssd-io/src/config/etc/sssd.api.d/sssd-proxy.conf /sssd-io/src/config/ipachangeconf.py /sssd-io/src/config/setup.py /sssd-io/src/config/testconfigs/noparse.api.conf /sssd-io/src/config/testconfigs/sssd-badversion.conf /sssd-io/src/config/testconfigs/sssd-invalid-badbool.conf /sssd-io/src/config/testconfigs/sssd-invalid.conf /sssd-io/src/config/testconfigs/sssd-noversion.conf /sssd-io/src/config/testconfigs/sssd-valid.conf /sssd-io/src/config/upgrade_config.py /sssd-io/src/configure.ac sysdb.c sysdb.h sysdb_ops.c sysdb_private.h sysdb_search.c /sssd-io/src/doxy.config.in /sssd-io/src/examples/sssd.conf /sssd-io/src/examples/sssdproxytest /sssd-io/src/examples/sudo /sssd-io/src/external/crypto.m4 /sssd-io/src/external/docbook.m4 /sssd-io/src/external/krb5.m4 /sssd-io/src/external/ldap.m4 /sssd-io/src/external/libcares.m4 /sssd-io/src/external/libcollection.m4 /sssd-io/src/external/libdhash.m4 /sssd-io/src/external/libini_config.m4 /sssd-io/src/external/libldb.m4 /sssd-io/src/external/libpcre.m4 /sssd-io/src/external/libpopt.m4 /sssd-io/src/external/libtalloc.m4 /sssd-io/src/external/libtdb.m4 /sssd-io/src/external/libtevent.m4 /sssd-io/src/external/pam.m4 /sssd-io/src/external/pkg.m4 /sssd-io/src/external/platform.m4 /sssd-io/src/external/python.m4 /sssd-io/src/external/selinux.m4 /sssd-io/src/external/sizes.m4 /sssd-io/src/krb5_plugin/sssd_krb5_locator_plugin.c /sssd-io/src/ldb_modules/memberof.c /sssd-io/src/m4/.dir /sssd-io/src/man/include/failover.xml /sssd-io/src/man/include/param_help.xml /sssd-io/src/man/include/upstream.xml /sssd-io/src/man/sss_groupadd.8.xml /sssd-io/src/man/sss_groupdel.8.xml /sssd-io/src/man/sss_groupmod.8.xml /sssd-io/src/man/sss_groupshow.8.xml /sssd-io/src/man/sss_useradd.8.xml /sssd-io/src/man/sss_userdel.8.xml /sssd-io/src/man/sss_usermod.8.xml /sssd-io/src/man/sssd-ipa.5.xml /sssd-io/src/man/sssd-krb5.5.xml /sssd-io/src/man/sssd-ldap.5.xml /sssd-io/src/man/sssd.8.xml /sssd-io/src/man/sssd.conf.5.xml /sssd-io/src/man/sssd_krb5_locator_plugin.8.xml /sssd-io/src/monitor/monitor.c /sssd-io/src/monitor/monitor.h /sssd-io/src/monitor/monitor_interfaces.h /sssd-io/src/monitor/monitor_sbus.c /sssd-io/src/po/LINGUAS /sssd-io/src/po/Makevars /sssd-io/src/po/POTFILES.in /sssd-io/src/po/de.po /sssd-io/src/po/es.po /sssd-io/src/po/fr.po /sssd-io/src/po/it.po /sssd-io/src/po/ja.po /sssd-io/src/po/nl.po /sssd-io/src/po/pl.po /sssd-io/src/po/pt.po /sssd-io/src/po/sss_daemon.pot /sssd-io/src/po/sv.po /sssd-io/src/providers/child_common.c /sssd-io/src/providers/child_common.h /sssd-io/src/providers/data_provider.h /sssd-io/src/providers/data_provider_be.c /sssd-io/src/providers/data_provider_fo.c /sssd-io/src/providers/data_provider_opts.c /sssd-io/src/providers/dp_auth_util.c /sssd-io/src/providers/dp_backend.h /sssd-io/src/providers/dp_sbus.c /sssd-io/src/providers/fail_over.c /sssd-io/src/providers/fail_over.h /sssd-io/src/providers/ipa/ipa_access.c /sssd-io/src/providers/ipa/ipa_access.h /sssd-io/src/providers/ipa/ipa_auth.c /sssd-io/src/providers/ipa/ipa_auth.h /sssd-io/src/providers/ipa/ipa_common.c /sssd-io/src/providers/ipa/ipa_common.h /sssd-io/src/providers/ipa/ipa_init.c /sssd-io/src/providers/ipa/ipa_timerules.c /sssd-io/src/providers/ipa/ipa_timerules.h /sssd-io/src/providers/krb5/krb5_auth.c /sssd-io/src/providers/krb5/krb5_auth.h /sssd-io/src/providers/krb5/krb5_become_user.c /sssd-io/src/providers/krb5/krb5_child.c /sssd-io/src/providers/krb5/krb5_common.c /sssd-io/src/providers/krb5/krb5_common.h /sssd-io/src/providers/krb5/krb5_init.c /sssd-io/src/providers/krb5/krb5_utils.c /sssd-io/src/providers/krb5/krb5_utils.h /sssd-io/src/providers/ldap/ldap_auth.c /sssd-io/src/providers/ldap/ldap_child.c /sssd-io/src/providers/ldap/ldap_common.c /sssd-io/src/providers/ldap/ldap_common.h /sssd-io/src/providers/ldap/ldap_id.c /sssd-io/src/providers/ldap/ldap_id_cleanup.c /sssd-io/src/providers/ldap/ldap_id_enum.c /sssd-io/src/providers/ldap/ldap_init.c /sssd-io/src/providers/ldap/sdap.c /sssd-io/src/providers/ldap/sdap.h /sssd-io/src/providers/ldap/sdap_async.c /sssd-io/src/providers/ldap/sdap_async.h /sssd-io/src/providers/ldap/sdap_async_accounts.c /sssd-io/src/providers/ldap/sdap_async_connection.c /sssd-io/src/providers/ldap/sdap_async_private.h /sssd-io/src/providers/ldap/sdap_child_helpers.c /sssd-io/src/providers/providers.h /sssd-io/src/providers/proxy.c /sssd-io/src/providers/sssd_be.exports /sssd-io/src/python/pysss.c /sssd-io/src/resolv/ares/ares_data.c /sssd-io/src/resolv/ares/ares_data.h /sssd-io/src/resolv/ares/ares_dns.h /sssd-io/src/resolv/ares/ares_parse_srv_reply.c /sssd-io/src/resolv/ares/ares_parse_srv_reply.h /sssd-io/src/resolv/ares/ares_parse_txt_reply.c /sssd-io/src/resolv/ares/ares_parse_txt_reply.h /sssd-io/src/resolv/async_resolv.c /sssd-io/src/resolv/async_resolv.h /sssd-io/src/responder/common/responder.h /sssd-io/src/responder/common/responder_cmd.c /sssd-io/src/responder/common/responder_common.c /sssd-io/src/responder/common/responder_dp.c /sssd-io/src/responder/common/responder_packet.c /sssd-io/src/responder/common/responder_packet.h /sssd-io/src/responder/nss/nsssrv.c /sssd-io/src/responder/nss/nsssrv.h /sssd-io/src/responder/nss/nsssrv_cmd.c /sssd-io/src/responder/nss/nsssrv_nc.c /sssd-io/src/responder/nss/nsssrv_nc.h /sssd-io/src/responder/pam/pam_LOCAL_domain.c /sssd-io/src/responder/pam/pamsrv.c /sssd-io/src/responder/pam/pamsrv.h /sssd-io/src/responder/pam/pamsrv_cmd.c /sssd-io/src/responder/pam/pamsrv_dp.c /sssd-io/src/sbus/sbus_client.c /sssd-io/src/sbus/sbus_client.h /sssd-io/src/sbus/sssd_dbus.h /sssd-io/src/sbus/sssd_dbus_common.c /sssd-io/src/sbus/sssd_dbus_connection.c /sssd-io/src/sbus/sssd_dbus_private.h /sssd-io/src/sbus/sssd_dbus_server.c /sssd-io/src/sss_client/common.c /sssd-io/src/sss_client/group.c /sssd-io/src/sss_client/man/pam_sss.8.xml /sssd-io/src/sss_client/pam_sss.c /sssd-io/src/sss_client/pam_test_client.c /sssd-io/src/sss_client/passwd.c /sssd-io/src/sss_client/protos.h /sssd-io/src/sss_client/sss_cli.h /sssd-io/src/sss_client/sss_nss.exports /sssd-io/src/sss_client/sss_pam.exports /sssd-io/src/sss_client/sss_pam_macros.h /sssd-io/src/sysv/SUSE/sssd /sssd-io/src/sysv/sssd /sssd-io/src/tests/auth-tests.c /sssd-io/src/tests/check_and_open-tests.c /sssd-io/src/tests/common.c /sssd-io/src/tests/common.h /sssd-io/src/tests/fail_over-tests.c /sssd-io/src/tests/files-tests.c /sssd-io/src/tests/find_uid-tests.c /sssd-io/src/tests/ipa_ldap_opt-tests.c /sssd-io/src/tests/ipa_timerules-tests.c /sssd-io/src/tests/krb5_utils-tests.c /sssd-io/src/tests/python-test.py /sssd-io/src/tests/refcount-tests.c /sssd-io/src/tests/resolv-tests.c /sssd-io/src/tests/stress-tests.c /sssd-io/src/tests/strtonum-tests.c /sssd-io/src/tests/sysdb-tests.c /sssd-io/src/tools/files.c /sssd-io/src/tools/sss_groupadd.c /sssd-io/src/tools/sss_groupdel.c /sssd-io/src/tools/sss_groupmod.c /sssd-io/src/tools/sss_groupshow.c /sssd-io/src/tools/sss_sync_ops.c /sssd-io/src/tools/sss_sync_ops.h /sssd-io/src/tools/sss_useradd.c /sssd-io/src/tools/sss_userdel.c /sssd-io/src/tools/sss_usermod.c /sssd-io/src/tools/tools_util.c /sssd-io/src/tools/tools_util.h /sssd-io/src/util/backup_file.c /sssd-io/src/util/check_and_open.c /sssd-io/src/util/crypto_sha512crypt.c /sssd-io/src/util/debug.c /sssd-io/src/util/dlinklist.h /sssd-io/src/util/find_uid.c /sssd-io/src/util/find_uid.h /sssd-io/src/util/memory.c /sssd-io/src/util/nss_sha512crypt.c /sssd-io/src/util/refcount.c /sssd-io/src/util/refcount.h /sssd-io/src/util/server.c /sssd-io/src/util/sha512crypt.h /sssd-io/src/util/signal.c /sssd-io/src/util/signal.m4 /sssd-io/src/util/sss_krb5.c /sssd-io/src/util/sss_krb5.h /sssd-io/src/util/sss_ldap.c /sssd-io/src/util/sss_ldap.h /sssd-io/src/util/strtonum.c /sssd-io/src/util/strtonum.h /sssd-io/src/util/user_info_msg.c /sssd-io/src/util/user_info_msg.h /sssd-io/src/util/usertools.c /sssd-io/src/util/util.c /sssd-io/src/util/util.h