summaryrefslogtreecommitdiffstats
path: root/server/dbus/sssd_dbus_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/dbus/sssd_dbus_server.c')
-rw-r--r--server/dbus/sssd_dbus_server.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/server/dbus/sssd_dbus_server.c b/server/dbus/sssd_dbus_server.c
index 6ad8e0dd5..c6bc7db9f 100644
--- a/server/dbus/sssd_dbus_server.c
+++ b/server/dbus/sssd_dbus_server.c
@@ -252,10 +252,20 @@ static void new_connection_callback(DBusServer *server, DBusConnection *conn,
{
struct dbus_server_toplevel_context *dst_ctx;
DBusObjectPathVTable *monitor_vtable;
+ int *connection_type;
int ret;
dst_ctx = talloc_get_type(data,struct dbus_server_toplevel_context);
+ if (!dbus_connection_allocate_data_slot(&connection_type_slot)) {
+ dbus_connection_close(conn);
+ return;
+ }
+
+ connection_type = talloc(dst_ctx, int);
+ *connection_type = DBUS_CONNECTION_TYPE_PRIVATE;
+ dbus_connection_set_data(conn, connection_type_slot, connection_type, talloc_free);
+
ret = sssd_add_dbus_connection(dst_ctx->sd_ctx, conn);
if (ret != 0) {
dbus_connection_close(conn);