summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_accounts.c
Commit message (Collapse)AuthorAgeFilesLines
* Fall back to cn if gecos is not availablesssd-1.5.1-23.el6Stephen Gallagher2011-03-301-0/+9
| | | | | | | | | | | | | We were not fully compliant with section 5.3 of RFC 2307 which states: An account's GECOS field is preferably determined by a value of the gecos attribute. If no gecos attribute exists, the value of the cn attribute MUST be used. (The existence of the gecos attribute allows information embedded in the GECOS field, such as a user's telephone number, to be returned to the client without overloading the cn attribute. It also accommodates directories where the common name does not contain the user's full name.)
* Always complete the transaction in sdap_process_group_members_2307sssd-1.5.1-21.el6Stephen Gallagher2011-03-281-3/+24
| | | | | | | | | | | | If the loop ran through at least one sdap_process_missing_member_2307() call and errored out later, we were not canceling the transaction. RFC2307: Ignore zero-length member names in group lookups Mark transaction as done when cancelled Fix typo in sdap_nested_group_process_step
* Return from functions in LDAP provider after marking request as failedsssd-1.5.1-20.el6Jakub Hrozek2011-03-251-1/+4
|
* Add sysdb_attrs_primary_name_list() routineStephen Gallagher2011-03-231-18/+22
| | | | | | This routine will replace the use of sysdb_attrs_to_list() for any case where we're trying to get the name of the entry. It's a necessary precaution in case the name is multi-valued.
* Use fake groups during IPA initgroupsJakub Hrozek2011-03-231-115/+430
| | | | | | | | | | Add originalDN to fake groups Use fake groups during IPA schema initgroups https://fedorahosted.org/sssd/ticket/822 Use sysdb_attrs_primary_name() in sdap_initgr_nested_store_group
* Ignore alternate names for users and groupsStephen Gallagher2011-03-231-57/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create sysdb_get_rdn() function This function takes a DN formatted string and returns the RDN value from it. Add sysdb_attrs_primary_name() This function will check a sysdb_attrs struct for the primary name of the entity it represents. If there are multiple entries, it will pick the one that matches the RDN. If none match, it will throw an error. Ignore aliases for users Users in ldap with multiple values for their username attribute will now be compared against the RDN of the entry to determine the "primary" username. We will save only this primary name to the ldb cache. RFC2307: Ignore aliases for groups Groups in ldap with multiple values for their groupname attribute will now be compared against the RDN of the entry to determine the "primary" group name. We will save only this primary group name to the ldb cache. RFC2307bis: Ignore aliases for groups Groups in ldap with multiple values for their groupname attribute will now be compared against the RDN of the entry to determine the "primary" group name. We will save only this primary group name to the ldb cache.
* Sanitize DN when searching the original DN in the cacheSumit Bose2011-03-221-1/+9
|
* Fix incorrect return value checkStephen Gallagher2011-03-171-1/+1
|
* Ignore users and groups that lack mandatory attributesStephen Gallagher2011-03-171-10/+20
| | | | https://fedorahosted.org/sssd/ticket/824
* IPA provider: remove deleted groups during initgroups()Stephen Gallagher2011-02-211-3/+112
| | | | | | | The IPA provider was not properly removing groups in the cache that the user was no longer a member of. https://fedorahosted.org/sssd/ticket/803
* Sanitize search filters for nested group lookupsStephen Gallagher2011-02-151-3/+17
|
* Delete attributes that are removed from LDAPStephen Gallagher2011-01-211-8/+33
| | | | | | | | 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
* Fix nested group handling during enumerationSumit Bose2011-01-211-0/+14
| | | | | Nested groups where not unrolled completely during the first enumeration run because not all where present in the cache.
* Add missing include file to sdap_async_accounts.cStephen Gallagher2011-01-211-0/+1
|
* Add the user's primary group to the initgroups lookupStephen Gallagher2011-01-211-6/+49
| | | | | The user may not be a direct member of their primary group, but we still want to make sure that group is cached on the system.
* Don't double-sanitize member DNsStephen Gallagher2011-01-191-12/+4
| | | | | | | | | After asking the cache for the list of member DNs for groups during an initgroups request, we were passing it through the sanitization function. Since this had already been done before they were saved to the cache, this meant that it was corrupting the results. It is safe to pass the returned DN directly into the sysdb_group_dn_name() function.
* Add timeout parameter to sdap_get_generic_send()Sumit Bose2011-01-171-14/+38
|
* Add missing sysdb transaction to group enumerationsStephen Gallagher2011-01-141-12/+45
| | | | | | | | | | | | We were not enclosing group processing in a transaction, which was resulting in extremely high numbers of disk-writes. This patch adds a transaction around the sdap_process_group code to ensure that these actions take place within a transaction. This patch also adds a check around the missing member code for RFC2307bis so we don't go back to the LDAP server to look up entries that don't exist (since the enumeration first pass would already have guaranteed that we have all real users cached)
* Add all values of a multi-valued user attributeSumit Bose2010-12-211-12/+15
|
* ldap: Use USN entries if available.Simo Sorce2010-12-071-54/+90
| | | | Otherwise fallback to the default modifyTimestamp indicator
* Fix const cast warning for sysdb_update_membersStephen Gallagher2010-11-151-6/+6
|
* Sanitize search filters in LDAP providerStephen Gallagher2010-11-151-3/+28
|
* Sanitize sysdb dn for memberof lookupStephen Gallagher2010-11-151-1/+11
|
* Sanitize sysdb filters in the LDAP providerStephen Gallagher2010-11-151-2/+11
|
* Always use uint32_t for UID/GID numbersJakub Hrozek2010-10-261-17/+12
|
* set in_transaction explicitly to falseJakub Hrozek2010-10-181-1/+1
|
* Use unsigned long for conversion to id_tJakub Hrozek2010-10-181-32/+14
| | | | | | | | We used strtol() on a number of places to convert into uid_t or gid_t from a string representation such as LDAP attribute, but on some platforms, unsigned long might be necessary to store big id_t values. This patch converts to using strtoul() instead.
* Add proper nested initgroup support for RFC2307bis serversStephen Gallagher2010-10-181-3/+761
|
* Modify sysdb_[add|remove]_group_member to accept users and groupsStephen Gallagher2010-10-181-0/+1
| | | | | | | | 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.
* Handle nested groups in RFC2307bisStephen Gallagher2010-10-181-1/+776
| | | | | | | | This first approach handles the non-optimized "pure" RFC2307bis case. It recursively calls into nested groups until it it has found them all or hits the pre-defined nesting limit. It then saves all member users first, then all groups to the sysdb
* Make sdap_save_users_send handle zero users gracefullyStephen Gallagher2010-10-181-0/+5
| | | | | If we send a zero num_users value, we should just immediately return success, rather than starting a useless transaction
* Save dummy member users during RFC2307 getgr{nam,gid}Jakub Hrozek2010-10-151-82/+279
|
* Save dummy groups to cache during initgroupsJakub Hrozek2010-10-151-0/+125
| | | | | | | | | If during initgroups operation we find out that any of the groups the user is a member of is not cached yet we add a incomplete, expired group entry. That way, we save ourselves from looking up and saving all the potential user entries the group may also consist of. Because the group is expired, it will be refreshed during the next getgrgid/getgrnam call and correct member list will be returned.
* Return all group members from getgr(nam|gid)Ralf Haferkamp2010-10-131-12/+374
| | | | | | | getgrnam()/getgrgid() should return all group members instead of only those which have already been cached (in sysdb). To achieve this every member that is currently not in the cache is looked up via LDAP and saved to the cache.
* Shortcut for save_group() to accept sysdb DNs as member attributesRalf Haferkamp2010-10-131-4/+19
| | | | | | Addtional parameter "populate_members" for save_group() and save_groups() to indicate that the "member" attribute of the groups is populated with sysdb DNs of the members (instead of LDAP DNs).
* Request the correct attribute nameJakub Hrozek2010-09-221-1/+1
|
* Request all group attributes during initgroups processingStephen Gallagher2010-09-221-5/+6
| | | | | | | We tried to be too clever and only requested the name of the group, but we require the objectClass to validate the results. https://fedorahosted.org/sssd/ticket/622
* Fixed printing of undefined value in sdap_async_accounts.cJan Zeleny2010-09-021-1/+1
| | | | | | | If sysdb_attrs_get_el() call failed in function sdap_save_group(), it would result in printing an undefined value of variable name. This is now fixed by initializing the variable. Ticket: #579
* Clean up initgroups processing for RFC2307Stephen Gallagher2010-08-031-11/+89
| | | | | | | | Instead of recursively updating all users of each group the user being queried belongs to, just add or remove membership for the requested user. Fixes https://fedorahosted.org/sssd/ticket/478
* Standardize on correct spelling of "principal" for krb5Stephen Gallagher2010-06-161-2/+2
| | | | https://fedorahosted.org/sssd/ticket/542
* Properly handle missing originalMemberOf entry in initgroupsStephen Gallagher2010-06-101-0/+1
| | | | | | | Failing to return after the tevent_req_post() here can result in a null-pointer dereference (along with other hard-to-track bugs) https://fedorahosted.org/sssd/ticket/507
* Silence warnings with -O2Jakub Hrozek2010-04-301-2/+4
|
* sysdb: remove remaining traces of sysdb_handleSimo Sorce2010-04-121-2/+0
|
* Remove remaining use of sysdb_transaction_sendSimo Sorce2010-04-121-319/+99
|
* sysdb: convert sysdb_store/add(_basic)_groupSimo Sorce2010-04-121-295/+100
|
* sysdb: convert sysdb_store/add(_basic)_userSimo Sorce2010-04-121-195/+85
|
* sysdb: convert sysdb_search_entry and sysdb_delete_recursiveSimo Sorce2010-04-121-37/+11
|
* Rename server/ directory to src/Stephen Gallagher2010-02-181-0/+2065
Also update BUILD.txt