summaryrefslogtreecommitdiffstats
path: root/server
Commit message (Collapse)AuthorAgeFilesLines
* Don't go to the backend for identical cache entry requestsStephen Gallagher2009-08-143-55/+303
| | | | | | | | | Currently, if an additional request comes in for a cache entry while that same entry is already in the process of being refreshed, we start a duplicate cache update request. This patch adds allows the cache to maintain a hash table of all in-progress requests and queue up multiple callbacks for updates in progress. Once the data is returned, all of these callbacks will fire.
* Make "files" a reserved word for legacy local domainJakub Hrozek2009-08-134-4/+57
| | | | | | | | This patch introduces provider=files as a valid provider. Upon loading the backend, its properties in confdb are overwritten to those that represent legacy local domain. Also document this in sssd.conf(5) and example config
* Tools ID range fixesJakub Hrozek2009-08-133-4/+16
| | | | | | | | | The tools did not take the special case where id_max = 0 (no limit) into account. Also disallow adding users when ID is specified outside any domain. Resolves trac tickets #86 and #89
* Eliminate unnecessary explicit timeout for DP account requestsStephen Gallagher2009-08-121-33/+19
| | | | | | | D-BUS handles timeouts itself and reports DBUS_ERROR_NO_REPLY if a timeout fires, so we can rely on this instead of having an explicit timeout ourselves. Furthermore, the two timeouts present a potential race condition.
* Fix reversal of parent and member in groupmodSimo Sorce2009-08-121-8/+8
| | | | ticket #101
* Change the why DP clients identifySimo Sorce2009-08-1115-321/+340
| | | | Mirrors what we have done with the monitor.
* Prevent races between dp startup and othersSimo Sorce2009-08-111-16/+26
| | | | Simply delay anything other service by 1 second only at startup.
* Change services identification mechanismSimo Sorce2009-08-1111-507/+421
| | | | | | | Let services identify themselves voiluntarily as the first operation instead of polling from the monitor. Also consolidate some common functions and make them available as monitor helpers.
* Minor fixesSimo Sorce2009-08-112-7/+13
|
* Fix monitor ping timeoutStephen Gallagher2009-08-111-1/+4
| | | | | | | | | | | | Our configuration specifies the monitor config timeout as seconds, but we were passing it directly to dbus commands that require milliseconds. Fixing this in get_monitor_config(). Also, the default value of -1 for the timeout resulted in a timeout much too short to be useful, so I'm making it 10s instead. This fix solves the problem where a busy backend (for example, one that is enumerating a large number of LDAP entries) would fail to respond to the ping in time.
* Make child processes exit when parent diesJakub Hrozek2009-08-117-1/+70
| | | | | | | | The child processes call prctl() and when their parent process is killed, they are sent SIGTERM using prctl. This is currently Linux-specific, for non-Linuxes, a similar effect is achieved by catching a set of common termination signals and sending SIGTERM to the process group.
* Make socket paths a compile-time optionStephen Gallagher2009-08-116-5/+3
| | | | | | Previously, we had hardcoded the paths for the NSS, PAM and private PAM sockets to /var/lib/sss/pipes. With this patch, we will specify the sockets with --with-pipe-path.
* Do not fail enumerations because of range checksSimo Sorce2009-08-102-6/+18
|
* Revert build-breaking libsss_util_la change.Stephen Gallagher2009-08-101-9/+20
| | | | | | Moving the common utility sources into a libtool convenience library caused problems with symbols when loading the plugin libraries.
* Add configure checks for docbook XSL templates and XML toolsJakub Hrozek2009-08-102-3/+40
| | | | | | Changes the configure process so that configure errors out if lacks the tools necessary to build manual pages (like xsltproc). Also adds a check for required URI of the docbook XSL templates using the xmlcatalog tool.
* Build and run tests with 'make check'Stephen Gallagher2009-08-102-27/+11
| | | | | | | | | | | When --enable-tests is set by configure, the sysdb, stress and resolver tests will be built by 'make check', which will also then run the sysdb and resolver tests automatically. This patch also updates the server Makefile to create a libtool convenience library of the common source files to spare them being built separately for every library/executable that has different CFLAGS.
* Simplify interfaces initializationSimo Sorce2009-08-1024-417/+267
| | | | | | | Make as much as possible static, and remove use of talloc_reference and allocation/deallocation of memory when not necessary. Fix also responder use of rctx->conn, was mistakenly used for both monitor and dp connections.
* merge server and connection structuresSimo Sorce2009-08-1012-286/+228
| | | | | | This reduce code duplication as it allows to use one set of watch and timeout functions, and at the same time also allow not to use a secondary structure just to unify these functions.
* Cosmetic changesSimo Sorce2009-08-1016-375/+375
| | | | | Rationalize and rename connection names in preparatoin for merging of server and connection structures.
* Remove redundant memory contextsSimo Sorce2009-08-1014-134/+114
| | | | Simplify code by removing stuff that is never used or redundant.
* Refactor some code around watches and timeoutsSimo Sorce2009-08-104-355/+324
| | | | | | | | | | Watches and Timeouts are now unified under one implementation that covers both dbus server and connections. In watches do not keep removing and adding file events simply toggle the appropriate flags. Also streamline some memory management within both timeout and watch related functions, checking allocations and freeing the whole context not just the events.
* CleanupsSimo Sorce2009-08-102-189/+199
| | | | | Minor style cleanups, and some name consistency cleanups that make some names a bit more meaningful and/or shorter.
* Fix broken ifndefsSimo Sorce2009-08-051-9/+0
| | | | | | | | ifndef doesn't work for those functions that aren't already macro definitions in tevent.h like tevent_req_data. However if tevent_req_data is defined in tevent.h, all other functions are available as well. So just check for tevent_req_data and define all of them if it is not available. This should fix compiling on distros with the latsest tevent.
* Parse fully qualified names in toolsJakub Hrozek2009-08-058-88/+289
| | | | | | Allow adding users into different domains not only by specifying ID directly but also by specifying fully qualified name. Exit when both specifications are used in conflict.
* Move parsing of names and domains into util/Jakub Hrozek2009-08-054-120/+135
|
* Fix adding to groups on user creationJakub Hrozek2009-08-051-1/+1
|
* Consolidate tevent helpersJakub Hrozek2009-08-056-84/+25
|
* Fix race condition in sdap codeSimo Sorce2009-08-042-83/+172
| | | | | | | Retrieving ldap results and storing users could sometimes results in race conditions where the final ldap result was retrieved before the store operations where finished resulting in the operations to be aborted before termination. Implement a serialization mechanism per operation.
* Fix search replies getting ignoredSimo Sorce2009-08-031-14/+12
|
* Correct check for local domain in toolsJakub Hrozek2009-07-312-14/+2
| | | | | | When looking for the local domain in the tools, do so by looking on provider value, not domain name. Also removes one redundant lookup of local domain.
* Notify user when deleting nonexistent user or groupJakub Hrozek2009-07-312-5/+20
| | | | Fixes: RHBZ #513247, RHBZ #513250
* Use correct return codesJakub Hrozek2009-07-314-4/+4
| | | | | Some code paths that should exit with an error used potentionally incorrect return code.
* Add ignore_not_found parameter to sysdb delete functionsJakub Hrozek2009-07-314-21/+182
| | | | Also add tests
* Improve error messagesJakub Hrozek2009-07-314-5/+32
| | | | | | | | | | | Fixes: * RHBZ 513282 - Error Message Incorrect when Trying to add Group with GID already in use * RHBZ 513284 - Error Message Incorrect when Trying to add User with UID already in use * RHBZ 513242 - Better error Message when modifying a user that doesn't exist * RHBZ 513244 - Better error Message when adding a user to a group that doesn't exist
* Address CVE-2009-2410Stephen Gallagher2009-07-291-1/+1
| | | | Fix incorrect error code return in local_handler_callback
* Add async resolver testsJakub Hrozek2009-07-242-1/+455
| | | | | | Add some basic unit tests of the async resolver module. One of the tests resolves a name on the Internet, therefore it is off by default and is turned on with the -n switch.
* Add ares helpers into sssdJakub Hrozek2009-07-249-1/+498
| | | | | | | | | | This patch adds ares parsing functions that are not yet upstreamed together with a private ares header file (ares_dns.h) that contains some necessary macros for parsing common structures in the replies. Users of these two parsing functions must also include the header files ares_parse_{srv,txt}_reply.h that contain the function and structures declarations that should eventually end up in upstream ares.h
* Async DNS integrationJakub Hrozek2009-07-245-1/+739
| | | | Integrates the c-ares asynchronous resolved library into SSSD.
* Fix race condition that was causing segfaultsSimo Sorce2009-07-241-80/+136
| | | | | | | | The sdap_handle might be freed when processing a message. Rearrange data flow so that the sdap_handle is never used after a message is processed but a new event (dependent on the handle) is instead scheduled. If the sdap_handle is freed, the scheduled event is also removed and not fired
* Minor cleanups in monitor.cStephen Gallagher2009-07-221-1/+5
| | | | | 1) Forgot to check for successful allocation 2) Used the wrong mem_ctx when allocating a timer event.
* added LDAP change password backend targetSumit Bose2009-07-214-4/+307
|
* add handling of the new backend targets to proxy backendSumit Bose2009-07-211-0/+30
|
* Rework the engine that deals with openldap librariesSimo Sorce2009-07-203-497/+403
| | | | | | | The way openldap libraries work, require to have a single engine per connection as all replies are read at the same time. So we need to always read anything that comes in from the wire and then loop to dispatch results to the requests that are waiting.
* Raise debug level for version negotiationSimo Sorce2009-07-201-2/+2
|
* Add option to add timestamps to debug outputSimo Sorce2009-07-204-8/+39
| | | | | use '--debug-timestamps' at the command line or set 'debug-timestamps = TRUE' in the configuration file.
* Remove unused InfoPipe and PolicyKit codeStephen Gallagher2009-07-2016-5530/+2
|
* Instrument memberof for debuggingSimo Sorce2009-07-202-1/+57
| | | | Fix ldb debug to avoid printing the debug function name, it's useless.
* Start rationalizing user tools a bitSimo Sorce2009-07-207-408/+299
| | | | | There is a lot of duplication in user tools. First steps to remove as much duplication as possible.
* Implement resInit for monitor, NSS, PAM, DP and the backendsStephen Gallagher2009-07-205-1/+91
|
* Monitor resolv.conf for changesStephen Gallagher2009-07-204-128/+234
| | | | | | | | | | | | | | | | | | | 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.