From 43ee7c6db119add9591357b643378d090769307b Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 9 Nov 2020 17:10:56 +0100 Subject: [PATCH] virgdbus: fix getting non-shared DBus connection MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We need to pass some flags in order to properly initialize the connection otherwise it will not work. This copies what GLib does for g_bus_get_sync() internally. This fixes an issue with LXC driver where libvirt was not able to register any VM with machined. Reported-by: Matthias Maier Signed-off-by: Pavel Hrdina Reviewed-by: Ján Tomko --- src/util/virgdbus.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/util/virgdbus.c b/src/util/virgdbus.c index 19fd7e2fe4..4ad1a5c842 100644 --- a/src/util/virgdbus.c +++ b/src/util/virgdbus.c @@ -54,11 +54,15 @@ virGDBusBusInit(GBusType type, GError **error) if (sharedBus) { return g_bus_get_sync(type, NULL, error); } else { + GDBusConnectionFlags dbusFlags = + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT | + G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION; + address = g_dbus_address_get_for_bus_sync(type, NULL, error); if (*error) return NULL; return g_dbus_connection_new_for_address_sync(address, - G_DBUS_CONNECTION_FLAGS_NONE, + dbusFlags, NULL, NULL, error); -- 2.47.2