Commit message (Collapse)AuthorAgeFilesLines
* FAST: when parsing krb5_child response, make sure to not miss OTP message if ↵sssd-1.11.2-24.el7Alexander Bokovoy2014-01-091-3/+4
| | | | | | | | | | | | | it was last one The last message in the stream might be with empty payload which means we get only message type and message length (0) returned, i.e. 8 bytes left remaining in the stream after processing preceding message. This makes our calculation at the end of a message processing loop incorrect -- p+2*sizeof(int32_t) can be equal to len, after all. Fixes FAST processing for FreeIPA native OTP case:
* LDAP: Add a new error code for malformed access control filtersssd-1.11.2-23.el7Jakub Hrozek2014-01-096-10/+18
| | | | | | | The patch adds a new error code and special cases the new code so that access is denied and a nicer log message is shown.
* responder: Set forest attribute in AD domainssssd-1.11.2-22.el7Pavel Reichl2014-01-098-18/+87
| | | | | Resolves:
* pac: fix potential memory leaksPavel Březina2014-01-091-5/+5
* pac: fix double freePavel Březina2014-01-091-8/+6
* LDAP: Fix typo and use the right attribute mapsssd-1.11.2-21.el7Jakub Hrozek2014-01-081-1/+1
| | | | | | | | There was a copy-n-paste bug in the code that resulted in using a wrong attribute map. This could lead to the primary name not being selected correctly.
* IPA: fix for recent AD group membership changessssd-1.11.2-20.el7Sumit Bose2014-01-081-0/+2
* Add sysdb_attrs_get_int32_tsssd-1.11.2-18.el7Sumit Bose2013-12-192-0/+28
* Add new option ldap_group_typeSumit Bose2013-12-1910-0/+32
* Use lower-case name for case-insensitive searchesSumit Bose2013-12-197-18/+108
| | | | | | | | | | | | 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.
* Use sysdb_attrs_add_lc_name_alias to add case-insensitive aliasSumit Bose2013-12-195-55/+27
* Add sysdb_attrs_add_lc_name_aliasSumit Bose2013-12-193-0/+53
* sss_cache: fix case-sensitivity issueSumit Bose2013-12-191-27/+36
| | | | | | | For case-insensitive domains the lower-case name for case-insensitive searches is stored in SYSDB_NAME_ALIAS. Related to
* sss_cache: initialize names member of sss_domain_infoSumit Bose2013-12-191-13/+10
| | | | | | | | | sss_tc_fqname() called by sss_get_domain_name() requires that the names member of the sss_domain_info struct is set to work properly. If the names struct is properly initialized in sss_domain_info the separate one in the tool context is not needed anymore. Related to
* IPA: Call ipa_ad_subdom_refresh when server mode is initializedsssd-1.11.2-17.el7Jakub Hrozek2013-12-191-6/+14
| | | | | | ipa_ad_subdom_refresh was called before IPA server context was initialized. On IPA server, this caused the code to dereference a NULL pointer and crash.
* IPA: Refresh subdomain data structures on startupJakub Hrozek2013-12-191-19/+32
| | | | | Write domain-mappings at startup and initialize internal data structures on provider startup, not only during updates.
* AD: Refresh subdomain data structures on startupJakub Hrozek2013-12-191-17/+32
| | | | | | | | | | Previously, if no changes were done to the list of subdomains, the SSSD didn't update its list of sdap_domain mappings for the new subdomain. This resulted in errors as no id_ctx was present for the subdomain during lookup. This patch moves the block of code performed during update to a function of its own and calls it during provider initialization as well.
* Bump sss_idmap version to 3:0:3sssd-1.11.2-16.el7Pavel Březina2013-12-191-1/+1
| | | | New functions were added.
* AD: Enable fallback to LDAP of trusted domainJakub Hrozek2013-12-192-16/+5
| | | | | Since we have the LDAP port of a trusted AD GC always available now, we can always perform a fallback.
* AD: Add a new option to turn off GC lookupsJakub Hrozek2013-12-196-13/+58
| | | | | | | | | | SSSD now defaults to using GC by default. For some environments, for instance those that don't or can't replicate the POSIX attributes to Global Catalog, this might not be desirable. This patch introduces a new option ad_enable_gc, that is enabled by default. Setting this option to false makes the SSSD contact only the LDAP port of AD DCs.
* AD: Add a utility function to create list of connectionsJakub Hrozek2013-12-198-41/+319
| | | | | | | | | | ad_id.c and ad_access.c used the same block of code. With the upcoming option to disable GC lookups, we should unify the code in a function to avoid breaking one of the code paths. The same applies for the LDAP connection to the trusted AD DC. Includes a unit test.
* AD: cross-domain membership fixSumit Bose2013-12-196-30/+261
| | | | | | | | | | | | | | | | | | | A recent patch directed all call related to group membership lookups to the AD LDAP port to fix an issue related to missing group memberships in the Global Catalog. As a side-effect it broke cross-domain group-memberships because those cannot be resolved by the connection to the LDAP port. The patch tires to fix this by restoring the original behaviour in the top-level lookup calls in the AD provider and switching to the LDAP port only for the LDAP request which is expected to return the full group membership. Additionally this patch contains a related fix for the tokenGroups with Posix attributes patch. The original connection, typically a Global Catalog connection in the AD case is passed down the stack so that the group lookup after the tokenGroups request can run over the same connection.
* AD: filter domain local groups for trusted/sub domainsSumit Bose2013-12-194-64/+138
| | | | | | | | | | | | | | In Active Directory groups with a domain local scope should only be used inside of the specific domain. Since SSSD read the group memberships from LDAP server of the user's domain the domain local groups are included in the LDAP result. Those groups should be filtered out if the domain is a sub/trusted domain, i.e. is not the domain the client running SSSD is joined to. The groups will still be in the cache but marked as non-POSIX groups and no GID will be assigned. Fixes
* ad: use tokengroups even when id mapping is disabledPavel Březina2013-12-193-26/+525
| | | |
* ad: refactor tokengroups initgroupsPavel Březina2013-12-193-231/+357
| | | | | sdap_get_ad_tokengroups_initgroups is split into more parts so it can be reused later.
* Initialize sid_str to NULL to avoid freeing random dataJakub Hrozek2013-12-192-2/+2
| | | | | If any function before failed, sss_idmap_free_sid() might have been called with random data.
* free idmapped binary SIDs correctlyPavel Březina2013-12-192-6/+6
| | | | | Resolves:
* free idmapped smb SIDs correctlyPavel Březina2013-12-191-3/+3
| | | | | Resolves:
* free idmapped dom SIDs correctlyPavel Březina2013-12-191-6/+6
| | | | | Resolves:
* free idmapped SIDs correctlyPavel Březina2013-12-198-13/+20
| | | | | Resolves:
* idmap: add API to free allocated SIDsPavel Březina2013-12-192-0/+84
* AD: use LDAP for group lookupsSumit Bose2013-12-183-3/+152
| | | | | | | | | | | | | | | | The group memberships cannot be reliable retrieved from the Global Catalog. By default the memberOf attribute is not replicated to the GC at all and the member attribute is copied from the local LDAP instance to the GC running on the same host, but is only replicated to other GC instances for groups with universal scope. Additionally the tokenGroups attribute contains invalid SIDs when used with the GC for users from a different domains than the GC belongs to. As a result the requests which tries to resolve group-memberships of a AD user have to go to a LDAP server from the domain of the user. Fixes and as a side-effect.
* NSS: Fix memory leak in sss_setnetgrentLukas Slebodnik2013-12-181-1/+1
| | | | | | | | | | | struct nss_cmd_ctx was not released in function nss_cmd_setnetgrent_done and it wasn't used in the other function, because getnetgrent creates its own nss_cmd_ctx context. struct nss_cmd_ctx was released after closing client because it was allocated under client context. Memory leak is apparent with long living clients. Resolves:
* NSS: Set packet length for initgroupsLukas Slebodnik2013-12-121-0/+7
| | | | | | | | | | Some groups could be skipped, but packet length was not trimmed. This is a reason why valgrind reported access to uninitialised bytes. Actually, it isn't a problem, because the first uint32 in body is number of sended gids. Resolves:
* failover: check dns_domain if primary servers lookup failedPavel Březina2013-12-121-3/+7
| | | | | | | If primary servers lookup failed, dns_domain is not set. Resolves:
* SUBDOMAINS: Reuse cached results if DP is offlineJakub Hrozek2013-12-122-2/+13
| | | | | | | | | | If Data Provider was unable to refresh the subdomain list, the sss_domain_info->subdomains list was NULL. Which meant that no DP request matched any known domain and hence offline authentication was not working correctly. Resolves:
* LDAP: Prevent from using uninitialized sdap_optionsLukas Slebodnik2013-12-021-1/+1
| | | | | | | | ldap_get_options can fail in time of ldap back end initialisation and then sssd try to release uninitialised sdap_options. Resolves:
* LDAP: Search for original DN during auth if it's missingJakub Hrozek2013-12-021-16/+194
| | | | | | | | | Resolves: If during the LDAP authentication we find out that the originalDN to bind as is missing (because the ID module is not LDAP based), we can try to look up the user from LDAP without saving him just in order to receive the originalDN.
* LDAP: Split out a request to search for a user w/o savingJakub Hrozek2013-12-022-33/+147
| | | | | | | | | | Related: Certain situations require that a user entry is downloaded for further inpection, but not saved to the sysdb right away. This patch splits the previously monolithic request into one that just downloads the data and one that uses the new one to download and save the user.
* SYSDB: Sanitize filter before removing ghost attrsLukas Slebodnik2013-12-022-1/+27
| | | | | | | | | | | 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:
* SYSDB: Sanitize filter before sysdb_search_groupsLukas Slebodnik2013-12-022-1/+13
| | | | | | | | | | 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:
* do not use default_domain_suffix with autofsAron Parsons2013-12-021-1/+1
* SSSD: Unit test - sss_ldap_dn_in_search_basesPavel Reichl2013-12-022-1/+217
| | | | | | | Unit test testing detection of the right domain when processing group with members from several domains Resolves:
* SSSD: Improved domain detectionPavel Reichl2013-12-023-16/+57
| | | | | | | A bit more elegant way of detection of what domain the group member belongs to Resolves:
* LDAP: Initialize user count for AD matching ruleJakub Hrozek2013-12-021-1/+1
| | | | | | | If AD matching rule was selected, but the group was empty, the SSSD accessed random data. Initializing count to zero prevents that.
* AD: Fix a typo in the man pageJakub Hrozek2013-12-021-1/+1
| | | |
* monitor: Specific error message for missing sssd.confPavel Reichl2013-12-024-3/+16
| | | | | | | | Specific error message is logged for missing sssd.conf file. New sssd specific error value is introduced for this case. Resolves:
* SYSDB: Skip malformed netgroup attribute.Lukas Slebodnik2013-11-291-1/+5
| | | | | | | | | | It was not easy find out why netgroup could not be covert into result entries. Problem was that nisNetgroupTriple contained unexpected string "(,user01)" This patch will ignore only malformed attribute and processing of netgroup will not fail. Resolves:
* Updating translation for the 1.11.2 releasesssd-1_11_2Jakub Hrozek2013-10-3037-6334/+7889
* AD: Fix ad_access_filter parsing with empty filterJakub Hrozek2013-10-302-0/+24