# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
endif
-libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
- -I$(top_srcdir)/src/conf $(LIBNL_CFLAGS) $(AM_CFLAGS) $(DBUS_CFLAGS)
+libvirt_driver_nwfilter_la_CFLAGS = \
+ $(LIBPCAP_CFLAGS) \
+ $(LIBNL_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ -I$(top_srcdir)/src/access \
+ -I$(top_srcdir)/src/conf \
+ $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
if WITH_DRIVER_MODULES
#include "nwfilter_gentech_driver.h"
#include "configmake.h"
#include "virstring.h"
+#include "viraccessapicheck.h"
#include "nwfilter_ipaddrmap.h"
#include "nwfilter_dhcpsnoop.h"
goto cleanup;
}
+ if (virNWFilterLookupByUUIDEnsureACL(conn, nwfilter->def) < 0)
+ goto cleanup;
+
ret = virGetNWFilter(conn, nwfilter->def->name, nwfilter->def->uuid);
cleanup:
goto cleanup;
}
+ if (virNWFilterLookupByNameEnsureACL(conn, nwfilter->def) < 0)
+ goto cleanup;
+
ret = virGetNWFilter(conn, nwfilter->def->name, nwfilter->def->uuid);
cleanup:
static int
nwfilterConnectNumOfNWFilters(virConnectPtr conn) {
virNWFilterDriverStatePtr driver = conn->nwfilterPrivateData;
+
+ if (virConnectNumOfNWFiltersEnsureACL(conn) < 0)
+ return -1;
+
return driver->nwfilters.count;
}
virNWFilterDriverStatePtr driver = conn->nwfilterPrivateData;
int got = 0, i;
+ if (virConnectListNWFiltersEnsureACL(conn) < 0)
+ return -1;
+
nwfilterDriverLock(driver);
for (i = 0; i < driver->nwfilters.count && got < nnames; i++) {
virNWFilterObjLock(driver->nwfilters.objs[i]);
virCheckFlags(0, -1);
+ if (virConnectListAllNWFiltersEnsureACL(conn) < 0)
+ return -1;
+
nwfilterDriverLock(driver);
if (!filters) {
if (!(def = virNWFilterDefParseString(conn, xml)))
goto cleanup;
+ if (virNWFilterDefineXMLEnsureACL(conn, def) < 0)
+ goto cleanup;
+
if (!(nwfilter = virNWFilterObjAssignDef(conn, &driver->nwfilters, def)))
goto cleanup;
goto cleanup;
}
+ if (virNWFilterUndefineEnsureACL(obj->conn, nwfilter->def) < 0)
+ goto cleanup;
+
if (virNWFilterTestUnassignDef(obj->conn, nwfilter) < 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s",
goto cleanup;
}
+ if (virNWFilterGetXMLDescEnsureACL(obj->conn, nwfilter->def) < 0)
+ goto cleanup;
+
ret = virNWFilterDefFormat(nwfilter->def);
cleanup: