----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1440/#review1376 -----------------------------------------------------------
As you have noted the python client doesn't support the AMQP 0-10 defined url scheme. The c++ messaging API consequently supports the form of url used by python in addition. That code is in src/qpid/cpp/amqp_0_10/SimpleUrlParser.cpp and would (I believe) break for IPv6 addresses. /trunk/qpid/cpp/src/tests/Makefile.am <https://reviews.apache.org/r/1440/#comment3158> Just for completeness, should this also be added to the CMake build? - Gordon On 2011-08-09 22:26:16, Andrew Stitcher wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/1440/ > ----------------------------------------------------------- > > (Updated 2011-08-09 22:26:16) > > > 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 > > I have this change broken down into smaller patches if anyone would rather > see it that way. It's just easier > to put it up for review in one big glob. > > > 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 > >
