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

Review request for qpid, Gordon Sim and Steve Huston.


Description
-------

This is a rework of the qpid C++ code socket level code to remove much (but not 
yet all) of the duplicated code between different "transports".

Along the way it allows the Unix SSL code to use IPv6.

The change is quite large if looked at as a single change; A progression of 
smaller refactorings to the same effect can be seen in my github repo - this 
may be easier to digest.

https://github.com/astitcher/qpid/commits/ssl-converge/

This is not exactly the end of the road for changes to this code, but IMO it is 
an improvement so should go in even without being perfect. [Specifically there 
is still work to do to unify the TCPIOPlugin/SSLPlugin code and 
TCPConnector/SSLConnector code where there is still a lot of duplication.]


This addresses bugs QPID-3883 and QPID-4272.
    https://issues.apache.org/jira/browse/QPID-3883
    https://issues.apache.org/jira/browse/QPID-4272


Diffs
-----

  /trunk/qpid/cpp/include/qpid/sys/IOHandle.h 1378663 
  /trunk/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h 1378663 
  /trunk/qpid/cpp/src/CMakeLists.txt 1378663 
  /trunk/qpid/cpp/src/Makefile.am 1378663 
  /trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/client/SslConnector.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/client/TCPConnector.h 1378663 
  /trunk/qpid/cpp/src/qpid/client/TCPConnector.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/AsynchIO.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/SecuritySettings.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/Socket.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/SocketAddress.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/BSDSocket.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/sys/posix/BSDSocket.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/sys/posix/IOHandle.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/PollableCondition.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/PosixPoller.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/Socket.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/rdma/rdma_wrap.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/rdma/rdma_wrap.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslHandler.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslHandler.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslIo.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslSocket.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/ssl/SslSocket.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/IOHandle.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/IoHandlePrivate.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/IocpPoller.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/PollableCondition.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/Socket.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/SslAsynchIO.h 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/SslAsynchIO.cpp 1378663 
  /trunk/qpid/cpp/src/qpid/sys/windows/WinSocket.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/sys/windows/WinSocket.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/ssl.cmake 1378663 
  /trunk/qpid/cpp/src/ssl.mk 1378663 
  /trunk/qpid/cpp/src/tests/DispatcherTest.cpp 1378663 
  /trunk/qpid/cpp/src/tests/PollerTest.cpp 1378663 

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


Testing
-------

Passes regular "make check", no specific ssl over IPv6 test added to code base 
yet, though modifying the existing ssl_test to only use IPv6 works.


Thanks,

Andrew Stitcher

Reply via email to