Author: tross
Date: Fri Jan 27 20:03:54 2012
New Revision: 1236864
URL: http://svn.apache.org/viewvc?rev=1236864&view=rev
Log:
QPID-3787 - Fixed shutdown crash in SslPlugin, Fixed problem with sasl_mux test.
Modified:
qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp
qpid/trunk/qpid/cpp/src/tests/ssl_test
Modified: qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp?rev=1236864&r1=1236863&r2=1236864&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp Fri Jan 27 20:03:54 2012
@@ -96,10 +96,12 @@ typedef SslProtocolFactoryTmpl<SslMuxSoc
// Static instance to initialise plugin
static struct SslPlugin : public Plugin {
SslServerOptions options;
+ bool nssInitialized;
Options* getOptions() { return &options; }
- ~SslPlugin() { ssl::shutdownNSS(); }
+ SslPlugin() : nssInitialized(false) {}
+ ~SslPlugin() { if (nssInitialized) ssl::shutdownNSS(); }
void earlyInitialize(Target& target) {
broker::Broker* broker = dynamic_cast<broker::Broker*>(&target);
@@ -129,6 +131,7 @@ static struct SslPlugin : public Plugin
} else {
try {
ssl::initNSS(options, true);
+ nssInitialized = true;
const broker::Broker::Options& opts = broker->getOptions();
Modified: qpid/trunk/qpid/cpp/src/tests/ssl_test
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ssl_test?rev=1236864&r1=1236863&r2=1236864&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/ssl_test (original)
+++ qpid/trunk/qpid/cpp/src/tests/ssl_test Fri Jan 27 20:03:54 2012
@@ -96,7 +96,7 @@ start_ssl_broker() {
}
start_ssl_mux_broker() {
- ../qpidd $COMMON_OPTS --port $1 --ssl-port $1
+ ../qpidd $COMMON_OPTS --port $1 --ssl-port $1 --auth no
PORTS=( ${PORTS[@]} $1 )
}
@@ -167,7 +167,7 @@ start_ssl_mux_broker $PORT || error "Cou
echo "Running SSL/TCP mux test on fixed port $PORT"
## Test connection via connection settings
-./qpid-perftest --count ${COUNT} --port ${PORT} -P ssl -b $TEST_HOSTNAME
--summary || error "SSL cnnection failed!"
+./qpid-perftest --count ${COUNT} --port ${PORT} -P ssl -b $TEST_HOSTNAME
--summary || error "SSL connection failed!"
./qpid-perftest --count ${COUNT} --port ${PORT} -P tcp -b $TEST_HOSTNAME
--summary || error "TCP connection failed!"
# Test a broker chosen port - since ssl chooses port need to use --transport
ssl here
@@ -176,7 +176,7 @@ PORT=${PORTS[0]}
echo "Running SSL/TCP mux test on random port $PORT"
## Test connection via connection settings
-./qpid-perftest --count ${COUNT} --port ${PORT} -P ssl -b $TEST_HOSTNAME
--summary || error "SSL cnnection failed!"
+./qpid-perftest --count ${COUNT} --port ${PORT} -P ssl -b $TEST_HOSTNAME
--summary || error "SSL connection failed!"
./qpid-perftest --count ${COUNT} --port ${PORT} -P tcp -b $TEST_HOSTNAME
--summary || error "TCP connection failed!"
stop_brokers
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]