summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/responder/ifp/ifpsrv.c2
-rw-r--r--src/sbus/sssd_dbus.h3
-rw-r--r--src/sbus/sssd_dbus_connection.c6
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! */