summaryrefslogtreecommitdiff
path: root/server/infopipe/infopipe_users.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-08Change the way we retrieve domainsSimo Sorce1-17/+18
To be able to correctly filter out duplicate names when multiple non-fully qualified domains are in use we need to be able to specify the domains order. This is now accomplished by the configuration paramets 'domains' in the config/domains entry. 'domains' is a comma separated list of domain names. This paramter allows also to have disbaled domains in the configuration without requiring to completely delete them. The domains list is now kept in a linked list of sss_domain_info objects. The first domain is also the "default" domain.
2009-03-11Fix copy-paste error in InfoPipe CreateUserStephen Gallagher1-2/+11
Also add accidentally-omitted loginShell parameter.
2009-03-09Always pass sss_domain_info to sysdb functions.Simo Sorce1-4/+2
2009-03-09Do not duplicate attribute names macros.Simo Sorce1-10/+10
Also shorten names oh other user attributes.
2009-03-09Improve error handling and replies in the InfoPipeStephen Gallagher1-30/+39
When detecting an internal error in the InfoPipe, make a best- attempt at sending an error message back to the calling program, instead of simply leaving the client to wait for the timeout.
2009-03-06Implement DeleteGroup in InfoPipeStephen Gallagher1-1/+1
2009-03-06Implement CreateGroup in InfoPipeStephen Gallagher1-2/+2
Also fixed two minor bugs in CreateUser
2009-03-06Implement DeleteUser in the InfoPipeStephen Gallagher1-2/+166
2009-03-06Add infp_req_init() function to simplify method setupStephen Gallagher1-63/+17
2009-03-06Implement CreateUser in InfoPipeStephen Gallagher1-1/+217
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().
2009-03-05Remove _PW_ and _GR_ from SYSDB_ definesSimo Sorce1-2/+2
Also unify SYSDB_PW_NAME and SYSDB_GR_NAME in SYSDB_NAME and make it "name"
2009-03-05Implement GetCachedUsers in the InfoPipeStephen Gallagher1-7/+194
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.
2009-03-05Adding support for SetUserUID to the InfoPipeStephen Gallagher1-2/+153
The InfoPipe interface Set_YouReallyDoNotWantToUseThisFunction_UserUID1 is now available. I also fixed a memory leak in SetUserAttributes and modified the prototype for infp_get_permissions to make it more clear that the first argument is the caller's username, not the username being checked for permission.
2009-03-04Implement SetUserAttributes in the InfoPipeStephen Gallagher1-16/+387
SetUserAttributes is now available for use in the Infopipe. I also reorganized a few of the internal InfoPipe objects to reduce code duplication. One very simple test is included in this checkin to validate that the parser is working.
2009-03-04Fixing memory leak in GetUserAttributesStephen Gallagher1-1/+2
2009-03-03Provide sysdb_set_user_attr() functions.Simo Sorce1-1/+2
Provide also helper functions to build struct sysdb_attrs. Also fix sysdb_get_user_attr() to have a consistent interface as all other functions.
2009-03-02Do not steal memory in btreemaps.Simo Sorce1-39/+17
Just make sure that the memory passed in is either static or allocated on the same memory context that is parent of the btreemap.
2009-03-02Support byte arrays in InfoPipe GetUserAttributesStephen Gallagher1-27/+80
We now have support for reading binary blobs such as userpic from the sysdb and returning it to an InfoPipe consumer as a byte array. I also cleaned up some code in create_getattr_result_map to make it easier to read.
2009-03-02Implement GetUserAttributes in the InfoPipeStephen Gallagher1-6/+660
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.
2009-02-24Proper fix for memory handling problem.Simo Sorce1-12/+54
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-12/+12
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-12/+12
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-0/+59
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.