diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-05-09 19:45:15 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-06-03 13:31:21 +0200 |
commit | 40074db97ed4552cf09b1b6d71c19f53d010f80b (patch) | |
tree | e929e512c138c55965acdff2509a8130736f6f55 | |
parent | 18cea3a5324d4cd56e62e3df7422fb6d14ad293b (diff) | |
download | sssd-40074db97ed4552cf09b1b6d71c19f53d010f80b.tar.gz sssd-40074db97ed4552cf09b1b6d71c19f53d010f80b.tar.xz sssd-40074db97ed4552cf09b1b6d71c19f53d010f80b.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>
(cherry picked from commit b81ad4a7c59cade13d52216f805d904392627136)
-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 cf3574a0a..33d5b1a38 100644 --- a/src/sbus/sssd_dbus_connection.c +++ b/src/sbus/sssd_dbus_connection.c @@ -274,8 +274,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! */ |