On 06/01/2017 04:29 AM, Daniel P. Berrange wrote: > This is a followup to: > > v1: https://lists.nongnu.org/archive/html/qemu-devel/2017-04/msg05659.html > v2: https://lists.nongnu.org/archive/html/qemu-devel/2017-05/msg04706.html > > This series aims to fix a lot of bugs related to handling of IPv4 / IPv6 > dual stack. > > - The VNC server mistakenly listened on two separate ports 5900+5901 > when the to= parameter was given > - IPv6 sockets are accepting IPv4 clients even when IPv4 is set to > be disabled > - IPv6 sockets are failing to accept IPv4 clients when IPv4 is not set > to be disabled > - The VNC server was loosing the ipv4=/ipv6= settings due to a bug > in the DNS resolver > > The behaviour of all this is really subtle and hard to get working correctly > across all the different network backends. Thus, the most important part of > this patch series is the last patch which adds a test case covering the > backends for -vnc, -chardev tcp, -net socket, and -incoming socket, with > a 120 entry matrix. > > IOW, if you think any of the first 4 patches are applying the wrong logic, > then take a look at the last patch and indicate which test matrix entries > are believed to be defining wrong behaviour :-) > > Changed in v2: > > - Clarified error message in commit message > - Replace assert with exit (Eric) > - Fix typo in test comment (Eric) > - Fix wierd copyright line (Eric) > > Daniel P. Berrange (5): > sockets: ensure we can bind to both ipv4 & ipv6 separately > sockets: don't block IPv4 clients when listening on "::" > sockets: ensure we don't accept IPv4 clients when IPv4 is disabled > io: preserve ipv4/ipv6 flags when resolving InetSocketAddress > tests: add functional test validating ipv4/ipv6 address flag handling > > io/dns-resolver.c | 6 +- > tests/.gitignore | 1 + > tests/Makefile.include | 4 + > tests/test-sockets-proto.c | 855 > +++++++++++++++++++++++++++++++++++++++++++++ > util/qemu-sockets.c | 71 +++- > 5 files changed, 916 insertions(+), 21 deletions(-) > create mode 100644 tests/test-sockets-proto.c >
Series Reviewed-by: Vlad Yasevich <vyase...@redhat.com> -vlad