From fa82f5cdf368a3acaf3f85d1629bca9160f7bad9 Mon Sep 17 00:00:00 2001 From: "Jerry (Xinyu Hou)" Date: Tue, 20 Mar 2018 16:05:30 +0000 Subject: [PATCH] #6178 Fix compiling error for adding IPv6 for secure socket --- CMakeLists.txt.user | 371 +++++++++++++++++++++++++++++++ src/lib/client/Client.cpp | 2 +- src/lib/ipc/IpcServer.cpp | 2 +- src/lib/net/ISocketFactory.h | 4 +- src/lib/net/SecureSocket.cpp | 10 +- src/lib/net/SecureSocket.h | 2 +- src/lib/net/TCPSocketFactory.cpp | 4 +- src/lib/net/TCPSocketFactory.h | 4 +- 8 files changed, 384 insertions(+), 15 deletions(-) create mode 100644 CMakeLists.txt.user diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user new file mode 100644 index 00000000..47220290 --- /dev/null +++ b/CMakeLists.txt.user @@ -0,0 +1,371 @@ + + + + + + EnvironmentId + {d2097749-f678-439b-ab23-75844ed126ff} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.8.0 MSVC2015_64bit + Desktop Qt 5.8.0 MSVC2015_64bit + qt.58.win64_msvc2015_64_kit + 0 + 0 + 0 + + + C:/Projects/build-synergy-core-Desktop_Qt_5_8_0_MSVC2015_64bit-Default + + + + + + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Default + Default + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=Debug + + C:/Projects/build-synergy-core-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug + + + + + + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=Release + + C:/Projects/build-synergy-core-Desktop_Qt_5_8_0_MSVC2015_64bit-Release + + + + + + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + + C:/Projects/build-synergy-core-Desktop_Qt_5_8_0_MSVC2015_64bit-Release with Debug Information + + + + + + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release with Debug Information + Release with Debug Information + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=MinSizeRel + + C:/Projects/build-synergy-core-Desktop_Qt_5_8_0_MSVC2015_64bit-Minimum Size Release + + + + + + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + Make + + CMakeProjectManager.MakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Minimum Size Release + Minimum Size Release + CMakeProjectManager.CMakeBuildConfiguration + + 5 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + + + %{buildDir} + Custom Executable + + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + + diff --git a/src/lib/client/Client.cpp b/src/lib/client/Client.cpp index 2688bab6..6b63190d 100644 --- a/src/lib/client/Client.cpp +++ b/src/lib/client/Client.cpp @@ -147,7 +147,7 @@ Client::connect() } // create the socket - IDataSocket* socket = m_socketFactory->create(ARCH->getAddrFamily(m_serverAddress.getAddress())); + IDataSocket* socket = m_socketFactory->create(m_useSecureNetwork, ARCH->getAddrFamily(m_serverAddress.getAddress())); m_socket = dynamic_cast(socket); // filter socket messages, including a packetizing filter diff --git a/src/lib/ipc/IpcServer.cpp b/src/lib/ipc/IpcServer.cpp index 791595f2..10fab238 100644 --- a/src/lib/ipc/IpcServer.cpp +++ b/src/lib/ipc/IpcServer.cpp @@ -54,7 +54,7 @@ IpcServer::IpcServer(IEventQueue* events, SocketMultiplexer* socketMultiplexer, void IpcServer::init() { - m_socket = new TCPListenSocket(m_events, m_socketMultiplexer); + m_socket = new TCPListenSocket(m_events, m_socketMultiplexer, ARCH->getAddrFamily(m_address.getAddress())); m_clientsMutex = ARCH->newMutex(); m_address.resolve(); diff --git a/src/lib/net/ISocketFactory.h b/src/lib/net/ISocketFactory.h index 0bb8a74c..9ba61685 100644 --- a/src/lib/net/ISocketFactory.h +++ b/src/lib/net/ISocketFactory.h @@ -35,10 +35,10 @@ public: //@{ //! Create data socket - virtual IDataSocket* create(IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const = 0; + virtual IDataSocket* create(bool secure, IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const = 0; //! Create listen socket - virtual IListenSocket* createListen(IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const = 0; + virtual IListenSocket* createListen(bool secure, IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const = 0; //@} }; diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index 9dd3a816..c795b33d 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -53,18 +53,16 @@ struct Ssl { SSL* m_ssl; }; -SecureSocket::SecureSocket( - IEventQueue* events, - SocketMultiplexer* socketMultiplexer) : - TCPSocket(events, socketMultiplexer), +SecureSocket::SecureSocket(IEventQueue* events, + SocketMultiplexer* socketMultiplexer, IArchNetwork::EAddressFamily family) : + TCPSocket(events, socketMultiplexer, family), m_ssl(nullptr), m_secureReady(false), m_fatal(false) { } -SecureSocket::SecureSocket( - IEventQueue* events, +SecureSocket::SecureSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer, ArchSocket socket) : TCPSocket(events, socketMultiplexer, socket), diff --git a/src/lib/net/SecureSocket.h b/src/lib/net/SecureSocket.h index 2292cd29..43eb732f 100644 --- a/src/lib/net/SecureSocket.h +++ b/src/lib/net/SecureSocket.h @@ -32,7 +32,7 @@ A secure socket using SSL. */ class SecureSocket : public TCPSocket { public: - SecureSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer); + SecureSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer, IArchNetwork::EAddressFamily family); SecureSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer, ArchSocket socket); diff --git a/src/lib/net/TCPSocketFactory.cpp b/src/lib/net/TCPSocketFactory.cpp index 2f1f2cae..d365101c 100644 --- a/src/lib/net/TCPSocketFactory.cpp +++ b/src/lib/net/TCPSocketFactory.cpp @@ -41,7 +41,7 @@ TCPSocketFactory::~TCPSocketFactory() } IDataSocket* -TCPSocketFactory::create(IArchNetwork::EAddressFamily family) const +TCPSocketFactory::create(bool secure, IArchNetwork::EAddressFamily family) const { if (secure) { SecureSocket* secureSocket = new SecureSocket(m_events, m_socketMultiplexer, family); @@ -54,7 +54,7 @@ TCPSocketFactory::create(IArchNetwork::EAddressFamily family) const } IListenSocket* -TCPSocketFactory::createListen(IArchNetwork::EAddressFamily family) const +TCPSocketFactory::createListen(bool secure, IArchNetwork::EAddressFamily family) const { IListenSocket* socket = NULL; if (secure) { diff --git a/src/lib/net/TCPSocketFactory.h b/src/lib/net/TCPSocketFactory.h index 96e5b679..65c15a6e 100644 --- a/src/lib/net/TCPSocketFactory.h +++ b/src/lib/net/TCPSocketFactory.h @@ -32,9 +32,9 @@ public: // ISocketFactory overrides virtual IDataSocket* - create(IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const; + create(bool secure, IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const; virtual IListenSocket* - createListen(IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const; + createListen(bool secure, IArchNetwork::EAddressFamily family = IArchNetwork::kINET) const; private: IEventQueue* m_events;