mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
nwfilter: Don't fail to start if DBus isn't available
When the daemon is compiled with firewalld support but the DBus message bus isn't started in the system, the initialization of the nwfilter driver fails even if there are fallback options.
This commit is contained in:
parent
ee3db56fe9
commit
e0e61b4cf7
@ -175,7 +175,8 @@ nwfilterStateInitialize(bool privileged,
|
||||
DBusConnection *sysbus = NULL;
|
||||
|
||||
#if WITH_DBUS
|
||||
sysbus = virDBusGetSystemBus();
|
||||
if (virDBusHasSystemBus())
|
||||
sysbus = virDBusGetSystemBus();
|
||||
#endif /* WITH_DBUS */
|
||||
|
||||
if (VIR_ALLOC(driverState) < 0)
|
||||
@ -184,6 +185,7 @@ nwfilterStateInitialize(bool privileged,
|
||||
if (virMutexInit(&driverState->lock) < 0)
|
||||
goto err_free_driverstate;
|
||||
|
||||
/* remember that we are going to use firewalld */
|
||||
driverState->watchingFirewallD = (sysbus != NULL);
|
||||
driverState->privileged = privileged;
|
||||
|
||||
@ -208,7 +210,8 @@ nwfilterStateInitialize(bool privileged,
|
||||
* startup the DBus late so we don't get a reload signal while
|
||||
* initializing
|
||||
*/
|
||||
if (nwfilterDriverInstallDBusMatches(sysbus) < 0) {
|
||||
if (sysbus &&
|
||||
nwfilterDriverInstallDBusMatches(sysbus) < 0) {
|
||||
VIR_ERROR(_("DBus matches could not be installed. Disabling nwfilter "
|
||||
"driver"));
|
||||
/*
|
||||
@ -216,6 +219,8 @@ nwfilterStateInitialize(bool privileged,
|
||||
* may have caused the ebiptables driver to use the firewall tool
|
||||
* but now that the watches don't work, we just disable the nwfilter
|
||||
* driver
|
||||
*
|
||||
* This may only happen if the system bus is available.
|
||||
*/
|
||||
goto error;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user