summaryrefslogtreecommitdiff
path: root/server/db
AgeCommit message (Collapse)AuthorFilesLines
2009-02-20Reorganize sysdb a bit,Simo Sorce4-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
2009-02-20Completely rework the nss interface to be able to use 2Simo Sorce1-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).
2009-02-17Fix another transaction mis-handlingSimo Sorce1-22/+20
2009-02-16ldb_msg_* functions do not reliably set errno on error, do not realy on that.Simo Sorce1-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.
2009-02-13Object not found on delete is not really an error.Simo Sorce1-10/+10
2009-02-13Always pass teh database path explicitly, so that test cases can useSimo Sorce3-29/+192
throw away databases Check version and init main db if empty
2009-02-13Fix add member, remove one to many lines in the previous tidyupSimo Sorce1-0/+6
2009-02-12- make all functions supposed to get input in posix formatSimo Sorce2-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
2009-02-12Added sysdb_remove_group_posix and sysdb_remove_group_posix_by_gidStephen Gallagher2-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.
2009-02-12Add support for removing members from groups. Updated convenience functions ↵Stephen Gallagher2-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.
2009-02-12Add sysdb_add_group_to_posix_group, refactored sysdb_add_acct_to_posix_group ↵Stephen Gallagher2-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.
2009-02-12Adding sysdb_add_acct_to_posix_group and associated unit testsStephen Gallagher2-6/+183
2009-02-12Adding sysdb_store_group_posix with unit testStephen Gallagher2-6/+177
2009-01-12Regroup database rleated functions under db andSimo Sorce2-0/+1273
rename everything with the sysdb suffix.