diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-05-09 19:45:15 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-05-13 21:46:44 +0200 |
commit | b81ad4a7c59cade13d52216f805d904392627136 (patch) | |
tree | 3bfa542daa798c7612564221737fd13396ba703c | |
parent | 393099fb7caa2c128277e26ba3463aa7f95a0ebb (diff) | |
download | sssd-b81ad4a7c59cade13d52216f805d904392627136.tar.gz sssd-b81ad4a7c59cade13d52216f805d904392627136.tar.xz sssd-b81ad4a7c59cade13d52216f805d904392627136.zip |
SBUS: Add SBUS_CONN_TYPE_SYSBUS
We need to retrieve caller IDs for each call from the system bus. This
commit adds a new SBUS connection type that identifies system bus
connection. The connection is used in the IFP provider.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
Reviewed-by: Stef Walter <stefw@redhat.com>
-rw-r--r-- | src/responder/ifp/ifpsrv.c | 2 | ||||
-rw-r--r-- | src/sbus/sssd_dbus.h | 3 | ||||
-rw-r--r-- | src/sbus/sssd_dbus_connection.c | 6 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/responder/ifp/ifpsrv.c b/src/responder/ifp/ifpsrv.c index e76f3bdb0..2f98cf838 100644 --- a/src/responder/ifp/ifpsrv.c +++ b/src/responder/ifp/ifpsrv.c @@ -150,7 +150,7 @@ sysbus_init(TALLOC_CTX *mem_ctx, /* Integrate with tevent loop */ ret = sbus_init_connection(system_bus, ev, conn, - SBUS_CONN_TYPE_SHARED, + SBUS_CONN_TYPE_SYSBUS, &system_bus->conn); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, diff --git a/src/sbus/sssd_dbus.h b/src/sbus/sssd_dbus.h index 0fd499cbe..8ba108ee3 100644 --- a/src/sbus/sssd_dbus.h +++ b/src/sbus/sssd_dbus.h @@ -50,7 +50,8 @@ typedef int (*sbus_server_conn_init_fn)(struct sbus_connection *, void *); enum { SBUS_CONN_TYPE_PRIVATE = 1, - SBUS_CONN_TYPE_SHARED + SBUS_CONN_TYPE_SHARED, + SBUS_CONN_TYPE_SYSBUS }; enum { diff --git a/src/sbus/sssd_dbus_connection.c b/src/sbus/sssd_dbus_connection.c index 7ea70efa5..58005c238 100644 --- a/src/sbus/sssd_dbus_connection.c +++ b/src/sbus/sssd_dbus_connection.c @@ -275,8 +275,10 @@ static int connection_destructor(void *ctx) /* Private connections must be closed explicitly */ dbus_connection_close(conn->dbus.conn); } - else if (conn->connection_type == SBUS_CONN_TYPE_SHARED) { - /* Shared connections are destroyed when their last reference is removed */ + else if (conn->connection_type == SBUS_CONN_TYPE_SHARED || + conn->connection_type == SBUS_CONN_TYPE_SYSBUS) { + /* Shared and system bus connections are destroyed when their last + reference is removed */ } else { /* Critical Error! */ |