[libvirt PATCH] virgdbus: fix getting non-shared DBus connection

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 <tamiko@gentoo.org> Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- 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.26.2

On a Monday in 2020, Pavel Hrdina wrote:
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 <tamiko@gentoo.org> Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/virgdbus.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Ján Tomko
-
Pavel Hrdina