summaryrefslogtreecommitdiffstats
path: root/server/confdb/confdb.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename server/ directory to src/Stephen Gallagher2010-02-181-364/+0
| | | | Also update BUILD.txt
* Add doxygen docs for ConfDBStephen Gallagher2010-02-151-13/+203
|
* Add offline failed login counterSumit Bose2010-02-021-0/+4
|
* Make the password field configurable in NSSJakub Hrozek2009-11-181-0/+1
| | | | | | | | Per the discussion on sssd-devel list, nss_sss should not return a hardcoded value but this should rather be configurable to allow whatever the OS or distribution thinks is the best for the particular case. Fixes: #266
* Fix option name krb5_changepw_principalSumit Bose2009-11-131-1/+1
|
* Update midpoint refresh logic to be relative to cache timeoutStephen Gallagher2009-11-051-1/+1
|
* Move responsibility for entry expiration timeoutSimo Sorce2009-10-271-1/+1
| | | | | The providers are now responsible for determining how long a cached entry is considered valid. The default is the same as before (600s)
* Add support for offline auth cache timeoutStephen Gallagher2009-10-221-0/+1
| | | | | | | | | This adds a new option (offline_credentials_expiration) to the [PAM] section of the sssd.conf If the user does not perform an online authentication within the timeout (in days), they will be denied auth once the timeout passes.
* User home directories managementJakub Hrozek2009-10-221-0/+5
| | | | | | Create and populate user directories on useradd, delete them on userdel Fixes: #212
* Remove magicPrivateGroups optionSimo Sorce2009-10-091-1/+0
| | | | | | | | | In sssd only local is a native mpg domain, and it is forced. All other providers will have to unroll mpg users into a user/group pair of entries in the db. This allows the provider to automatically establish if the remote server provides mpg users w/o possibily conflicting manual configurations on the client trying to force an mpg behavior where none is provided.
* Remove unused btreemap codeStephen Gallagher2009-10-061-1/+0
| | | | | We have converted to using dhash in place of btreemap everywhere in the code.
* remove krb5_try_simple_upn option and make it a default fallbackSumit Bose2009-09-251-1/+0
|
* Send debug messages to logfileJakub Hrozek2009-09-251-0/+1
| | | | | | | | | | | | | Introduces a new option --debug-to-files which makes SSSD output its debug information to a file instead of stderr, which is still the default. Also introduces a new confdb option debug_to_files which does the same, but can be specified per-service in the config file. The logfiles are stored in /var/log/sssd by default. Changes the initscript to log to files by default.
* Upgrade confdb to version 2Stephen Gallagher2009-09-251-1/+68
| | | | | This converts a great many configuration options to the new standard format.
* Complete the removal of "legacy" option.Simo Sorce2009-09-111-1/+0
| | | | | | | | | 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.
* Remove unused event context argument from confdb_initStephen Gallagher2009-09-101-1/+0
| | | | | | 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.
* Split database in multiple filesSimo Sorce2009-09-081-2/+0
| | | | | The special persistent local database retains the original name. All other backends now have their own cache-NAME.ldb file.
* Turn enumeration into a boolean valueSimo Sorce2009-08-311-1/+1
|
* Monitor resolv.conf for changesStephen Gallagher2009-07-201-2/+0
| | | | | | | | | | | | | | | | | | | This patch updates the monitor_config_file() functions so that they can monitor any number of files and invoke a specified callback whenever they are modified. When inotify is available, we will add an additional watch descriptor to the inotify file descriptor. When inotify is not available, the polling function will simply loop to check each file in the monitor list. When changes are discovered in resolv.conf, the monitor will send a "resInit" signal to all of its known children. They are only required to handle this function if they need updated DNS information. Services that do not implement resInit should return DBUS_ERROR_UNKNOWN_METHOD (rather than timing out) with no ill effects.
* Improvements to config file updatesStephen Gallagher2009-07-201-1/+2
| | | | | | | | | | | | | | | 1) Some text editors will create a new file and move it into place on top of the existing file. When this happens, the kernel issues an IN_IGNORE inotify event and automatically removes the watch descriptor for that file. We'll handle the event and create a new watch descriptor for the new file. We will attempt to rewatch the file six times at five-second intervals. 2) Some scripts may append new data to the config file in several steps (such as calling echo "foo" >> sssd.conf several times). In order to handle these scripts safely, we'll defer processing of inotify events for one second after the first is detected. This should be ample time for the remainder of the script to complete.
* Separate confdb API from confdb setupStephen Gallagher2009-05-111-4/+0
| | | | | | | Refactoring the confdb so that the setup code can be linked separately from the access API. This is being done so that our plugins do not need to link against the collection and ini_config libraries.
* Fixes for porting SSSD to Debian-based platformsStephen Gallagher2009-05-041-0/+2
|
* Add common function to retrieve comma sep. listsSimo Sorce2009-04-141-0/+4
| | | | | | Also convert all places where we were using custom code to parse config arguments. And fix a copy&paste error in nss_get_config
* Make reconnection to the Data Provider a global settingStephen Gallagher2009-04-141-0/+2
| | | | | | | Previously, every DP client was allowed to set its own "retries" option. This option was ambiguous, and useless. All DP clients will now use a global option set in the services config called "reconnection_retries"
* Always pass full domain infoSimo Sorce2009-04-131-0/+8
| | | | | Change sysdb to always passwd sss_domain_info, not just the domain name. This way domain specific options can always be honored at the db level.
* Allow configuration of the SSSD through /etc/sssd/sssd.confStephen Gallagher2009-04-131-2/+10
| | | | | | | | | | | | | | | | | | | The SSSD now links with the ini_config and collection libraries in the common directory. The monitor will track changes to the /etc/sssd/sssd.conf file using inotify on platforms that support it, or polled every 5 seconds on platforms that do not. At startup or modification of the conf file, the monitor will purge the existing confdb and reread it completely from the conf file, to ensure that there are no lingering entries. It does this in a transaction, so there should be no race condition with the client services. A new option has been added to the startup options for the SSSD. It is now possible to specify an alternate config file with the -c <file> at the command line.
* Change the way we retrieve domainsSimo Sorce2009-04-081-7/+3
| | | | | | | | | | | | | To be able to correctly filter out duplicate names when multiple non-fully qualified domains are in use we need to be able to specify the domains order. This is now accomplished by the configuration paramets 'domains' in the config/domains entry. 'domains' is a comma separated list of domain names. This paramter allows also to have disbaled domains in the configuration without requiring to completely delete them. The domains list is now kept in a linked list of sss_domain_info objects. The first domain is also the "default" domain.
* Simplify default configurationSimo Sorce2009-03-201-0/+2
| | | | | | | | | | Make confdb load a base ldif like sysdb to initialize the db, makes it simpler to understand at first sight what is the default configuration. Make the parameter "command" optional. Derive the default command from available information. Make the debug level a global by default so that enabling debug for all components is as easy as passing just -d X to the sssd binary.
* Make MPG a configurable option for the domain.Simo Sorce2009-03-091-0/+1
|
* Add internal min/max/next id management fucntionsSimo Sorce2009-03-041-0/+3
| | | | | | | | Retrieve minID and maxID from domain configuration so that lower and upper bounds can be set per domain. Add function that keeps track of the next available id, increments and returns it on requests, avoiding collisions with existing ids.
* Fix confdb issues.Simo Sorce2009-02-281-3/+2
| | | | | | | | | | | Avoid uninitialized memory messages in valgrind (in _btreemap_get_keys). Do not free memory we just stored in the btree (in confdb_get_domains_list). Streamline confdb_get_domains() and remove extra calls when we already have all the information handy. Do not store basedn in domain info, the base dn is always calculated out of the domain name. Remove the "provider" attribute, it was really used only to distinguish between LOCAL and other domains, directly check for LOCAL as a special case instead.
* Refactor creation of domain_map into confdbStephen Gallagher2009-02-271-1/+21
| | | | | | | | | | | | | | | | | The NSS provider, the Data Provider backends and the InfoPipe all need access to the domain map provided by the confdb. Instead of reimplimenting it in multiple places, it is now provided in a pair of helper functions from the confdb. confdb_get_domains() returns a domain map by reference. Always returns the most up-to-date set of domains from the confdb. confdb_get_domains_list() returns an array of strings of all the domain names. Always returns the most up-to-date set of domains from the confdb. This patch also modifies the btreemap_get_keys() function to better handle memory and report allocation failures.
* Rebase the code to use talloc, tdb, tevent, ldb as externalSimo Sorce2009-02-261-1/+5
| | | | | | dependencies based on the latest samba code. Convert all references to the old events library to use the renamed tevent library.
* Add helper function to get booleans from confdbSimo Sorce2009-02-201-0/+4
|
* Completely rework the nss interface to be able to use 2Simo Sorce2009-02-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | types of domains: modern and legacy modern uses member/meberof, legacy uses memberUid for group memberships. Rework the proxy backend to use the legacy style as that's the format the data comes in (trying to convert would require too many transformations and increased the number of queries). Add support for fetching groups in nss. Add support for enumerating users and groups (requires to enable enumeration in config) both in nss and in the proxy provider. Remove confdb_get_domain_basedn() and substitute with generic calls in the nss init function. Store a domain structure in the btree not the basedn so that we can add enumeration flags. Also make sure NSS understand how to make multiple calls on enumerations, also make passing the domian parameter always mandatory, passing in domain=* is not valid anymore. This work fixes also a few memory, degfault, and logic bugs found while testing all nss functions (there are still some to fix that are less critical and much harder to find yet).
* Always pass teh database path explicitly, so that test cases can useSimo Sorce2009-02-131-1/+4
| | | | | throw away databases Check version and init main db if empty
* Store all domains served by the SSSD to a binary-tree map for fast NSS lookup.Stephen Gallagher2008-11-071-0/+8
| | | | | | Changed the "section" feature of confdb.c to use '/' as a delimiter instead of '.', because this conflicted with the ability to use dots in domain names.
* Add some more service functionsSimo Sorce2008-11-041-0/+4
|
* Add support for dbus comunication in the nss serviceSimo Sorce2008-11-031-0/+4
| | | | | Add utility function in confdb Make all component fetch the dbus socket from the confdb
* Add configuration database functions.Simo Sorce2008-10-201-0/+39
Convert nss responder to use the confdb