summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-09-11Complete the removal of "legacy" option.Simo Sorce10-76/+243
The code was still dependent on it for the ldap driver. Changed the driver code to depend on the schema type. Fix defaults for user and groups trees. ATM if you use the rfc2307bis schema you have to put users and groups in 2 separate trees (what people does by default anyway. If this limitation will turn to be too hard, we will change this later.
2009-09-11Fix getgrnam and getgrgid callsSimo Sorce1-7/+9
The patch that added check_cache() broke them, no results returned for any group with actual members ...
2009-09-11Add strtoint32 and strtouint32 testsStephen Gallagher2-0/+465
2009-09-11Add 'make tests' targetStephen Gallagher12-0/+33
2009-09-11Fix ldap enumeration async taskSimo Sorce1-12/+16
The request was being freed, instead of marking it done and let the callback free it when done. This was causing us to access freed memory, when trying to set the next run. Let the callback add new runs and free the request instead as normally we would do with any other tevent_req async call. Courtesy of valgrind again.
2009-09-11Fix memory mishandling.Simo Sorce1-10/+7
By attaching the reply to a subreq, we ended up freeing the operations list element before we used it to skip to the next one. Do not steal the context and let the unlocking code free the old reply, when it moves onto processing the next one. Got this one with valgrind.
2009-09-11Fix first-time confdb generationStephen Gallagher1-1/+1
We were talloc_free()-ing the cdb_file string too early.
2009-09-11ELAPI Better separation from collection internals.Dmitri Pal1-20/+24
This patch eliminates the need to include collection's private header and uses only public interface.
2009-09-11COLLECTION Functions to deal with hashDmitri Pal3-17/+71
The hashing logic was internal to the collection item. But if someone wants to effectively deal with the items and compare the property to a string he should compare hashes first. But it was not possible without the provided functions. As a result some of the ELAPI modules had to take advantage of knowledge of the item structure. This is bad. So this patch lays foundation for refactoring of the ELAPI code that was using internals of the item directly (file_util.c mostly). Also patch adds a unit test that was required for testing new functionality and for ticket #83
2009-09-11Add copyright noticesJakub Hrozek16-0/+328
Fixes: #138
2009-09-11Small changes to the example config and manpageJakub Hrozek2-18/+29
Remove magicPrivateGroups since it's set automatically, use bool values for enumerate. Also add a notice about krb5 auth-module with a link to specialized manpage to sssd.conf(5) similar to what we have for ldap auth-module. Move both outside proxy domain description.
2009-09-10Read the configuration parsing before daemonizationStephen Gallagher2-83/+106
We will now parse the config file and validate the confdb contents before processing the rest of the monitor startup. This will allow us to return an appropriate error code to the shell if the configuration is invalid.
2009-09-10Remove unused event context argument from confdb_initStephen Gallagher6-7/+5
Because the confdb always operates synchronously, it maintains its own private event context internally. The event context argument passed to it is never used, so we'll remove it to avoid confusion.
2009-09-10Properly detect negative/invalid values for the minId and maxIdStephen Gallagher1-6/+53
2009-09-10Add strtoint32 and strtouint32 convenience functionsStephen Gallagher5-0/+144
2009-09-10Fix Ldap id backend offline codeSimo Sorce2-14/+83
After the recent changes we lost the capability to actually go offline. Put back code that would mark the backend as offline when timeouts happen. Make sure the enumeration code also obbeys the offline timeout, and contributes in determining if we are offline or not.
2009-09-10COLLECTION Improvements to copy functionsDmitri Pal4-51/+191
This patch adds better options for copying collections in flat mode. It allows caller of the interface to control prefixing of the fields when one collection is appended to another. It also avoids creating prefixes when the collection is simply copied in flat mode. Also for ELAPI I realized that the most efficient way to deal with the "resolved" event (event where all templeted values are actually replaced with the real values) is to add a callback capability to a copy collection function so that the callback can be used to modify the data (resolve it) while the copy operation is in progress. This approach eliminates the need for separate set of lookups after the event is already copied.
2009-09-10Update manpage to reflect new syntax for enumerateStephen Gallagher1-12/+6
2009-09-10Check for valid min and max IDs in confdb_get_domainsStephen Gallagher1-1/+7
2009-09-09Add support for the EntryCacheNoWaitRefreshTimeoutStephen Gallagher5-2/+75
This timeout specifies the lifetime of a cache entry before it is updated out-of-band. When this timeout is hit, the request will still complete from cache, but the SSSD will also go and update the cached entry in the background to extend the life of the cache entry and reduce the wait time of a future request.
2009-09-09Consolidate cache lookups in the NSSStephen Gallagher1-177/+93
getpwnam, getpwuid, getgrnam and getgrgid will now use a common function, check_cache, for determining whether to return a cached value or to go to the provider.
2009-09-09Cleanups for library linkingsbose1-2/+1
- remove unused PAM_LIBS from LDAP and Kerberos provider - add OPENLDAP_LIBS to LDAP provider
2009-09-09more fixes for older libpcre versionssbose2-3/+10
- older version of libpcre only support the Python syntax (?P<name>) for named subpatterns
2009-09-09COLLECTION Copy collection flat with concatenated namesDmitri Pal5-239/+365
This patch addresses several issues: a) Adds capability to add or copy the collections in flattened mode but construct names of attributes in dotted notation. For example when you append collection "sub" with items "foo" and "bar" previously you could add them as "foo" and "bar" not you can flatten them and the names will be "sub.foo" and "sub.bar" this allows better processing of the attributes in the elapi message. b) Removes old implemntation of the copy collection function. c) Removes the col_set_timestamp, this functionality has been moved to ELAPI long ago. d) Updates collection unit test. e) Updates elapi to use new functionality f) Updates elapi unit test Have run under valgrind with no problems.
2009-09-08ELAPI Laying foundation for the async processingDmitri Pal6-90/+175
A relatively small patch aligning headers and a small portion of code for upcoming implementation of the async event processing. Cleanup of the test config file.
2009-09-08ELAPI Adding file provider and CSV formatDmitri Pal20-139/+2250
This patch creates the infrastructure for logging of the event from the top of the interface to the bottom. It is a start. A lot of functionality is left aside. The attempt of this patch is pass event from caller of the ELAPI interface via targets to sinks then to providers and do serialization creating entity that is ready to be written to a file. It also implements more specific provider related configuration parameters. Also it addresses couple suggestions that were brought up against previous patch. ELAPI Correcting issues This patch addresses the issues found during the review of the previous patches and addresses ticket #166.
2009-09-08ELAPI sinks and providersDmitri Pal9-143/+1016
This patch drills down to the next level of ELAPI functionality. I adds the creation and loading of the sinks. It also implements a skeleton for the first low level provider which will be capable of writing to a file. The configuration ini file is extended to define new configuration parameters and their meanings.
2009-09-08Remove shadow-utils support from toolsJakub Hrozek8-763/+73
Removes the ability to proxy to shadow-utils. Also remove all the supporting functions for getting domain type, domain by id etc.
2009-09-08Tools are allowed to touch only the 'local' domainSimo Sorce8-76/+35
2009-09-08Split database in multiple filesSimo Sorce26-335/+1184
The special persistent local database retains the original name. All other backends now have their own cache-NAME.ldb file.
2009-09-08Fix two possible uninitialized valuesSimo Sorce2-4/+5
Make counter for used messages explicit.
2009-09-08initialize sockaddr_in structureSumit Bose1-0/+10
2009-09-08fix libdbus configure checkSumit Bose2-1/+2
- remove unneeded CFLAGS component - do not leak LDFLAGS used by configure check to final Makefile
2009-09-03configure cleanupsSumit Bose15-22/+31
- replaced mailing list address - let sssd base components read version from VERSION
2009-09-03Avoid crash when timestamp is NULLRalf Haferkamp1-1/+3
Check if the timestamp argument of sdap_save_group_recv is NULL before using it.
2009-09-03Fix initgroups search filter when using rfc2307bisRalf Haferkamp1-2/+2
sdap_get_initgr_process() was using the wrong sdap_id_map struct when creating the searchfilter for the initgroups() call.
2009-09-03Fix proxy enumerationSimo Sorce1-86/+123
New tevent library finally outlawed nested loops.
2009-09-02Move RPM specfiles into contrib/Stephen Gallagher3-7/+17
Support RHEL 5 in the spec file
2009-09-02Honor enumerate option in ldap_idSimo Sorce1-6/+9
If enumerations are disabled for this domain, then do not start the enumeration task.
2009-09-02remove the concept of a backend nameSumit Bose4-31/+41
The data provider backends stored a name value besides the domain name to identify themselves to the data provider. This was the name of the id provider. Currently the backends can have different providers for id, authentication etc. So the name may be missleading. Also when there are more domains with the same id provider the name is not enough to identify the backend but the domain name is. As a consequence the backend name is removed completely and only the domain name is used for identification.
2009-09-01check if libpcre version is above or below 7Sumit Bose3-2/+27
PCRE_DUPNAMES is a new feature of libpcre 7. It is used in sssd to make the splitting of fully qualified user names more flexible.
2009-09-01stop processing a domain if no provider is givenSumit Bose1-0/+1
2009-08-31Turn enumeration into a boolean valueSimo Sorce4-13/+22
2009-08-31Correctly handle DbusWatch behavior.Simo Sorce2-37/+124
It seems like DBUS always adds 2 watches for the same fd. One is for reading and the other is for writing. DBUS then keeps disabling one and enabling the other, depending on whether it is interested in reading or writing from/to the file descriptor.
2009-08-28check if gid attribute is emptySumit Bose1-0/+6
2009-08-28send SSSD_REALM and SSSD_KDCIP environment to the clientSumit Bose1-2/+31
Currently the kerberos locator plugin needs these two variables to be set to find a KDC which is configured in sssd but not in /etc/krb5.conf.
2009-08-28add configure check for errno_tSumit Bose4-0/+14
2009-08-28fix internal order of ldap user mapping optionsSumit Bose1-4/+4
2009-08-28Speed-up enumerations.Simo Sorce2-2/+167
This patch reduces the time needed to enumerate groups of a midsized domain from 12 seconds to 4.4 Optimizes enumerations by doing only 2 ldb searches and some ordering instead of a number of searches proportional to the number of groups
2009-08-27Make enumeration an independent taskSimo Sorce5-68/+693
Always immediately return to DP, and update users/groups in the background. Also implements an optimization to retrieve only changed/new users/groups by filtering using the modifyTimestamp after the first query.