conf: report an error if nic needs filtering by no driver is present

If a <interface> includes a filter name but the nwfilter driver is not
present we silently do nothing. This is very bad, because an application
that thinks it is protected by malicious guest traffic will in fact be
vulnerable. Reporting an error gives the administrator the ability to
know there is a problem and fix it.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2018-04-26 14:05:10 +01:00
parent fca9afa084
commit c0fa7713b8

View File

@ -28,6 +28,9 @@
#include "datatypes.h"
#include "domain_conf.h"
#include "domain_nwfilter.h"
#include "virerror.h"
#define VIR_FROM_THIS VIR_FROM_NWFILTER
static virDomainConfNWFilterDriverPtr nwfilterDriver;
@ -44,8 +47,10 @@ virDomainConfNWFilterInstantiate(const char *vmname,
{
if (nwfilterDriver != NULL)
return nwfilterDriver->instantiateFilter(vmname, vmuuid, net);
/* driver module not available -- don't indicate failure */
return 0;
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("No network filter driver available"));
return -1;
}
void