]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Disable nwfilter driver when running unprivileged
authorJán Tomko <jtomko@redhat.com>
Tue, 12 Nov 2013 12:18:54 +0000 (13:18 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 13 Nov 2013 09:54:06 +0000 (10:54 +0100)
When opening a new connection to the driver, nwfilterOpen
only succeeds if the driverState has been allocated.

Move the privilege check in driver initialization before
the state allocation to disable the driver.

This changes the nwfilter-define error from:
error: cannot create config directory (null): Bad address
To:
this function is not supported by the connection driver:
virNWFilterDefineXML

https://bugzilla.redhat.com/show_bug.cgi?id=1029266
(cherry picked from commit b7829f959b33c6e32422222a9ed745c0da7dc696)

Conflicts:
src/nwfilter/nwfilter_driver.c
(da77f04 Convert HAVE_DBUS to WITH_DBUS not backported)

src/nwfilter/nwfilter_driver.c

index 27f2c9469eaad3a5a1aea2373435c70e937a5e90..42f8531b4db49205e1e06ba9be8d1cca6c37075e 100644 (file)
@@ -170,6 +170,9 @@ nwfilterDriverStartup(int privileged)
     char *base = NULL;
     DBusConnection *sysbus = NULL;
 
+    if (!privileged)
+        return 0;
+
 #if HAVE_DBUS
     sysbus = virDBusGetSystemBus();
 #endif /* HAVE_DBUS */
@@ -185,9 +188,6 @@ nwfilterDriverStartup(int privileged)
     driverState->watchingFirewallD = (sysbus != NULL);
     driverState->privileged = privileged;
 
-    if (!privileged)
-        return 0;
-
     nwfilterDriverLock(driverState);
 
     if (virNWFilterIPAddrMapInit() < 0)