[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qemu-sockets: fix conversion of ipv4/ipv6 JSON
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH] qemu-sockets: fix conversion of ipv4/ipv6 JSON to QemuOpts |
Date: |
Mon, 12 Oct 2015 14:48:39 +0100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Oct 12, 2015 at 03:35:41PM +0200, Paolo Bonzini wrote:
> The QemuOpts-based code treats "option not set" and "option set
> to false" the same way for the ipv4 and ipv6 options, because it
> is meant to handle only the ",ipv4" and ",ipv6" substrings in
> hand-crafted option parsers.
>
> When converting InetSocketAddress to QemuOpts, however, it is
> necessary to handle all three cases (not set, set to true, set
> to false). Currently we are not handling all cases correctly.
> The rules are:
>
> * if none or both options are absent, leave things as is
>
> * if the single present option is Y, the other should be N.
> This can be implemented by leaving things as is, or by setting
> the other option to N as done in this patch.
>
> * if the single present option is N, the other should be Y.
> This is handled by the "else if" branch of this patch.
>
> This ensures that the ipv4 option has an effect on Windows,
> where creating the socket with PF_UNSPEC makes an ipv6
> socket. With this patch, ",ipv4" will result in a PF_INET
> socket instead.
>
> Reported-by: Sair, Umair <address@hidden>
> Tested-by: Sair, Umair <address@hidden>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> util/qemu-sockets.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
Reviewed-by: Daniel P. Berrange <address@hidden>
I look forward to formally submitting the remainder of my patches to kill
off QemuOpts from this qemu-sockets.c code :-)
Regards,
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 :|