-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1440/
-----------------------------------------------------------

Review request for qpid, Alan Conway, Gordon Sim, Kenneth Giusti, Ted Ross, 
Steve Huston, and Cliff Jansen.


Summary
-------

This is my proposed code change for C++ and Python to support IPv6:

It includes a few different items:

IPv6 support at the socket level
- The C++ broker now listens on both TCPv4 and TCPv6 sockets for connections
  and accepts from both in the regular tcp transport.
- The C++ client will connect to both TCPv4 and TCPv6 connections. If a name
  resolves to both v4 and v6 addresses they will be tried in turn as is
  required for correct functioning in a mixed network.
- The necessary Windows code is also present but more lightly tested.
- The Python client will now similarly connect to v6 as well as v4 addresses

Connection URL syntax and parsing updated to include literal IPv6 addresses
- For example "[::1]" is now allowed
- C++ and Python URL parsers updated (very annoying that the parse different 
syntaxes)

Simple system test to the C++ build to smoke test IPv6 support.
- This only uses the IPv6 loopback address though


This addresses bugs QPID-3404, QPID-3405, QPID-3406, QPID-3407, and QPID-3409.
    https://issues.apache.org/jira/browse/QPID-3404
    https://issues.apache.org/jira/browse/QPID-3405
    https://issues.apache.org/jira/browse/QPID-3406
    https://issues.apache.org/jira/browse/QPID-3407
    https://issues.apache.org/jira/browse/QPID-3409


Diffs
-----

  /trunk/qpid/cpp/src/qpid/Address.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/Url.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/Socket.h 1155572 
  /trunk/qpid/cpp/src/qpid/sys/SocketAddress.h 1155572 
  /trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/posix/Socket.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIoResult.h 1155572 
  /trunk/qpid/cpp/src/qpid/sys/windows/Socket.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/windows/SocketAddress.cpp 1155572 
  /trunk/qpid/cpp/src/qpid/sys/windows/SslAsynchIO.h 1155572 
  /trunk/qpid/cpp/src/tests/Makefile.am 1155572 
  /trunk/qpid/cpp/src/tests/Url.cpp 1155572 
  /trunk/qpid/cpp/src/tests/cluster_test_logs.py 1155572 
  /trunk/qpid/cpp/src/tests/ipv6_test PRE-CREATION 
  /trunk/qpid/extras/qmf/src/py/qmf/console.py 1155572 
  /trunk/qpid/python/qpid/util.py 1155572 
  /trunk/qpid/tools/src/py/qpid-route 1155572 

Diff: https://reviews.apache.org/r/1440/diff


Testing
-------

Tested (amongst other things) with included system test
Tested lightly by hand on Windows


Thanks,

Andrew

Reply via email to