summaryrefslogtreecommitdiff
path: root/server/sbus/sssd_dbus_connection.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-01allow compilation with older version of dbusSumit Bose1-0/+4
2009-03-20Add reconnection logic to the SBUSStephen Gallagher1-1/+189
Any client of the SBUS that wants to implement automatic reconnection may now call sbus_reconnect_init to set it up. The clients will need to set up a callback to handle the result of the reconnection and (in the case of a successful reconnection) readd the method handlers to the connection context.
2009-03-06Add sbus_reply_internal_error() feature to sbus_message_handler()Stephen Gallagher1-2/+14
If an SBUS function returns an error code, we'll immediately return an error reply to the client stating "Internal Error" instead of ignoring the request and forcing the client to wait for a timeout.
2009-02-26Rebase the code to use talloc, tdb, tevent, ldb as externalSimo Sorce1-24/+23
dependencies based on the latest samba code. Convert all references to the old events library to use the renamed tevent library.
2009-02-24Proper fix for memory handling problem.Simo Sorce1-9/+14
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 Sorce1-22/+10
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 Gallagher1-10/+22
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 Gallagher1-4/+24
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-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-01-14Add code to make it easier to reconnect in case the serverSimo Sorce1-0/+6
is not available immediately or drops the dbus connection. First step is the nss connection to the data provider.
2009-01-09Lots of little nasty bugs fixed.Simo Sorce1-4/+4
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-06SBUS messages with no reply (or no immediate reply) would incorrectly report ↵Stephen Gallagher1-3/+2
DBUS_HANDLER_NOT_YET_HANDLED. This would cause SBUS to report NOT_IMPLEMENTED to the calling function. The message_handler will now check the return code of the method call to determine which reply to send, instead of relying on the presence of a reply message.
2008-12-22libevents renamed upstream to libteventSimo Sorce1-1/+1
events.h -> tevent.h
2008-12-15Adding a parameter to the sbus_service_sbus_init function to allow passing ↵Stephen Gallagher1-1/+5
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/+2
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-10Fix indentation to follow rulesSimo Sorce1-21/+29
2008-11-20Start conversion from a fork() and live to a fork()/exec() model.Simo Sorce1-16/+17
To start the dameon now you need to pass the option -s monitor Still have some problems communicating with children.
2008-11-19Add method to get a connection's private dataSimo Sorce1-0/+5
Fix memory hierarchy, set the destructor on the server context so that it is called before any memory attached to it is freed. Before this change a talloc_free() on the event context would end in a double free and and an abort() inside talloc.
2008-11-17The default message handler will now pass both the method_ctx and theStephen Gallagher1-14/+30
sbus_conn_ctx to all message handling functions. This will allow connection-specific data to be passed in by taking advantage of the sbus_conn_set_private_data() function on the sbus_conn_ctx struct. Presently this private data is global to all methods of the connection context.
2008-11-13Fix trailing spaces and some indentation issues.Simo Sorce1-46/+57
2008-11-04Add the ping funtion to the nss service Make the monitor task ping ↵Simo Sorce1-3/+4
connecting services Make it possible to configure timeouts and service ping times.
2008-11-03Renaming sssd/server/dbus to sssd/server/sbus. Making necessary changes to ↵Stephen Gallagher1-0/+576
header includes and makefiles.