summaryrefslogtreecommitdiff
path: root/server
AgeCommit message (Collapse)AuthorFilesLines
2009-02-24Add D-BUS introspection to InfoPipe This function is necessary to play nice ↵Stephen Gallagher5-5/+90
with D-BUS clients built in multiple languages. It will read in the XML file on the first request and store the returned XML as a component of the sbus_message_handler_ctx for the connection. All subsequent requests during the process' lifetime will be returned from the stored memory. This is perfectly safe, as the available methods cannot change during the process lifetime.
2009-02-23Fixing serious memory allocation bug in sbus_message_handler.Stephen Gallagher12-169/+156
dbus_message_append_args() adds a reference to memory that is not copied to the outgoing message until dbus_connection_send() is called. Since we compile our reply messages in functions and then return the reply, we need a mechanism for deleting allocated memory after invoking dbus_connection_send. I have changed the arguments to sbus_msg_handler_fn so that it takes a talloc ctx containing the sbus_message_handler_ctx and a pointer to a reply object. We can now allocate memory as a child of the reply context and free it after calling dbus_connection_send.
2009-02-23Attach the InfoPipe to the D-BUS system bus. InfoPipe is now capable of ↵Stephen Gallagher13-51/+675
listening for requests to org.freeipa.sssd.infopipe I made the sbus_add_connection function public so that I could use it for system bus connections. Adding initial framework for the InfoPipe Updating sysdb tests for the refactored sysdb methods.
2009-02-20Change examples accordingly to changes in the codeSimo Sorce2-7/+10
2009-02-20Reorganize sysdb a bit,Simo Sorce6-980/+1096
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-20Add helper function to get booleans from confdbSimo Sorce2-9/+46
2009-02-20Completely rework the nss interface to be able to use 2Simo Sorce9-440/+1588
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-16Modifying sbus_message_handler to return DBUS_ERROR_UNKNOWN_METHOD when the ↵Stephen Gallagher1-2/+10
requested method is not registered with the message handler. Previously, we returned DBUS_HANDLER_RESULT_HANDLED with no indication that nothing had happened.
2009-02-16Enhancements and bugfixes to util/btreemap.c 1) Remove useless and unused ↵Stephen Gallagher3-26/+38
btreemap_new() 2) Fix potentially serious memory allocation error. btreemap now requires a TALLOC_CTX to be passed in for assignment to the top node of the tree. Previously it was creating a new root TALLOC_CTX 3) Add new function btreemap_get_keys that will return a sorted array (newly allocated using talloc_realloc()) of keys (const void *) 4) Change the btreemap to use (const void *) keys instead of (void *)
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-13Make backend requests asyncSimo Sorce4-72/+599
2009-02-13Object not found on delete is not really an error.Simo Sorce1-10/+10
2009-02-13If we find the service we are doneSimo Sorce1-1/+2
2009-02-13Add a separte global checker that does not depend on individualSimo Sorce1-28/+91
services ping time.
2009-02-13Always pass teh database path explicitly, so that test cases can useSimo Sorce10-47/+223
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-12Remove dp_cli_sbus_initSimo Sorce3-128/+5
2009-02-12Add syntaxes for member and memberofSimo Sorce1-0/+8
2009-02-12Fix copy&paste errorSimo Sorce1-1/+1
2009-02-12Add indexes and attribute types for common attributesSimo Sorce1-0/+18
2009-02-12- make all functions supposed to get input in posix formatSimo Sorce4-315/+240
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 Gallagher3-19/+253
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 Gallagher3-68/+184
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 Gallagher3-92/+236
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 Gallagher3-27/+462
2009-02-12Adding sysdb_store_group_posix with unit testStephen Gallagher8-18/+374
2009-01-28server.mk was included twice by mistakeSimo Sorce1-2/+0
2009-01-28Simplify delete path by removing effectively redundant code.Simo Sorce1-221/+41
Thanks Nathan for the review that lead to this!
2009-01-28Add comments on how memberof works.Simo Sorce2-1/+97
Enable memberof by default in the default db example
2009-01-28Add a memberof plugin so that we can properly apply the same group membershipsSimo Sorce4-7/+2315
as in IPA if necessary. This patch slightly modifies ldb to split out a modules header file without exposing the private headers.
2009-01-28Move install directiuves into Makefile.inSimo Sorce2-6/+4
2009-01-27Preliminary support for enabling InfoPipe to listen on the D-BUS system bus. ↵Stephen Gallagher9-4/+183
It will connect and authenticate successfully (using the included D-BUS policy file installed in the correct /etc directory. Does not yet listen for requests.
2009-01-27Add skeleton for PolicyKit back-endStephen Gallagher5-1/+242
2009-01-27Add skeleton for InfoPipe serviceStephen Gallagher6-4/+243
2009-01-27Automatically generate the config.ldb if it doesn't exist (i.e. First startup)Stephen Gallagher4-10/+91
2009-01-27Fix configure when libs are not in standard pathsSimo Sorce1-0/+1
2009-01-27Fixes to the makefile to get make install to work properlyStephen Gallagher2-3/+11
2009-01-27Refactoring the monitor code and SBUS utility functions.Stephen Gallagher19-174/+547
2009-01-14Add code to make it easier to reconnect in case the serverSimo Sorce7-33/+134
is not available immediately or drops the dbus connection. First step is the nss connection to the data provider.
2009-01-13Now that we have the domain name passed in, dispatch to the rightSimo Sorce1-3/+9
domain when possible.
2009-01-13Fix return, dbus would abort because we were passing values andSimo Sorce2-3/+7
not pointers to values. Check domain is never null (or dbus will abort).
2009-01-13Monitor will now start services asynchronously. This means that forked ↵Stephen Gallagher1-21/+57
services can no longer start before the monitor is running its mainloop. This avoids the race condition where the child services attempted to connect to the monitor SBUS before it was able to answer requests.
2009-01-12Add checks to make sure we are getting a user from the correct domain.Simo Sorce3-1/+72
2009-01-12Add placeholders for new configuration reload methods. The monitor will be ↵Stephen Gallagher3-0/+25
able to call the reloadConfig DBUS method on any or all of its children to force them to reread their configuration from the confdb.
2009-01-12Regroup database rleated functions under db andSimo Sorce16-1429/+1344
rename everything with the sysdb suffix.
2009-01-12Adding parsing code to separate names from domains.Stephen Gallagher2-7/+51
Currently, if an invalid domain was specified, it will result in EINVAL being returned.
2009-01-11Use a unified base (temp. dc=sssd), for all domain including LOCAL.Simo Sorce7-295/+273
It makes no sense to have internal attribute names user configurable, remove that option and use macros internally. Also now always pass the domain name to all nss_ldb_* calls.
2009-01-11Add support for getpwuid in proxy backendSimo Sorce4-46/+230
2009-01-11Add caching behavior to nsssrv_cmd.c check cache first andSimo Sorce4-20/+82
dispatch to backends only if we have a cache miss.