summaryrefslogtreecommitdiff
path: root/src/providers/ldap
AgeCommit message (Collapse)AuthorFilesLines
2012-06-29sudo ldap provider: support periodical full refreshPavel Březina1-0/+129
2012-06-29sudo ldap provider: add new timer APIPavel Březina2-0/+194
2012-06-29sudo provider: remove old timerPavel Březina5-349/+0
2012-06-29sudo provider: add ldap_sudo_full_refresh_intervalPavel Březina2-0/+2
2012-06-29sudo ldap provider: add support for on demand refresh of specific rulesPavel Březina1-0/+8
2012-06-29sudo ldap provider: provide API for refresh of specific rulesPavel Březina1-0/+93
2012-06-29sudo ldap provider: add support for on demand full refreshPavel Březina1-16/+25
2012-06-29sudo ldap provider: provide API for full refreshPavel Březina2-1/+126
2012-06-29sudo ldap provider: add expiration time to each rulePavel Březina3-8/+30
2012-06-29sudo ldap provider: add domain info in sdap_sudo_refresh_statePavel Březina1-0/+2
2012-06-29sudo ldap provider: add sysdb ctx in sdap_sudo_refresh_statePavel Březina1-7/+7
2012-06-29sudo ldap provider: give sdap_sudo_refresh_send() search and purge filtersPavel Březina4-278/+93
2012-06-29sudo ldap provider: move async routines to sdap_async_sudo.cPavel Březina2-675/+710
2012-06-20Move some debug lines to new debug log levelsStef Walter2-2/+2
* These are common lines of debug output when starting up sssd https://bugzilla.redhat.com/show_bug.cgi?id=811113
2012-06-20Fix possible segfault in sdap_save_group()Jan Zeleny1-2/+11
2012-06-15LDAP: Fix missing variable in debug messageStephen Gallagher1-1/+1
2012-06-15Fixed debug message in sdap_save_group()Jan Zeleny1-1/+1
2012-06-14Provide more debugging in krb5_child and ldap_childJakub Hrozek1-1/+8
https://fedorahosted.org/sssd/ticket/1225
2012-06-13Fix an issue in ghost usersJan Zeleny1-75/+47
There was an issue with ghost members in nested groups. Consider a scenario with two groups A and B, B being member of A and having some ghost members. In such case SSSD stored both groups, then added membership between them and then added ghost members to the group B. The problem was that adding ghost members to group B didn't propagate these ghost members to group A. This functionality could have been solved by memberof plugin but the logic is far more complicated that changes this patch introduces. The change is simple: add ghost members at the same time as the group is created, even if groups are supposed to be stored in two passes. That way ghost members will be present at the time A -> B membership is created and they will be propagated as expected.
2012-06-13LDAP: Auto-detect support for the ldap match ruleStephen Gallagher6-5/+107
This patch extends the RootDSE lookup so that we will perform a second request to test whether the match rule syntax can be used. If both groups and initgroups are disabled in the configuration, this lookup request can be skipped.
2012-06-13LDAP: Add support for AD chain matching extension in initgroupsStephen Gallagher3-9/+325
2012-06-13LDAP: Add support for AD chain matching extension in group lookupsStephen Gallagher3-9/+417
2012-06-13LDAP: Add ldap_*_use_matching_rule_in_chain optionsStephen Gallagher3-0/+9
2012-06-12LDAP: Make sdap_initgr_common_store() non-staticStephen Gallagher2-7/+15
Move it to a private header so it can be reused by other initgroups C files.
2012-06-12LDAP: Add helper function to get list of a user's groups from sysdbStephen Gallagher2-33/+69
2012-06-12LDAP: Fix incorrect switch statement in sdap_get_initgr_done()Stephen Gallagher1-1/+1
SDAP_SCHEMA_AD needs to be calling sdap_initgr_rfc2307bis_recv(), not sdap_initgr_nested_recv(). By coincidence both recv functions happened to be identical, but if one or the other changed, this would break unexpectedly.
2012-06-12LDAP: Remove redundant checkStephen Gallagher1-11/+0
The same block appeared earlier in the function and neither variable could have changed values since.
2012-05-31Utilize attribute exclusion in LDAP initgroupsJan Zeleny1-3/+33
Previous patch added the possibility to exclude some attributes from a map when building an attribute list to be sent to server. The original reason for this functionality is the code handling LDAP initgroups. In this code, there is no need to fetch members of groups in question. This can save some performance since the list of members can be pretty long in some cases. This case apllies only to RFC2307 and generic RFC2307bis, it doesn't apply for IPA schema.
2012-05-31Add support for filtering atributesJan Zeleny12-34/+58
This patch adds support for filtering attributes when constructing attribute list from a map for LDAP query.
2012-05-31added DEBUG messages to krb5_child and ldap_childNick Guay1-0/+7
2012-05-31Ghost members - various small changesJan Zeleny1-1/+1
2012-05-31Ghost members - removed sdap_check_aliases()Jan Zeleny4-127/+0
This function is no longer necessary because we don't have fake user entries any more. The original purpose of this function was to check if there are fake user entries for particular user and, if yes, to update its membership.
2012-05-31Ghost members - support in LDAP providerJan Zeleny1-186/+286
The original approach was to store name and original DN in an object in sysdb. When later referenced as member of a group, it was retrieved by its original DN and the correct information about its sysdb DN was stored in the group object which referenced it. The new approach doesn't use fake user objects, therefore this information has to be reached differently when constructing group memberships. The approach is to store all users to a hash table where original DN is used as the key and username as value. When constructing group memberships, the name is retrieved from this hash table instead of sysdb. This hash table is constructed when retrieving user objects from LDAP server - if the user is not present in sysdb, it is automatically stored in the hash table. Another situation is for rfc2307. Because there is no nesting there, we can construct the SYSDB_GHOST attribute directly and therefore don't need a hash table of ghost users.
2012-05-22LDAP nested groups: Do not process callback with _post deep in the nested ↵Jakub Hrozek1-12/+10
structure https://fedorahosted.org/sssd/ticket/1343
2012-05-22Warn to syslog when dereference requests failAriel Barria1-2/+2
2012-05-22Simple implementation of Netscape password warning expiration controlJoshua Roys1-22/+74
2012-05-16Use the sysdb attribute name, not LDAP attribute nameJakub Hrozek2-2/+2
2012-05-14Fixed two minor memory leaksJan Zeleny2-2/+6
2012-05-10LDAP: Handle very large Active Directory groupsStephen Gallagher5-45/+271
Active Directory 2008R2 allows only 1500 group members to be retrieved in a single lookup. However, when we hit such a situation, we can take advantage of the ASQ lookups, which are not similarly limited. With this patch, we will add any members found by ASQ that were not found by the initial lookup so we will end with a complete group listing. https://fedorahosted.org/sssd/ticket/783
2012-05-10LDAP: Add attr_count return value to build_attrs_from_map()Stephen Gallagher12-32/+54
This is necessary because in several places in the code, we are appending to the attrs returned from this value, and if we relied on the map size macro, we would be appending after the NULL terminator if one or more attributes were defined as NULL.
2012-05-09Try all KDCs when getting TGT for LDAPJakub Hrozek1-15/+18
When the ldap child process is killed after a timeout, try the next KDC. When none of the ldap child processes succeed, just abort the connection because we wouldn't be able to authenticate to the LDAP server anyway. https://fedorahosted.org/sssd/ticket/1324
2012-05-07Special-case LDAP_SIZELIMIT_EXCEEDEDJakub Hrozek1-4/+9
Previous version of the SSSD did not abort the async LDAP search operation on errors. In cases where the request ended in progress, such as when the paging was very strictly limited, the old versions at least returned partial data. This patch special-cases the LDAP_SIZELIMIT_EXCEEDED error to avoid a user-visible regression. https://fedorahosted.org/sssd/ticket/1322
2012-05-07Limit krb5_get_init_creds_keytab() to etypes in keytabStef Walter1-0/+15
* Load the enctypes for the keys in the keytab and pass them to krb5_get_init_creds_keytab(). * This fixes the problem where the server offers a enctype that krb5 supports, but we don't have a key for in the keytab. https://bugzilla.redhat.com/show_bug.cgi?id=811375
2012-05-04If canon'ing principals, write ccache with updated default principalStef Walter1-1/+2
* When calling krb5_get_init_creds_keytab() with krb5_get_init_creds_opt_set_canonicalize() the credential principal can get updated. * Create the cache file with the correct default credential. * LDAP GSSAPI SASL would fail due to the mismatched credentials before this patch. https://bugzilla.redhat.com/show_bug.cgi?id=811518
2012-05-04Modify behavior of pam_pwd_expiration_warningJan Zeleny1-12/+30
New option pwd_expiration_warning is introduced which can be set per domain and can override the value specified by the original pam_pwd_expiration_warning. If the value of expiration warning is set to zero, the filter isn't apllied at all - if backend server returns the warning, it will be automatically displayed. Default value for Kerberos: 7 days Default value for LDAP: don't apply the filter Technical note: default value when creating the domain is -1. This is important so we can distinguish between "no value set" and 0. Without this possibility it would be impossible to set different values for LDAP and Kerberos provider.
2012-05-03LDAP: Add support for enumeration of ID-mapped users and groupsStephen Gallagher1-31/+102
2012-05-03LDAP: Treat groups with unmappable SIDs as non-POSIX groupsStephen Gallagher1-9/+12
2012-05-03LDAP: Add helper function to map IDsStephen Gallagher5-119/+81
This function will also auto-create a new ID map if the domain has not been seen previously.
2012-05-03LDAP: Do not remove uidNumber and gidNumber attributes when saving id-mapped ↵Stephen Gallagher2-0/+16
entries
2012-05-03LDAP: Add helper routine to convert LDAP blob to SID stringStephen Gallagher5-68/+195