summaryrefslogtreecommitdiffstats
path: root/server/db
Commit message (Collapse)AuthorAgeFilesLines
* Rework transaction code to use tevent_reqSimo Sorce2009-07-036-1630/+3137
| | | | | | This is part of a set of patches to rewrite sysdb to a hopefully better API, that will also let use use tevent_req async style calls to manipulate our cache.
* Rename sysdb_req to sysdb_handle.Simo Sorce2009-07-035-208/+208
| | | | | | | | | This sysdb_req has always really been a transaction handle and not a request. This is part of a set of patches to rewrite transaction support in sysdb to a hopefully better API, that will also let use use tevent_req async style to manipulate our cache.
* Suppress "rootdse" error messages.Stephen Gallagher2009-05-281-0/+6
| | | | | | | We will trap all LDB debug messages and pipe them into our internal DEBUG() function. LDB FATAL messages will still be printed by default, WARNING and TRACE functions will be at debug level 3 and 9, respectively.
* Silence warningsSimo Sorce2009-05-261-3/+2
|
* Fix manual UID assignment in sysdbJakub Hrozek2009-05-261-11/+15
| | | | | If it's an MPG domain, set them equal. If it's a non-MPG domain, get the next available GID and use that.
* added prototype for sysdb_set_cached_passwordSumit Bose2009-05-191-0/+6
|
* Move actual password caching into sysdbSimo Sorce2009-05-182-2/+49
| | | | Convert auth modules to do the caching themselves
* Fixes for porting SSSD to Debian-based platformsStephen Gallagher2009-05-041-1/+0
|
* Use different attribute for cached passwordsSimo Sorce2009-04-271-0/+2
| | | | | | | This fixes a bug with legacy backends where the cached password would be cleared on a user update. Using a different attribute we make sure a userPassword coming from the remote backend does not interfere with a cachedPassword (and vice versa).
* enable uid/gid generation againSumit Bose2009-04-271-3/+6
|
* fixes for user and group creation in LOCAL domainSumit Bose2009-04-231-0/+19
| | | | | - added range check for supplied UIDs and GIDs - initialize pc_gid to 0 to trigger gid generation
* Always pass full domain infoSimo Sorce2009-04-132-25/+32
| | | | | 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.
* Clean up warnings in SSSDStephen Gallagher2009-04-071-1/+0
|
* Add way to use files as a proxy backend fro LOCALSimo Sorce2009-04-012-3/+4
| | | | | | | | | | | | Makes LOCAL a normal backend removing some special handling. Fix/Add id range filtering and name filtering Filters uid=0 and gid=0 in the proxy backend as 0 is invalid within sysdb and was causing getxxent calls to fail completely. Fix nss_ncache_check_xxx calls to avoid dirtying the 'ret' variable and causing some unwanted failures. Change sysdb to always return the uid number when searching member entries so that id range filtering can be perfomed also in group searhes (does not work with legacy backends)
* Fix segfault error caused by a double freeSimo Sorce2009-03-181-178/+118
| | | | | | | | In delete_callback we were freeing rep after having called return_done() This caused a double free becuse rep is already freed as child of the request when return_done calles the callback. To avoid future errors like this convert return_error and return_done into functions and make them always be the last call of the function and call them as part of the function return.
* Fix returning user with missing optional attributes.Simo Sorce2009-03-102-9/+15
| | | | | | | | | Gecos, homedir and shell are optional, fix the responder not to refuse to return the user completely if they are missing, replace an empty homedir with "/". Also fix fullname vs gecos, and always return gecos for NSS data. On user creation set gecos to the same value as the user Full Name, to help populate the gecos field with data that makes sense.
* If a domain is MPG enabled return users a groupsSimo Sorce2009-03-102-15/+73
| | | | Turn user entries to Magic Private Groups when groups are quesried.
* Fix bugs in functions dealing with groupsSimo Sorce2009-03-101-0/+6
| | | | | | Fix infinite loop within initgr functions. Fix min length check copy&paste error, was filtering valid groups if the name was short enough and the group had no members.
* Always pass sss_domain_info to sysdb functions.Simo Sorce2009-03-092-57/+35
|
* Move MPG checks within sysdb.Simo Sorce2009-03-092-22/+199
| | | | | This allows to perform checks and modifications in one transaction. Uses configuration stored in confdb to determins if a domain uses MPGs.
* Do not duplicate attribute names macros.Simo Sorce2009-03-091-21/+18
| | | | Also shorten names oh other user attributes.
* Implement SetGroupGID in the InfoPipeStephen Gallagher2009-03-092-0/+72
|
* Implement CreateUser in InfoPipeStephen Gallagher2009-03-062-2/+2
| | | | | | | | | | | Changed the order of the arguments to CreateUser in the Introspection XML to match the other functions (domain belongs second on the list) A few other minor fixes as well: Fixed a typo in SYSDB_GETCACHED_FILTER and sysdb_transaction_end(). Added missing error handling in infp_do_user_set_uid().
* Remove obsolete commentSimo Sorce2009-03-061-3/+0
|
* Add userspace tools to manipulate accounts.Simo Sorce2009-03-061-0/+2
| | | | | The first functional command is sss_useradd (Name is temporary, while looking for a better one)
* Fix reporting non-default users.Simo Sorce2009-03-061-0/+4
| | | | | We need to add the domain when users are not part of the default domain, otherwise name conflicts may happen.
* Remove _PW_ and _GR_ from SYSDB_ definesSimo Sorce2009-03-054-56/+52
| | | | Also unify SYSDB_PW_NAME and SYSDB_GR_NAME in SYSDB_NAME and make it "name"
* Implement GetCachedUsers in the InfoPipeStephen Gallagher2009-03-052-1/+9
| | | | | | | | | | | | | This function allows a caller to retrieve a list of users who have logged in on the system, specifying an optional minimum last login time to trim the list. I modified sysdb_enumpwent to accept an optional search argument. GetCachedUsers takes advantage of this argument to limit the search by the last login time. I also found and fixed a few additional low-memory conditions around D-BUS message replies.
* Add functions to add regular users and groupsSimo Sorce2009-03-052-15/+299
| | | | | | Calulates next id automatically if uid/gid are not specified. Fixes to sysdb_get_next_available_id. Add tests to create users and groups through the new functions.
* Add internal min/max/next id management fucntionsSimo Sorce2009-03-043-14/+290
| | | | | | | | 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.
* Improve sysdbSimo Sorce2009-03-044-33/+87
| | | | | | Add comments in header files to better explain interfaces and intended usage. Expose function to convert from ldb errors to errnos. Add sysdb_attrs helper to add a long integer as a value.
* Provide sysdb_set_user_attr() functions.Simo Sorce2009-03-034-3/+155
| | | | | | Provide also helper functions to build struct sysdb_attrs. Also fix sysdb_get_user_attr() to have a consistent interface as all other functions.
* Unify pwd_search and user_searchSimo Sorce2009-03-021-35/+11
|
* Implement GetUserAttributes in the InfoPipeStephen Gallagher2009-03-022-0/+92
| | | | | | | | | | | | | | | | | | This patch adds support for requesting user data in the sysdb via the InfoPipe. It currently has support for reading defined entries of integral, floating-point or string types. Tasks remaining: 1) Implement call to the provider when cache is out of date 2) Support byte arrays for userpic and similar I modified sysdb_search_ctx in sysdb_search.c to accept an array of attributes to pass into the LDB search. I also made one additional related fix: the btreemap now sorts in the correct order. Previously I had accidentally transposed the two values for sorting, so the map would always have been in exact reverse order.
* first version of LOCAL pam backendSumit Bose2009-03-021-0/+1
|
* Expose some more functions needed by the testsSimo Sorce2009-02-283-1/+114
|
* Convert sync calls in sysdb to async, transaction dependent, calls.Simo Sorce2009-02-287-962/+1041
|
* Serialize access to sysdb and also exposes ldb transactions.Simo Sorce2009-02-266-750/+1008
| | | | | | This is necessary because in ldb only 1 transaction per context is possible and all operations (or new transactions) are nested within it. Will revisit this later when ldb will addresses the problem.
* Rebase the code to use talloc, tdb, tevent, ldb as externalSimo Sorce2009-02-262-16/+16
| | | | | | dependencies based on the latest samba code. Convert all references to the old events library to use the renamed tevent library.
* Reorganize sysdb a bit,Simo Sorce2009-02-204-966/+1087
| | | | | | | rename _posix_ function into _legacy_ Add support for the posix legacy mode where memberships are stored in memberUId and not in member/memberof pairs. Do not build sysdb as a library
* Completely rework the nss interface to be able to use 2Simo Sorce2009-02-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Fix another transaction mis-handlingSimo Sorce2009-02-171-22/+20
|
* ldb_msg_* functions do not reliably set errno on error, do not realy on that.Simo Sorce2009-02-161-34/+34
| | | | | | | | | | | | This was causing some functions to not cancel a transaction as they should have, leaving it pending indefintely. It in turn meant that no other process could see what was "stored" in the db as transactions are not fluched to the db until "committed". Took me quite a while and a lot of confusion to catch why I was seeing "ghost entries" in some processes and not seeing the entry in others .. As a defensive programming measure make sure we commit OR cancel in the same spot and that we always go thorugh it.
* Object not found on delete is not really an error.Simo Sorce2009-02-131-10/+10
|
* Always pass teh database path explicitly, so that test cases can useSimo Sorce2009-02-133-29/+192
| | | | | throw away databases Check version and init main db if empty
* Fix add member, remove one to many lines in the previous tidyupSimo Sorce2009-02-131-0/+6
|
* - make all functions supposed to get input in posix formatSimo Sorce2009-02-122-215/+217
| | | | | | | | use the same namespace (sysdb_posix_) - no need to explicitly start a transaction if only one operation is performed using a synchronous interface - split _add_remove_ functions into separate functions, don't let ldap madness creep into out interfaces
* Added sysdb_remove_group_posix and sysdb_remove_group_posix_by_gidStephen Gallagher2009-02-122-3/+140
| | | | | | | | | | | Fixed a few small bugs in sysdb_[store|remove]_account_posix. The string "uid=" needed to be replaced with SYSDB_PW_NAME, and the search scope in sysdb_remove_account_posix_by_uid needed to be LDB_SCOPE_ONELEVEL, not LDB_SCOPE_BASE. Added associated unit tests. Modified the unit test structure so that it is called as a single suite, rather than a User and Group suite, since there is too much overlap.
* Add support for removing members from groups. Updated convenience functions ↵Stephen Gallagher2009-02-122-41/+87
| | | | | | | | | | for adding/removing user accounts and POSIX groups to the groups. Also modified the add/remove member functions to be a single interface taking a flag for add or removal, since the code only differs by one LDB flag. Added associated unit tests.
* Add sysdb_add_group_to_posix_group, refactored sysdb_add_acct_to_posix_group ↵Stephen Gallagher2009-02-122-75/+81
| | | | | | to now use sysdb_add_member_to_posix_group along with sysdb_add_member_to_posix_group. Added new unit tests to sysdb-tests.c for groups of groups.