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;