summaryrefslogtreecommitdiffstats
path: root/server/providers/ldap
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate code for splitting strings by separatorJakub Hrozek2009-12-101-3/+2
| | | | | | | | There were two functions for parsing strings by a separator. This patch consolidates on the one previously used in confdb. This also allows stripping the tokens of whitespace. Fixes: #319
* Reduce code duplication between LDAP child and Kerberos childJakub Hrozek2009-12-091-118/+7
| | | | Fixes: #294
* Allow nesting to fix #310Simo Sorce2009-12-071-0/+1
|
* Try to renew Kerberos credentialsSumit Bose2009-12-075-2/+189
| | | | | | | | When using GSSAPI we need a valid service ticket to talk to the LDAP server. If the ticket is expired the LDAP client returns with 'Can't contact LDAP server'. Currently we set the backend offline if this error occurs although the server is still available. This patch checks if the TGT is expired and tries to renew the credentials before going offline.
* Fix nested group membershipsSimo Sorce2009-12-071-143/+129
| | | | | | | | | Search the local db to find the local DN using the original DN as search key. This way we do not have to rely on weak and faulty heuristicts based on DN names. Add a few helper functions in the process and change the way we pass members to sysdb_store_group_send(), instead of passing users and groups list, just add member DNs to the other sysdb attrs.
* Resolve nested groups also when rfc2307bis is usedSimo Sorce2009-12-071-68/+2
|
* Check LDAP structure before calling ldap_unbind_ext()Sumit Bose2009-12-031-1/+3
|
* Setup ldap child logging from IPA backendJakub Hrozek2009-12-033-45/+47
| | | | Fixes: #296
* Get TGT in a child process.Jakub Hrozek2009-11-258-164/+1060
| | | | | | | To avoid blocking in a synchronous call, the TGT is saved in a separate process Fixes: #277
* Make backend request type a bitfieldStephen Gallagher2009-11-231-1/+1
|
* Add ldap_pwd_policy optionSumit Bose2009-11-234-45/+92
|
* Add initial failover support for ldap and ipaSimo Sorce2009-11-209-17/+266
| | | | | | | The retun values are still not directly used with ldap libraries that still do their own name resolution, but this patch introduces a very basic framework to have a multiple providers in one domain use and share a single failover service if they want to.
* Raise some timeoutsSimo Sorce2009-11-201-2/+2
| | | | | When using high debug levels or valgrind the code maybe slow enough that these timeouts were too strict.
* Filter by id range before actually storing entries.Simo Sorce2009-11-201-0/+24
| | | | This way we do not need to check for id ranges on every search.
* Better behavior on cleanupSimo Sorce2009-11-204-20/+44
| | | | | | | | | | | | With the previous code in domains with many users and enumeration enable we would eventually end up making thousands of individual searches for entries in the clean-up process. Change the code to do a full enumeration before a cleanup so we do one single big search to update all entries and only then search for entries to purge. This also fixes the fact that the cleanup task was running at every enumeration instead of running every "ldap_purge_cache_timeout" seconds.
* Store initgr expire time on initgr callSimo Sorce2009-11-181-6/+17
|
* Fix double free case.Simo Sorce2009-11-121-1/+3
|
* Try to fix offline loginsSimo Sorce2009-11-121-12/+6
|
* Add cleanup taskSimo Sorce2009-11-106-155/+910
|
* Fix tevent_req error checking.Simo Sorce2009-11-096-117/+45
| | | | When possible using a macro that correctly deals with tstate
* Fix enumerationsSimo Sorce2009-11-091-2/+6
| | | | | The counter was not set so we were storing only the first user for each anumeration.
* Split async helpers in multiple filesSimo Sorce2009-11-065-3285/+3383
| | | | | | The size of sdap_async.c was unmanageable. This patch splits it into a generic file with common infrastructure calls, a file that handles connection calls and a file for id related calls.
* Reorganize ldap id provider filesSimo Sorce2009-11-064-547/+583
| | | | Split enum task in a separate file.
* Unify code to use the generic search interfaceSimo Sorce2009-11-061-593/+473
| | | | | | | This code removes redundancies in the code. both users and groups enumeration code use the same search generic search function now. Also the code to save users and groups have been unified across all callers.
* Fix and enhance initgroups callSimo Sorce2009-11-061-170/+637
| | | | | | | | This call was failing and was defective because it didn't properly handle the various different schemas we support. Now the function does 2 things: - Updates the user entry to make sure it is still valid - Retrieves every group the user is member of
* Unify parse routines, use maps in generic searchesSimo Sorce2009-11-064-130/+77
| | | | | This remove redundant code and also allows the generic search to be used to use maps to convert attributes.
* Store the original memberof attributes if anySimo Sorce2009-11-061-7/+30
| | | | | Also change the interface of sdap_save_user_send() so that it can be more easily reused like it was done for sdap_save_group_send().
* Make useful function more broadly available.Simo Sorce2009-11-063-30/+30
|
* add replacements for missing Kerberos callsSumit Bose2009-11-051-8/+8
|
* Rename sdap_id_map to sdap_attr_mapSimo Sorce2009-11-034-19/+55
| | | | | | Also start adding some infrastructure to use the USN counter when available. In particular add a place to add generic attrs mapping, ie attributes that are neither user nor group specific.
* Fix segfault when SASL is not used at allSimo Sorce2009-10-302-2/+4
|
* Add support to get rootDSE from the LDAP server.Simo Sorce2009-10-296-121/+398
| | | | | | | | | | | | Also fic sdap_get_generic_send() to be a bit more "generic" :-) Also figs bugs within it. This patch allow us 2 good things. A) we check that the server effectively supports GSSAPI auth before we try to use it. B) against IPA it substantially cuts delays when the server is offline because it uses a 5 second async timeout on the connection and doesn't try to do a slow synchronous kinit+sasl_bind if the server is not even available.
* Tidy up ipa optionsSimo Sorce2009-10-292-2/+29
| | | | | | | | | | | | | | Do not replicate every and each option we may want to set in ipa. Just read out ldap and krb provider options (added reference in the manual too, and removed mention of ipa specific timeout values, use ldap options for that) Avoid calling auth module initialization twice, just pass the auth context to the chpass module too. Add a new ldap option SDAP_SEARCH_BASE, so that a single searching base can be used for both users and groups. the user and group search bases can still be set separately if necessary but they are now optional and set to be identical to SDAP_SEARCH_BASE if not explicitly specified in the configuration.
* Kill the ldap connection when we go offlineSimo Sorce2009-10-281-5/+16
| | | | | | This patch uses a wrapper to kill the ldap connection when we are marked offline. This also makes sure we do not try to reuse a bad connection handler after a fatal error.
* Move responsibility for entry expiration timeoutSimo Sorce2009-10-273-5/+11
| | | | | The providers are now responsible for determining how long a cached entry is considered valid. The default is the same as before (600s)
* Add proper support for IPA/AD schemasSimo Sorce2009-10-274-202/+574
| | | | | | Nested groups weren't properly handled. Add 2 pass strategy to update groups memberships Stuff work as expected when enumeration is enabled now.
* store original DN with cached group objects if availableSumit Bose2009-10-271-0/+16
|
* Better offline/enumeration behaviorSimo Sorce2009-10-221-10/+12
| | | | | | | | Go offline in case of hard errors too. It makes no sense to keep trying too often when you have bad credentials for example. Also delay starting the enumeration thread so that we finish initializations first (bind to ldap is still a blocking operation and this may interfere with clients/monitor registrations).
* added generic LDAP search sdap_get_generic_send/_recvSumit Bose2009-10-224-0/+304
|
* Always list inputs before outputsSimo Sorce2009-10-161-8/+11
|
* Move all ldap provider init functionsSimo Sorce2009-10-165-145/+202
| | | | | Put all init functions in their own file so that the other files can be reused in other providers w/o having them in the way.
* Check for expired passwords in LDAP providerSumit Bose2009-10-154-23/+425
|
* Return the dp error from the providersSimo Sorce2009-10-152-26/+47
|
* Move ldap provider configuration into its own fileSimo Sorce2009-10-146-189/+252
|
* Make options parser available to all providersSimo Sorce2009-10-146-294/+99
|
* make sdap_id_connect_* independent of sdap_id_ctxSumit Bose2009-10-143-180/+188
| | | | | | | | The sdap_id_connect_* request tries to bind to an LDAP server with the default credentials. Only the opts component of the sdap_id_ctx context is used. A new request sdap_cli_connect_* is created which expects only the opts pointer as parameter and not the whole context. This makes it reusable by other providers.
* add a replacement if ldap_control_create is missingSumit Bose2009-10-133-8/+7
|
* Differentiate between search and network timeoutsSimo Sorce2009-10-093-5/+7
| | | | | | Network timeouts are used in quick operations like bind. Search timeout is used for operations that can "legally" require more time. Change defaults to 6 and 60 seconds respectively.
* add support for server side LDAP password policiesSumit Bose2009-10-083-11/+125
| | | | | | | - password policy request controls are send during bind and change password extended operation - the response control is evaluated to see if the password is expired or will expire, soon
* remove redundant talloc_freeSumit Bose2009-10-051-3/+0
| | | | - this patch should fix bug #213, a double free in the sdap timeout handler