A second posting of v1: https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg04950.html
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'. Changed in v2: - Optimization suggested by Paolo - Removed accidental debug g_printerr()s - Resolved conflicts with QAPI generator changes that renamed various struct fields 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 | 334 ++++++++++++++++++++++--------------------------- 3 files changed, 159 insertions(+), 203 deletions(-) -- 2.5.0