summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp b/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
index d1dff92595..0db8fb5713 100644
--- a/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
+++ b/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp
@@ -49,7 +49,8 @@ struct SslServerOptions : qpid::Options
uint16_t port;
bool clientAuth;
- SslServerOptions() : certStore("My"), port(5671), clientAuth(false)
+ SslServerOptions() : qpid::Options("SSL Options"),
+ certStore("My"), port(5671), clientAuth(false)
{
qpid::TcpAddress me;
if (qpid::sys::SystemInfo::getLocalHostname(me))
@@ -67,11 +68,11 @@ struct SslServerOptions : qpid::Options
};
class SslProtocolFactory : public qpid::sys::ProtocolFactory {
+ qpid::sys::Socket listener;
const bool tcpNoDelay;
const uint16_t listeningPort;
std::string brokerHost;
const bool clientAuthSelected;
- qpid::sys::Socket listener;
std::auto_ptr<qpid::sys::AsynchAcceptor> acceptor;
ConnectFailedCallback connectFailedCallback;
CredHandle credHandle;
@@ -129,7 +130,7 @@ SslProtocolFactory::SslProtocolFactory(const SslServerOptions& options,
int backlog,
bool nodelay)
: tcpNoDelay(nodelay),
- listeningPort(options.port),
+ listeningPort(listener.listen(options.port, backlog)),
clientAuthSelected(options.clientAuth) {
SecInvalidateHandle(&credHandle);
@@ -174,7 +175,6 @@ SslProtocolFactory::SslProtocolFactory(const SslServerOptions& options,
NULL);
if (status != SEC_E_OK)
throw QPID_WINDOWS_ERROR(status);
- listener.listen(options.port, backlog);
::CertFreeCertificateContext(certContext);
::CertCloseStore(certStoreHandle, 0);
}