All the callers of the qemu-sockets module now use the APIs which take a QAPI SocketAddress.
Thus we now have the fun situation with VNC & Chardevs that they use QemuOpts to parse the CLI args, then convert to a SocketAddress, pass it into qemu-sockets which converts it back into a QemuOpts instance. This series rips out all usage of QemuOpts from qemu-sockets so that the code exclusively uses QAPI SocketAddress objects. Now when parsing CLI args, we just convert from QemuOpts to SocketAddress and use that directly, and when using the monitor there's no conversion at all, we have SocketAddress all the way. This conversion also fixes a bug in the code where use of ipv4=off and ipv6=off at the same time, resulted in using PF_UNSPEC and so was in effective equivalent to using ipv4=on and ipv6=on. We now report an explicit error for the ipv4=off + ipv6=off scenario, since it is an invalid request to make. Finally, the VNC code is fixed to honour the distinction between ipv4/ipv6 being omitted vs set to 'off'. Daniel P. Berrange (5): sockets: remove use of QemuOpts from header file sockets: remove use of QemuOpts from socket_listen sockets: remove use of QemuOpts from socket_connect sockets: remove use of QemuOpts from socket_dgram vnc: distiguish between ipv4/ipv6 omitted vs set to off include/qemu/sockets.h | 10 -- ui/vnc.c | 18 ++- util/qemu-sockets.c | 348 +++++++++++++++++++++++-------------------------- 3 files changed, 173 insertions(+), 203 deletions(-) -- 2.4.3