diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-05-09 20:03:02 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-05-13 21:46:46 +0200 |
commit | 0161a3c5637a0c0092bf54c436bb3d6508d7df26 (patch) | |
tree | 5d057559f2b8345608a422e1f544c446ba420b52 /src/sbus/sssd_dbus_connection.c | |
parent | b81ad4a7c59cade13d52216f805d904392627136 (diff) | |
download | sssd-0161a3c5637a0c0092bf54c436bb3d6508d7df26.tar.gz sssd-0161a3c5637a0c0092bf54c436bb3d6508d7df26.tar.xz sssd-0161a3c5637a0c0092bf54c436bb3d6508d7df26.zip |
SBUS: Add an async request to retrieve the caller ID
Adds an async request sbus_get_sender_id_{send,recv} that allows
retrieval of UID based on "sender" as returned by
dbus_message_get_sender().
The UID is an int64_t to be able to use "-1" to as a fallback value for
uknown or error cases.
The unit test is added as a standalone one, not part of the sbus_tests
because the request, and by extension the unit test relies on being
connected to the system bus, which is very unlikely to work in a build
system.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Reviewed-by: Stef Walter <stefw@redhat.com>
Diffstat (limited to 'src/sbus/sssd_dbus_connection.c')
-rw-r--r-- | src/sbus/sssd_dbus_connection.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sbus/sssd_dbus_connection.c b/src/sbus/sssd_dbus_connection.c index 58005c238..288fa1f49 100644 --- a/src/sbus/sssd_dbus_connection.c +++ b/src/sbus/sssd_dbus_connection.c @@ -174,6 +174,13 @@ int sbus_init_connection(TALLOC_CTX *ctx, conn->dbus.conn = dbus_conn; conn->connection_type = connection_type; + ret = sss_hash_create(conn, 32, &conn->clients); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, "Cannot create clients hash table\n"); + talloc_free(conn); + return EIO; + } + ret = sbus_conn_set_fns(conn); if (ret != EOK) { talloc_free(conn); |