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]

Reply via email to