summaryrefslogtreecommitdiff
path: root/server/providers
AgeCommit message (Collapse)AuthorFilesLines
2009-02-28Convert sync calls in sysdb to async, transaction dependent, calls.Simo Sorce1-350/+610
2009-02-26Rebase the code to use talloc, tdb, tevent, ldb as externalSimo Sorce7-20/+24
dependencies based on the latest samba code. Convert all references to the old events library to use the renamed tevent library.
2009-02-25added more ldap backend options and an example configurationSumit Bose1-68/+92
Signed-off-by: Simo Sorce <ssorce@redhat.com>
2009-02-24Add PAM responderSumit Bose6-2/+1232
Also move responders under server/responder with shared code in server/responder/common Signed-off-by: Simo Sorce <ssorce@redhat.com>
2009-02-24Proper fix for memory handling problem.Simo Sorce2-57/+79
sbus_message_handler is not responsible anymore for sending back data in any case. Transfer this responsibility to the handler function called. This way both synchronous and asynchronous funstions use the interface the same way and can properly free memory referenced by the reply after the send buffer has been filled in and all copies are done in sbus_conn_send_reply()
2009-02-24Revert "Fixing serious memory allocation bug in sbus_message_handler."Simo Sorce2-51/+66
This reverts commit 13421cbe0af4343f9d110600755ffa756690b282. Conflicts: server/infopipe/infopipe.c server/infopipe/infopipe.h While this solution fixed the contingent memory problem it introduced other problems in handling asynchronous replies. Reverting in preparation for a different way to solve it. Conflicts have been taken care of.
2009-02-23Fixing serious memory allocation bug in sbus_message_handler.Stephen Gallagher2-66/+51
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-20Completely rework the nss interface to be able to use 2Simo Sorce2-31/+190
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-13Make backend requests asyncSimo Sorce4-72/+599
2009-02-13Always pass teh database path explicitly, so that test cases can useSimo Sorce1-1/+1
throw away databases Check version and init main db if empty
2009-02-12Remove dp_cli_sbus_initSimo Sorce3-128/+5
2009-02-12- make all functions supposed to get input in posix formatSimo Sorce1-12/+12
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-01-27Refactoring the monitor code and SBUS utility functions.Stephen Gallagher6-20/+247
2009-01-14Add code to make it easier to reconnect in case the serverSimo Sorce3-15/+15
is not available immediately or drops the dbus connection. First step is the nss connection to the data provider.
2009-01-13Fix return, dbus would abort because we were passing values andSimo Sorce1-3/+3
not pointers to values. Check domain is never null (or dbus will abort).
2009-01-12Add placeholders for new configuration reload methods. The monitor will be ↵Stephen Gallagher1-0/+12
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 Sorce5-475/+11
rename everything with the sysdb suffix.
2009-01-11Use a unified base (temp. dc=sssd), for all domain including LOCAL.Simo Sorce1-27/+28
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 Sorce3-25/+160
2009-01-11Turn ldap_provider.c into proxy.c and make it possible to load just anySimo Sorce3-32/+62
libnss library through config directives on the domain object
2009-01-09Lots of little nasty bugs fixed.Simo Sorce1-9/+21
I was finally able to get a getpwnam() request go through sssd, hit the remote ldap server and get the answer back with 'getent passwd foo' Yupiee!
2009-01-08The code now successfully sends a getpwnam request to a remote LDAP server,Simo Sorce4-50/+93
and caches the result in LDAP. Still chasing a bug that does not let NSS known that the BE was successful. This makes NSS timeout the client and not return any results yet.
2009-01-06Add more infrastructure to data provider to dispatch requests (still untested).Simo Sorce7-172/+1061
Add helper functions to connect to the data provider. Add some plumbing to the ldap provider (still untested).
2009-01-05Fix dp client to connect to the right dbus pipeSimo Sorce2-19/+24
2008-12-22libevents renamed upstream to libteventSimo Sorce1-1/+1
events.h -> tevent.h
2008-12-15Modified sbus_server_new() to take a talloc memory context to useStephen Gallagher1-1/+2
as a parent for the new server context object.
2008-12-15Adding a parameter to the sbus_service_sbus_init function to allow passing ↵Stephen Gallagher2-2/+2
in an sbus_conn_destructor_fn to the sbus_new_connection() function. Fixing minor warning about the usage of talloc_reference.
2008-12-15Disconnected client SBUS connections would delete the master set of ↵Stephen Gallagher1-1/+5
sbus_method_ctx entries, meaning that the next connection to attempt to disconnect would receive a segmentation fault also trying to delete them. They are now talloc_reference()-ed to their connection context and talloc_unlink()-ed upon deletion. I have also modified the sbus_new_server() call to take a reference to an sbus_srv_ctx object as a return argument, so that the calling function can keep track of the SBUS server context if it so chooses.
2008-12-10Initial work on a test provider using the gross hack of dlopen()ing nss_ldapSimo Sorce3-8/+186
:-)
2008-12-09Fix dbus related memory leaksSimo Sorce1-8/+12
2008-12-08Change data provider into a hub, where backends (ldap, nis, ipa providers)Simo Sorce3-156/+748
and frontends (pam, nss, ... modules) can connect to.
2008-11-25Make a binary out of each major sssd component instead ofSimo Sorce1-0/+43
using the same binary to fork off all services.
2008-11-25Remove the service stuff that we stopped using when we moved toSimo Sorce1-1/+0
the forl/exec model
2008-11-24point PIPE_PATH at /var/lib/sss/pipes, not just the private path so that theSimo Sorce2-2/+3
same config option can be used for the nss service
2008-11-24Replacing hard-coded paths with configure script substitutions.Stephen Gallagher2-22/+52
Changing the default SBUS locations to be configure script parameters
2008-11-24change structure nameSimo Sorce2-7/+13
2008-11-20Created a helper function sssd_service_sbus_init() to simplify creating the ↵Stephen Gallagher2-49/+13
initial connection to the monitor service within the child services. It will create the D-BUS connection to the monitor and configure the service to handle the mandatory getIdentity and ping methods.
2008-11-20Make it possible to use an arbitrary command to start servicesSimo Sorce1-1/+1
2008-11-20Remove unused code and fix message handlers in dpSimo Sorce1-24/+10
2008-11-20Start conversion from a fork() and live to a fork()/exec() model.Simo Sorce3-24/+21
To start the dameon now you need to pass the option -s monitor Still have some problems communicating with children.
2008-11-19Add some infrastructure code to add data providers.Simo Sorce3-0/+509
This currently breacks the dameon because of a problem with destroying the monitor dbus server in the children after fork()