[libvirt] [PATCHv3] Disable nwfilter driver when running unprivileged
Daniel P. Berrange
berrange at redhat.com
Tue Nov 12 14:36:02 UTC 2013
On Tue, Nov 12, 2013 at 01:52:10PM +0100, Ján Tomko wrote:
> 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
> ---
> v1: https://www.redhat.com/archives/libvir-list/2013-November/msg00368.html
> v2: https://www.redhat.com/archives/libvir-list/2013-November/msg00374.html
> forbid everything instead of just virNWFilterDefineXML
> v3: cut a pair of holes into my brown paper bag
>
> src/nwfilter/nwfilter_driver.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
> index 6602d73..d521adf 100644
> --- a/src/nwfilter/nwfilter_driver.c
> +++ b/src/nwfilter/nwfilter_driver.c
> @@ -174,6 +174,9 @@ nwfilterStateInitialize(bool privileged,
> char *base = NULL;
> DBusConnection *sysbus = NULL;
>
> + if (!privileged)
> + return 0;
> +
> #if WITH_DBUS
> if (virDBusHasSystemBus() &&
> !(sysbus = virDBusGetSystemBus()))
> @@ -190,9 +193,6 @@ nwfilterStateInitialize(bool privileged,
> driverState->watchingFirewallD = (sysbus != NULL);
> driverState->privileged = privileged;
>
> - if (!privileged)
> - return 0;
> -
> nwfilterDriverLock(driverState);
>
> if (virNWFilterIPAddrMapInit() < 0)
ACK
Suitable for -maint branches too.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list