svn commit: r1026227 - /qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
Author: mgoulish Date: Fri Oct 22 07:13:34 2010 New Revision: 1026227 URL: http://svn.apache.org/viewvc?rev=1026227&view=rev Log: Make the "SASL enabled" log message also print out the SASL version number. This will be useful in one test that depends on some SASL functionality that was not available before 2.1.22 . Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=1026227&r1=1026226&r2=1026227&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Fri Oct 22 07:13:34 2010 @@ -55,6 +55,8 @@ #include "qpid/Url.h" #include "qpid/Version.h" +#include "sasl/sasl.h" + #include #include @@ -271,7 +273,9 @@ Broker::Broker(const Broker::Options& co */ if (conf.auth) { SaslAuthenticator::init(qpid::saslName, conf.saslConfigPath); -QPID_LOG(info, "SASL enabled"); +int saslVersion = (SASL_VERSION_MAJOR << 16) + (SASL_VERSION_MINOR << 8) + +SASL_VERSION_STEP; +QPID_LOG(info, "SASL enabled : version " << saslVersion); } else { QPID_LOG(notice, "SASL disabled: No Authentication Performed"); } - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org
svn commit: r1026233 - /qpid/trunk/qpid/cpp/src/tests/sasl_fed
Author: mgoulish Date: Fri Oct 22 07:57:35 2010 New Revision: 1026233 URL: http://svn.apache.org/viewvc?rev=1026233&view=rev Log: Fix this test to parse the sasl version number out of the new logging statement printed by broker #2 -- and exit if the version number is too low to support redirection of the sasl database file. Modified: qpid/trunk/qpid/cpp/src/tests/sasl_fed Modified: qpid/trunk/qpid/cpp/src/tests/sasl_fed URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/sasl_fed?rev=1026233&r1=1026232&r2=1026233&view=diff == --- qpid/trunk/qpid/cpp/src/tests/sasl_fed (original) +++ qpid/trunk/qpid/cpp/src/tests/sasl_fed Fri Oct 22 07:57:35 2010 @@ -2,23 +2,6 @@ source test_env.sh -minimum_sasl_version="2.1.22" -if [ ! `pkg-config --atleast-version $minimum_sasl_version cyrus-sasl`]; then - echo "sasl_fed requires at least $minimum_sasl_version" - exit 0 -fi - -let minimum_sasl_version=$((2 * 65536 + 1 * 256 + 22)) -sasl_version_numbers=(`rpm -q cyrus-sasl-devel | head -1 | tr '-' ' ' | awk '{print $4}' | tr '.' ' '`) -let sasl_version=$((${sasl_version_numbers[0]} * 65536 + ${sasl_version_numbers[1]} * 256 + ${sasl_version_numbers[2]})) - -if [ "$sasl_version" -lt "$minimum_sasl_version" ]; then - echo "sasl_fed requires version 2.1.22 or later" - exit 0 -fi - -exit - QPID_SRC=$top_srcdir/src QPIDD=$QPID_SRC/.libs/qpidd PY_TOOLS=$QPID_TOOLS/src/py @@ -63,9 +46,17 @@ $QPIDD broker_2_port=`cat $tmp_root/broker_2_port` +sleep 2 + +# Grep the sasl version out of broker 2's log +sasl_version=`cat $tmp_root/qpidd_2.log | grep "SASL enabled" | tr ' ' '\n' | tail -1` -# Now find the PIDs so I can kill them later. -#pids=`ps -aef | grep -v grep | grep sasl_fed | grep $my_random_number | awk '{print $2}'` +# Minimum sasl version I can use is 2.1.22 == (2<<16) + (1<<8) + 22 == 131350. +if [ "$sasl_version" -lt "131350" ]; then + echo "sasl_fed test requires SASL version 2.1.22 or greater" + # but this should not cause a test failure. + exit 0 +fi # I am not randomizing these names, because the test creates its own brokers. @@ -137,11 +128,11 @@ $QPIDD --port $broker_2_port --quit #-- rm -rf $tmp_root -if [ "$broker_2_message_count" = "$n_messages" ]; then - echo "good: $broker_2_message_count" +if [ "$broker_2_message_count" -eq "$n_messages" ]; then + # echo "good: |$broker_2_message_count| == |$n_messages|" exit 0 else - echo "not ideal: $broker_1_message_count != $n_messages" + # echo "not ideal: |$broker_1_message_count| != |$n_messages|" exit 1 fi - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org
svn commit: r1026436 - in /qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src: org.apache.qpid.messaging.vcproj sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj sessionreceiver/qpid.snk
Author: chug Date: Fri Oct 22 18:06:07 2010 New Revision: 1026436 URL: http://svn.apache.org/viewvc?rev=1026436&view=rev Log: QPID-2913 QPID Cpp Messaging Libraries for WinSDK Are Not Signed * Add the strong key file signature to all variants of org.apache.qpid.messaging. * Clone the qpid.snk file from messaging to sessionreceiver. * Add the strong key file signature to all variants of org.apache.qpid.messaging.sessionreceiver. Added: qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/sessionreceiver/qpid.snk (with props) Modified: qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj Modified: qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj?rev=1026436&r1=1026435&r2=1026436&view=diff == --- qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj (original) +++ qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/org.apache.qpid.messaging.vcproj Fri Oct 22 18:06:07 2010 @@ -249,6 +249,7 @@ GenerateDebugInformation="true" AssemblyDebug="1" TargetMachine="1" + KeyFile="qpid.snk" /> http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj?rev=1026436&r1=1026435&r2=1026436&view=diff == --- qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj (original) +++ qpid/trunk/qpid/cpp/bindings/qpid/dotnet/src/sessionreceiver/org.apache.qpid.messaging.sessionreceiver.csproj Fri Oct 22 18:06:07 2010 @@ -1,4 +1,4 @@ - + http://schemas.microsoft.com/developer/msbuild/2003";> Debug @@ -12,6 +12,8 @@ org.apache.qpid.messaging.sessionreceiver v3.5 512 +true +qpid.snk true @@ -110,6 +112,9 @@ Org.Apache.Qpid.Messaging + + +
svn commit: r1026501 - /qpid/trunk/qpid/cpp/src/tests/store.py
Author: shuston Date: Fri Oct 22 21:40:39 2010 New Revision: 1026501 URL: http://svn.apache.org/viewvc?rev=1026501&view=rev Log: Test module to run recovery-oriented store tests. Added: qpid/trunk/qpid/cpp/src/tests/store.py Added: qpid/trunk/qpid/cpp/src/tests/store.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/store.py?rev=1026501&view=auto == --- qpid/trunk/qpid/cpp/src/tests/store.py (added) +++ qpid/trunk/qpid/cpp/src/tests/store.py Fri Oct 22 21:40:39 2010 @@ -0,0 +1,197 @@ +#!/usr/bin/env python +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +import errno, os, time +from qpid.brokertest import * +from qpid import compat, session +from qpid.util import connect +from qpid.connection import Connection +from qpid.datatypes import Message, uuid4 +from qpid.queue import Empty + +class StoreTests(BrokerTest): + + XA_RBROLLBACK = 1 + XA_RBTIMEOUT = 2 + XA_OK = 0 + tx_counter = 0 + + def configure(self, config): +self.config = config +self.defines = self.config.defines +BrokerTest.configure(self, config) + + def setup_connection(self): +socket = connect(self._broker.host(), self._broker.port()) +return Connection(sock=socket) + + def setup_session(self): +self.conn.start() +return self.conn.session(str(uuid4())) + + def start_session(self): +self.conn = self.setup_connection() +self.ssn = self.setup_session() + + def setUp(self): +BrokerTest.setUp(self) +self._broker = self.broker() +self.start_session() + + def cycle_broker(self): +# tearDown resets working dir; change it back after. +d = os.getcwd() +BrokerTest.tearDown(self) +os.chdir(d) +self._broker = None +self._broker = self.broker() +self.conn = self.setup_connection() +self.ssn = self.setup_session() + + def xid(self, txid): +StoreTests.tx_counter += 1 +branchqual = "v%s" % StoreTests.tx_counter +return self.ssn.xid(format=0, global_id=txid, branch_id=branchqual) + + def testDurableExchange(self): +try: + self.ssn.exchange_delete(exchange="DE1") +except: + # restart the session busted from the exception + self.start_session() + +self.ssn.exchange_declare(exchange="DE1", type="direct", durable=True) +response = self.ssn.exchange_query(name="DE1") +self.assert_(response.durable) +self.assert_(not response.not_found) + +# Cycle the broker and make sure the exchange recovers +self.cycle_broker() +response = self.ssn.exchange_query(name="DE1") +self.assert_(response.durable) +self.assert_(not response.not_found) + +self.ssn.exchange_delete(exchange="DE1") + + def testDurableQueues(self): +try: + self.ssn.queue_delete(queue="DQ1") +except: + self.start_session() + +self.ssn.queue_declare(queue="DQ1", durable=True) +response = self.ssn.queue_query(queue="DQ1") +self.assertEqual("DQ1", response.queue) +self.assert_(response.durable) + +# Cycle the broker and make sure the queue recovers +self.cycle_broker() +response = self.ssn.queue_query(queue="DQ1") +self.assertEqual("DQ1", response.queue) +self.assert_(response.durable) + +self.ssn.queue_delete(queue="DQ1") + + def testDurableBindings(self): +try: + self.ssn.exchange_unbind(queue="DB_Q1", exchange="DB_E1", binding_key="K1") +except: + self.start_session() +try: + self.ssn.exchange_delete(exchange="DB_E1") +except: + self.start_session() +try: + self.ssn.queue_delete(queue="DB_Q1") +except: + self.start_session() + +self.ssn.queue_declare(queue="DB_Q1", durable=True) +self.ssn.exchange_declare(exchange="DB_E1", type="direct", durable=True) +self.ssn.exchange_bind(exchange="DB_E1", queue="DB_Q1", binding_key="K1") + +# Cycle the broker and make sure the binding recovers +self.cycle_broker() +response = self.ssn.exchange_bound(exchange="DB_E1", queue="DB_Q1", binding_key="K1") +self.assert_(not response.exchange_not_found) +self.assert_(not response.queue_not_found) +self.assert_(not response.queue_not_matched) +self.assert_(not response