svn commit: r1382799 - in /qpid/trunk/qpid/java: bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/ client/src/main/java/org/apache/qpid/client/ client/src/main/java/org/apache/qpid/clien
Author: robbie Date: Mon Sep 10 12:39:44 2012 New Revision: 1382799 URL: http://svn.apache.org/viewvc?rev=1382799&view=rev Log: QPID-4289: Fix 0-8/0-9/0-9-1 failover issues Applied patch from Philip Harvey and Oleksandr Rudyy Added: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/MultipleBrokersFailoverTest.java qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestUtils.java Modified: qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterBlackboxTest.java qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HATestClusterCreator.java qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionCloseMethodHandler.java qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/FailoverBehaviourTest.java qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java qpid/trunk/qpid/java/test-profiles/CPPExcludes Modified: qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterBlackboxTest.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterBlackboxTest.java?rev=1382799&r1=1382798&r2=1382799&view=diff == --- qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterBlackboxTest.java (original) +++ qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HAClusterBlackboxTest.java Mon Sep 10 12:39:44 2012 @@ -31,6 +31,7 @@ import org.apache.qpid.client.AMQConnect import org.apache.qpid.jms.ConnectionListener; import org.apache.qpid.jms.ConnectionURL; import org.apache.qpid.test.utils.QpidBrokerTestCase; +import org.apache.qpid.test.utils.TestUtils; import com.sleepycat.je.rep.ReplicationConfig; @@ -134,7 +135,10 @@ public class HAClusterBlackboxTest exten public void assertFailoverOccurs(long delay) throws InterruptedException { -_failoverLatch.await(delay, TimeUnit.MILLISECONDS); +if (!_failoverLatch.await(delay, TimeUnit.MILLISECONDS)) +{ +LOGGER.warn("Test thread dump:\n\n" + TestUtils.dumpThreads() + "\n"); +} assertEquals("Failover did not occur", 0, _failoverLatch.getCount()); } Modified: qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HATestClusterCreator.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HATestClusterCreator.java?rev=1382799&r1=1382798&r2=1382799&view=diff == --- qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HATestClusterCreator.java (original) +++ qpid/trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/HATestClusterCreator.java Mon Sep 10 12:39:44 2012 @@ -204,7 +204,7 @@ public class HATestClusterCreator public void stopNode(final int brokerPortNumber) { -_testcase.stopBroker(brokerPortNumber); +_testcase.killBroker(brokerPortNumber); } public void stopCluster() throws Exception Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java?rev=1382799&r1=1382798&r2=1382799&view=diff == --- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java (original) +++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java Mon Sep 10 12:39:44 2012 @@ -1080,7 +1080,7 @@ public class AMQConnection extends Close return _started; } -protected final boolean isConnected() +public final boolean isConnected() { return _connected; } Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java?rev=1382799&r1=1382798&r2=1382799&view=diff == --
svn commit: r1382830 - in /qpid/trunk/qpid: cpp/src/qpid/broker/Connection.cpp cpp/src/qpid/broker/ConnectionHandler.cpp specs/management-schema.xml
Author: kgiusti Date: Mon Sep 10 13:32:07 2012 New Revision: 1382830 URL: http://svn.apache.org/viewvc?rev=1382830&view=rev Log: QPID-4174: add client properties to client-related events. Original patch from Pavel Moravec Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp qpid/trunk/qpid/specs/management-schema.xml Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp?rev=1382830&r1=1382829&r2=1382830&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp Mon Sep 10 13:32:07 2012 @@ -142,7 +142,7 @@ Connection::~Connection() // In a cluster, Connections destroyed during shutdown are in // a cluster-unsafe context. Don't raise an event in that case. if (!link && isClusterSafe()) -agent->raiseEvent(_qmf::EventClientDisconnect(mgmtId, ConnectionState::getUserId())); +agent->raiseEvent(_qmf::EventClientDisconnect(mgmtId, ConnectionState::getUserId(), mgmtObject->get_remoteProperties())); QPID_LOG_CAT(debug, model, "Delete connection. user:" << ConnectionState::getUserId() << " rhost:" << mgmtId ); } @@ -287,7 +287,7 @@ void Connection::setUserId(const string& void Connection::raiseConnectEvent() { if (mgmtObject != 0) { mgmtObject->set_authIdentity(userId); -agent->raiseEvent(_qmf::EventClientConnect(mgmtId, userId)); +agent->raiseEvent(_qmf::EventClientConnect(mgmtId, userId, mgmtObject->get_remoteProperties())); } QPID_LOG_CAT(debug, model, "Create connection. user:" << userId Modified: qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp?rev=1382830&r1=1382829&r2=1382830&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp Mon Sep 10 13:32:07 2012 @@ -32,6 +32,7 @@ #include "qpid/log/Statement.h" #include "qpid/sys/SecurityLayer.h" #include "qpid/broker/AclModule.h" +#include "qpid/amqp_0_10/Codecs.h" #include "qmf/org/apache/qpid/broker/EventClientConnectFail.h" using namespace qpid; @@ -148,6 +149,24 @@ void ConnectionHandler::Handler::startOk void ConnectionHandler::Handler::startOk(const ConnectionStartOkBody& body) { +const framing::FieldTable& clientProperties = body.getClientProperties(); +qmf::org::apache::qpid::broker::Connection* mgmtObject = connection.getMgmtObject(); + +if (mgmtObject != 0) { +string procName = clientProperties.getAsString(CLIENT_PROCESS_NAME); +uint32_t pid = clientProperties.getAsInt(CLIENT_PID); +uint32_t ppid = clientProperties.getAsInt(CLIENT_PPID); + +types::Variant::Map properties; +amqp_0_10::translate(clientProperties, properties); +mgmtObject->set_remoteProperties(properties); +if (!procName.empty()) +mgmtObject->set_remoteProcessName(procName); +if (pid != 0) +mgmtObject->set_remotePid(pid); +if (ppid != 0) +mgmtObject->set_remoteParentPid(ppid); +} try { authenticator->start(body.getMechanism(), body.hasResponse() ? &body.getResponse() : 0); } catch (std::exception& /*e*/) { @@ -160,8 +179,9 @@ void ConnectionHandler::Handler::startOk string uid; authenticator->getError(error); authenticator->getUid(uid); -if (agent) { - agent->raiseEvent(_qmf::EventClientConnectFail(connection.getMgmtId(), uid, error)); +if (agent && mgmtObject) { + agent->raiseEvent(_qmf::EventClientConnectFail(connection.getMgmtId(), uid, error, + mgmtObject->get_remoteProperties())); } QPID_LOG_CAT(debug, model, "Failed connection. rhost:" << connection.getMgmtId() << " user:" << uid @@ -169,9 +189,8 @@ void ConnectionHandler::Handler::startOk } throw; } -const framing::FieldTable& clientProperties = body.getClientProperties(); -connection.setClientProperties(clientProperties); +connection.setClientProperties(clientProperties); connection.setFederationLink(clientProperties.get(QPID_FED_LINK)); if (clientProperties.isSet(QPID_FED_TAG)) { connection.setFederationPeerTag(clientProperties.getAsString(QPID_FED_TAG)); @@ -187,19 +206,6 @@ void ConnectionHandler::Handler::startOk } QPID_LOG(info, "Connection is a federation link"); } - -if (connection.
svn commit: r1382915 - /qpid/trunk/qpid/java/broker/etc/config.xml
Author: robbie Date: Mon Sep 10 14:55:18 2012 New Revision: 1382915 URL: http://svn.apache.org/viewvc?rev=1382915&view=rev Log: NO-JIRA: add default config for http management Modified: qpid/trunk/qpid/java/broker/etc/config.xml Modified: qpid/trunk/qpid/java/broker/etc/config.xml URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/etc/config.xml?rev=1382915&r1=1382914&r2=1382915&view=diff == --- qpid/trunk/qpid/java/broker/etc/config.xml (original) +++ qpid/trunk/qpid/java/broker/etc/config.xml Mon Sep 10 14:55:18 2012 @@ -42,6 +42,7 @@ 262144 262144 + true @@ -57,10 +58,14 @@ ${conf}/qpid.keystore password + +true + false + 65535 en_US - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1382918 [2/2] - in /qpid/proton/branches/driver_abstraction: ./ examples/broker/ proton-c/ proton-c/bindings/ proton-c/bindings/php/ proton-c/bindings/python/ proton-c/bindings/ruby/ prot
Modified: qpid/proton/branches/driver_abstraction/proton-c/src/scanner.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/scanner.c?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/scanner.c (original) +++ qpid/proton/branches/driver_abstraction/proton-c/src/scanner.c Mon Sep 10 14:56:20 2012 @@ -81,7 +81,10 @@ pn_scanner_t *pn_scanner() void pn_scanner_free(pn_scanner_t *scanner) { - free(scanner); + if (scanner) { +pn_error_free(scanner->error); +free(scanner); + } } pn_token_t pn_scanner_token(pn_scanner_t *scanner) Modified: qpid/proton/branches/driver_abstraction/proton-c/src/util.h URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/util.h?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/util.h (original) +++ qpid/proton/branches/driver_abstraction/proton-c/src/util.h Mon Sep 10 14:56:20 2012 @@ -92,4 +92,7 @@ bool pn_env_bool(const char *name); char *pn_strdup(const char *src); char *pn_strndup(const char *src, size_t n); +#define pn_min(X,Y) ((X) > (Y) ? (Y) : (X)) +#define pn_max(X,Y) ((X) < (Y) ? (Y) : (X)) + #endif /* util.h */ Modified: qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py (original) +++ qpid/proton/branches/driver_abstraction/tests/proton_tests/__init__.py Mon Sep 10 14:56:20 2012 @@ -21,3 +21,4 @@ import proton_tests.engine import proton_tests.message import proton_tests.messenger import proton_tests.sasl +import proton_tests.transport Modified: qpid/proton/branches/driver_abstraction/tests/proton_tests/engine.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/tests/proton_tests/engine.py?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/tests/proton_tests/engine.py (original) +++ qpid/proton/branches/driver_abstraction/tests/proton_tests/engine.py Mon Sep 10 14:56:20 2012 @@ -55,8 +55,10 @@ class Test(common.Test): def connection(self): c1 = pn_connection() c2 = pn_connection() -t1 = pn_transport(c1) -t2 = pn_transport(c2) +t1 = pn_transport() +pn_transport_bind(t1, c1) +t2 = pn_transport() +pn_transport_bind(t2, c2) self._wires.append((c1, t1, c2, t2)) trc = os.environ.get("PN_TRACE_FRM") if trc and trc.lower() in ("1", "2", "yes", "true"): @@ -82,7 +84,9 @@ class Test(common.Test): def cleanup(self): for c1, t1, c2, t2 in self._wires: pn_connection_free(c1) + pn_transport_free(t1) pn_connection_free(c2) + pn_transport_free(t2) def pump(self): for c1, t1, c2, t2 in self._wires: Modified: qpid/proton/branches/driver_abstraction/tests/proton_tests/message.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/tests/proton_tests/message.py?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/tests/proton_tests/message.py (original) +++ qpid/proton/branches/driver_abstraction/tests/proton_tests/message.py Mon Sep 10 14:56:20 2012 @@ -127,6 +127,8 @@ class CodecTest(Test): assert not cd, cd assert saved == body, (body, saved) +pn_message_free(msg2) + class LoadSaveTest(Test): @@ -172,3 +174,12 @@ class LoadSaveTest(Test): def testText(self): self._test(PN_TEXT, "this is a text string") + + def testTextLoadNone(self): +pn_message_set_format(self.msg, PN_TEXT) +pn_message_clear(self.msg) +cd = pn_message_load(self.msg, None) +assert cd == 0 +cd, saved = pn_message_save(self.msg, 1024) +assert cd >= 0 +assert saved == "" Modified: qpid/proton/branches/driver_abstraction/tests/proton_tests/messenger.py URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/tests/proton_tests/messenger.py?rev=1382918&r1=1382917&r2=1382918&view=diff == --- qpid/proton/branches/driver_abstraction/tests/proton_tests/messenger.py (original) +++ qpid/proton/branches/driver_abstraction/tests/proton_tests/messenger.py Mon Sep 10 14:56:20 2012 @@ -48,6 +48,7 @@ class Test(common.Test): pn_messenger_free(self.server) self.client = None self.server = None +pn_message_free(msg) cla
svn commit: r1382947 - in /qpid/trunk/qpid: doc/book/src/java-broker/ java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ java/broker-plugins/management-ht
Author: kwall Date: Mon Sep 10 15:37:45 2012 New Revision: 1382947 URL: http://svn.apache.org/viewvc?rev=1382947&view=rev Log: QPID-4292: add ACL rule to authorise access to the web management UI * added object name MANAGEMENT to represent both JMX and Web Management layers * Change both JMX/Web entry points to permission access with an access management check * Updated examples and docbook * Made Principals serialised to avoid container warnings when Qpid principals are placed within a HttpSession. Work of Robbie Gemmell and myself. Modified: qpid/trunk/qpid/doc/book/src/java-broker/Configure-ACLs.xml qpid/trunk/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/PlainConfigurationTest.java qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/systest/rest/acl/GroupRestACLTest.java qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/systest/rest/acl/UserRestACLTest.java qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java qpid/trunk/qpid/java/broker/etc/broker_example.acl qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectType.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticatedPrincipal.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/UsernamePrincipal.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticator.java qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/group/GroupPrincipal.java qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/rmi/RMIPasswordAuthenticatorTest.java qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/security/acl/ExternalACLJMXTest.java Modified: qpid/trunk/qpid/doc/book/src/java-broker/Configure-ACLs.xml URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/doc/book/src/java-broker/Configure-ACLs.xml?rev=1382947&r1=1382946&r2=1382947&view=diff == --- qpid/trunk/qpid/doc/book/src/java-broker/Configure-ACLs.xml (original) +++ qpid/trunk/qpid/doc/book/src/java-broker/Configure-ACLs.xml Mon Sep 10 15:37:45 2012 @@ -215,36 +215,40 @@ - QUEUE -A queue + VIRTUALHOST + A virtualhost (Java Broker only) - EXCHANGE - An exchange + MANAGEMENT + Management - for web and JMX (Java Broker only) - VIRTUALHOST -A virtualhost (Java Broker only) + QUEUE + A queue + + + EXCHANGE + An exchange USER -A user (Java Broker only) + A user (Java Broker only) GROUP -A group (Java Broker only) + A group (Java Broker only) METHOD -Management or agent or broker method (Java Broker only) + Management or agent or broker method (Java Broker only) - BROKER - The broker (not currently used in Java Broker) + LINK + A federation or inter-broker link (not currently used in Java Broker) - LINK -A federation or inter-broker link (not currently used in Java Broker) + BROKER + The broker (not currently used in Java Broker) @@ -387,8 +391,9 @@ is allowed to perform user maintainence This example illustrates the permissioning of an individual component. -# Give usermaint permission to execute all JMX Methods on the +# Give usermaint access to management and permission to execute all JMX Methods on the # UserManagement MBean and perform all actions for USER objects +ACL ALLOW usermaint ACCESS MANAGEMENT ACL ALLOW usermaint ALL METHOD component="UserManagement" ACL ALLOW usermaint ALL USER ACL DENY ALL ALL METHOD component="UserManagement" Modified: qpid/trunk/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/PlainConfigurationTest.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bro
svn commit: r1382956 - /qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml
Author: kwall Date: Mon Sep 10 16:04:46 2012 New Revision: 1382956 URL: http://svn.apache.org/viewvc?rev=1382956&view=rev Log: NO-JIRA: Correct closing tag in XML example with Java docbook documentation. Modified: qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml Modified: qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml?rev=1382956&r1=1382955&r2=1382956&view=diff == --- qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml (original) +++ qpid/trunk/qpid/doc/book/src/java-broker/HA-Guide.xml Mon Sep 10 16:04:46 2012 @@ -373,19 +373,15 @@ ... ]]> - And to override the BDB replication configuration options je.rep.insufficientReplicasTimeout. + And to override the BDB replication configuration options je.rep.electionsPrimaryRetries. - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1382991 - in /qpid/trunk/qpid/cpp/src/qpid/broker: Queue.cpp QueueSettings.cpp QueueSettings.h SessionAdapter.cpp
Author: mgoulish Date: Mon Sep 10 17:23:34 2012 New Revision: 1382991 URL: http://svn.apache.org/viewvc?rev=1382991&view=rev Log: Jira QPID-4142 browse-only queues Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1382991&r1=1382990&r2=1382991&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Mon Sep 10 17:23:34 2012 @@ -206,6 +206,10 @@ Queue::Queue(const string& _name, const brokerMgmtObject->inc_queueCount(); } } + +if ( settings.isBrowseOnly ) { +QPID_LOG ( info, "Queue " << name << " is browse-only." ); +} } Queue::~Queue() @@ -483,6 +487,11 @@ void Queue::consume(Consumer::shared_ptr // Check for exclusivity of acquiring consumers. size_t acquiringConsumers = consumerCount - browserCount; if (c->preAcquires()) { +if(settings.isBrowseOnly) { +throw NotAllowedException( +QPID_MSG("Queue " << name << " is browse only. Refusing acquiring consumer.")); +} + if(exclusive) { throw ResourceLockedException( QPID_MSG("Queue " << getName() Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp?rev=1382991&r1=1382990&r2=1382991&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.cpp Mon Sep 10 17:23:34 2012 @@ -39,6 +39,7 @@ const std::string POLICY_TYPE("qpid.poli const std::string POLICY_TYPE_REJECT("reject"); const std::string POLICY_TYPE_RING("ring"); const std::string NO_LOCAL("no-local"); +const std::string BROWSE_ONLY("browse-only"); const std::string TRACE_ID("qpid.trace.id"); const std::string TRACE_EXCLUDES("qpid.trace.exclude"); const std::string LVQ_KEY("qpid.last_value_queue_key"); @@ -82,6 +83,7 @@ QueueSettings::QueueSettings(bool d, boo addTimestamp(false), dropMessagesAtLimit(false), noLocal(false), +isBrowseOnly(false), autoDeleteDelay(0), alertRepeatInterval(60) {} @@ -108,6 +110,9 @@ bool QueueSettings::handle(const std::st } else if (key == NO_LOCAL) { noLocal = value; return true; +} else if (key == BROWSE_ONLY) { +isBrowseOnly = value; +return true; } else if (key == TRACE_ID) { traceId = value.asString(); return true; Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h?rev=1382991&r1=1382990&r2=1382991&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueSettings.h Mon Sep 10 17:23:34 2012 @@ -59,6 +59,7 @@ struct QueueSettings bool dropMessagesAtLimit;//aka ring queue policy bool noLocal; +bool isBrowseOnly; std::string traceId; std::string traceExcludes; uint64_t autoDeleteDelay;//queueTtl? Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp?rev=1382991&r1=1382990&r2=1382991&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp Mon Sep 10 17:23:34 2012 @@ -422,6 +422,11 @@ SessionAdapter::MessageHandlerImpl::subs if(!destination.empty() && state.exists(destination)) throw NotAllowedException(QPID_MSG("Consumer tags must be unique")); +if (queue->getSettings().isBrowseOnly && acquireMode == 0) { +QPID_LOG(info, "Overriding request to consume from browse-only queue " << queue->getName()); +acquireMode = 1; +} + // We allow browsing (acquireMode == 1) of exclusive queues, this is required by HA. if (queue->hasExclusiveOwner() && !queue->isExclusiveOwner(&session) && acquireMode == 0) throw ResourceLockedException(QPID_MSG("Cannot subscribe to exclusive queue " - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383014 - in /qpid/proton/branches/driver_abstraction/proton-c: CMakeLists.txt src/driver-internal.h src/driver.c src/driver_impl.h src/drivers/openssl.c src/drivers/poll.c src/drivers/ss
Author: kgiusti Date: Mon Sep 10 18:08:00 2012 New Revision: 1383014 URL: http://svn.apache.org/viewvc?rev=1383014&view=rev Log: PROTON-2: fix the SSL build, rename file for consistency. Added: qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h (contents, props changed) - copied, changed from r1382918, qpid/proton/branches/driver_abstraction/proton-c/src/driver_impl.h Removed: qpid/proton/branches/driver_abstraction/proton-c/src/driver_impl.h Modified: qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt qpid/proton/branches/driver_abstraction/proton-c/src/driver.c qpid/proton/branches/driver_abstraction/proton-c/src/drivers/openssl.c qpid/proton/branches/driver_abstraction/proton-c/src/drivers/poll.c qpid/proton/branches/driver_abstraction/proton-c/src/drivers/ssl_stub.c Modified: qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt?rev=1383014&r1=1383013&r2=1383014&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt (original) +++ qpid/proton/branches/driver_abstraction/proton-c/CMakeLists.txt Mon Sep 10 18:08:00 2012 @@ -61,7 +61,7 @@ endif (POLLER STREQUAL poll) # Link in openssl if present if (SSL_IMPL STREQUAL openssl) set (pn_driver_ssl_impl src/drivers/openssl.c) - set (LINK_DEPS ${LINK_DEPS} ssl crypto) + set (SSL_LIB ssl crypto) else (SSL_IMPL STREQUAL openssl) set (pn_driver_ssl_impl src/drivers/ssl_stub.c) endif (SSL_IMPL STREQUAL openssl) @@ -109,7 +109,7 @@ add_library ( ${PROJECT_BINARY_DIR}/encodings.h ${PROJECT_BINARY_DIR}/protocol.h ) -target_link_libraries (qpid-proton ${UUID_LIB}) +target_link_libraries (qpid-proton ${UUID_LIB} ${SSL_LIB}) add_executable (proton src/proton.c) target_link_libraries (proton qpid-proton) Copied: qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h (from r1382918, qpid/proton/branches/driver_abstraction/proton-c/src/driver_impl.h) URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h?p2=qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h&p1=qpid/proton/branches/driver_abstraction/proton-c/src/driver_impl.h&r1=1382918&r2=1383014&rev=1383014&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/driver_impl.h (original) +++ qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h Mon Sep 10 18:08:00 2012 @@ -1,5 +1,5 @@ -#ifndef PROTON_SRC_DRIVER_H -#define PROTON_SRC_DRIVER_H 1 +#ifndef PROTON_SRC_DRIVER_INTERNAL_H +#define PROTON_SRC_DRIVER_INTERNAL_H 1 /* * * Licensed to the Apache Software Foundation (ASF) under one @@ -111,4 +111,4 @@ void pn_connector_process_output(pn_conn void pn_connector_process_input(pn_connector_t *); -#endif /* driver.h */ +#endif /* driver-internal.h */ Propchange: qpid/proton/branches/driver_abstraction/proton-c/src/driver-internal.h -- svn:eol-style = native Modified: qpid/proton/branches/driver_abstraction/proton-c/src/driver.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/driver.c?rev=1383014&r1=1383013&r2=1383014&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/driver.c (original) +++ qpid/proton/branches/driver_abstraction/proton-c/src/driver.c Mon Sep 10 18:08:00 2012 @@ -24,7 +24,7 @@ #include #include #include "util.h" -#include "driver_impl.h" +#include "driver-internal.h" #include "drivers/ssl.h" #include Modified: qpid/proton/branches/driver_abstraction/proton-c/src/drivers/openssl.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/drivers/openssl.c?rev=1383014&r1=1383013&r2=1383014&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/drivers/openssl.c (original) +++ qpid/proton/branches/driver_abstraction/proton-c/src/drivers/openssl.c Mon Sep 10 18:08:00 2012 @@ -22,7 +22,7 @@ #define _POSIX_C_SOURCE 1 #include -#include "../driver_impl.h" +#include "../driver-internal.h" #include "../util.h" #include Modified: qpid/proton/branches/driver_abstraction/proton-c/src/drivers/poll.c URL: http://svn.apache.org/viewvc/qpid/proton/branches/driver_abstraction/proton-c/src/drivers/poll.c?rev=1383014&r1=1383013&r2=1383014&view=diff == --- qpid/proton/branches/driver_abstraction/proton-c/src/drivers/poll.c (original) +++ qpid/proton/branches/driver_abstraction/proton-c
svn commit: r1383035 - in /qpid/proton/trunk/proton-c/src: driver.c engine/engine.c
Author: rhs Date: Mon Sep 10 18:48:50 2012 New Revision: 1383035 URL: http://svn.apache.org/viewvc?rev=1383035&view=rev Log: fixed bug due to delayed sasl initialization; added back printing of errors which somehow got dropped Modified: qpid/proton/trunk/proton-c/src/driver.c qpid/proton/trunk/proton-c/src/engine/engine.c Modified: qpid/proton/trunk/proton-c/src/driver.c URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/driver.c?rev=1383035&r1=1383034&r2=1383035&view=diff == --- qpid/proton/trunk/proton-c/src/driver.c (original) +++ qpid/proton/trunk/proton-c/src/driver.c Mon Sep 10 18:48:50 2012 @@ -96,6 +96,7 @@ struct pn_connector_t { char output[IO_BUF_SIZE]; pn_connection_t *connection; pn_transport_t *transport; + pn_sasl_t *sasl; bool input_done; bool output_done; pn_listener_t *listener; @@ -356,6 +357,7 @@ pn_connector_t *pn_connector_fd(pn_drive c->output_size = 0; c->connection = NULL; c->transport = pn_transport(); + c->sasl = pn_sasl(c->transport); c->input_done = false; c->output_done = false; c->context = context; @@ -386,7 +388,7 @@ void pn_connector_trace(pn_connector_t * pn_sasl_t *pn_connector_sasl(pn_connector_t *ctor) { - return ctor ? pn_sasl(ctor->transport) : NULL; + return ctor ? ctor->sasl : NULL; } void pn_connector_set_connection(pn_connector_t *ctor, pn_connection_t *connection) Modified: qpid/proton/trunk/proton-c/src/engine/engine.c URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/engine.c?rev=1383035&r1=1383034&r2=1383035&view=diff == --- qpid/proton/trunk/proton-c/src/engine/engine.c (original) +++ qpid/proton/trunk/proton-c/src/engine/engine.c Mon Sep 10 18:48:50 2012 @@ -1436,6 +1436,11 @@ ssize_t pn_input(pn_transport_t *transpo } else if (n == 0) { break; } else { + if (n != PN_EOS) { +pn_dispatcher_trace(transport->disp, 0, "ERROR[%i] %s\n", +pn_error_code(transport->error), +pn_error_text(transport->error)); + } if (transport->disp->trace & (PN_TRACE_RAW | PN_TRACE_FRM)) pn_dispatcher_trace(transport->disp, 0, "<- EOS\n"); return n; - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383093 - /qpid/trunk/qpid/cpp/src/tests/ha_tests.py
Author: aconway Date: Mon Sep 10 20:01:12 2012 New Revision: 1383093 URL: http://svn.apache.org/viewvc?rev=1383093&view=rev Log: QPID-4259, QPID-4262: HA broker can crash due to priority queue corruption Already fixed on trunk. Comitting just the regression test. Modified: qpid/trunk/qpid/cpp/src/tests/ha_tests.py Modified: qpid/trunk/qpid/cpp/src/tests/ha_tests.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/ha_tests.py?rev=1383093&r1=1383092&r2=1383093&view=diff == --- qpid/trunk/qpid/cpp/src/tests/ha_tests.py (original) +++ qpid/trunk/qpid/cpp/src/tests/ha_tests.py Mon Sep 10 20:01:12 2012 @@ -20,7 +20,7 @@ import os, signal, sys, time, imp, re, subprocess, glob, random, logging, shutil, math, unittest import traceback -from qpid.messaging import Message, NotFound, ConnectionError, ReceiverError, Connection, Timeout, Disposition, REJECTED +from qpid.messaging import Message, NotFound, ConnectionError, ReceiverError, Connection, Timeout, Disposition, REJECTED, Empty from qpid.datatypes import uuid4 from brokertest import * from threading import Thread, Lock, Condition @@ -36,7 +36,6 @@ class QmfAgent(object): self._connection = Connection.establish( address, client_properties={"qpid.ha-admin":1}, **kwargs) self._agent = BrokerAgent(self._connection) -assert self._agent.getHaBroker(), "HA module not loaded in broker at: %s"%(address) def __getattr__(self, name): a = getattr(self._agent, name) @@ -805,6 +804,21 @@ acl deny all all cluster.bounce(1) verify(cluster[2]) +def test_priority_reroute(self): +"""Regression test for QPID-4262, rerouting messages from a priority queue +to itself causes a crash""" +cluster = HaCluster(self, 2) +primary = cluster[0] +session = primary.connect().session() +s = session.sender("pq; {create:always, node:{x-declare:{arguments:{'qpid.priorities':10}},x-bindings:[{exchange:'amq.fanout',queue:pq}]}}") +for m in xrange(100): s.send(Message(str(m), priority=m%10)) +pq = QmfAgent(primary.host_port()).getQueue("pq") +pq.reroute(request=0, useAltExchange=False, exchange="amq.fanout") +# Verify that consuming is in priority order +expect = [str(10*i+p) for p in xrange(9,-1,-1) for i in xrange(0,10) ] +actual = [m.content for m in primary.get_messages("pq", 100)] +self.assertEqual(expect, actual) + def fairshare(msgs, limit, levels): """ Generator to return prioritised messages in expected order for a given fairshare limit - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383104 - /qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp
Author: aconway Date: Mon Sep 10 20:40:59 2012 New Revision: 1383104 URL: http://svn.apache.org/viewvc?rev=1383104&view=rev Log: QPID-4293: HA broker crashes on startup Caused by invalid enum value in un-initialized member. Modified: qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp Modified: qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp?rev=1383104&r1=1383103&r2=1383104&view=diff == --- qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/ha/BrokerInfo.cpp Mon Sep 10 20:40:59 2012 @@ -44,7 +44,7 @@ using types::Variant; using framing::FieldTable; BrokerInfo::BrokerInfo(const std::string& host, uint16_t port_, const types::Uuid& id) : -hostName(host), port(port_), systemId(id) +hostName(host), port(port_), systemId(id), status(JOINING) { updateLogId(); } - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383225 - /qpid/branches/0.18/qpid/packaging/windows/installer.proj
Author: shuston Date: Tue Sep 11 02:20:36 2012 New Revision: 1383225 URL: http://svn.apache.org/viewvc?rev=1383225&view=rev Log: Look for dotnet example files in the correct place for vc9. Fixes QPID-4294 Modified: qpid/branches/0.18/qpid/packaging/windows/installer.proj Modified: qpid/branches/0.18/qpid/packaging/windows/installer.proj URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/packaging/windows/installer.proj?rev=1383225&r1=1383224&r2=1383225&view=diff == --- qpid/branches/0.18/qpid/packaging/windows/installer.proj (original) +++ qpid/branches/0.18/qpid/packaging/windows/installer.proj Tue Sep 11 02:20:36 2012 @@ -36,7 +36,7 @@ qpidc Package C:\Program Files (x86)\Windows Installer XML v3.5\bin -$(MSBuildExtensionsPath)\Microsoft\WiX\v3.5\wix.targets +$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\wix.targets @@ -175,10 +175,10 @@ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383226 - /qpid/trunk/qpid/packaging/windows/installer.proj
Author: shuston Date: Tue Sep 11 02:28:31 2012 New Revision: 1383226 URL: http://svn.apache.org/viewvc?rev=1383226&view=rev Log: Look for dotnet example files in the correct place for vc9. Fixes QPID-4294 Modified: qpid/trunk/qpid/packaging/windows/installer.proj (contents, props changed) Modified: qpid/trunk/qpid/packaging/windows/installer.proj URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/packaging/windows/installer.proj?rev=1383226&r1=1383225&r2=1383226&view=diff == --- qpid/trunk/qpid/packaging/windows/installer.proj (original) +++ qpid/trunk/qpid/packaging/windows/installer.proj Tue Sep 11 02:28:31 2012 @@ -36,7 +36,7 @@ qpidc Package C:\Program Files (x86)\Windows Installer XML v3.5\bin -$(MSBuildExtensionsPath)\Microsoft\WiX\v3.5\wix.targets +$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\wix.targets @@ -175,10 +175,10 @@ Propchange: qpid/trunk/qpid/packaging/windows/installer.proj -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Sep 11 02:28:31 2012 @@ -0,0 +1,7 @@ +/qpid/branches/0.10/qpid/packaging/windows/installer.proj:1103083 +/qpid/branches/0.18/qpid/packaging/windows/installer.proj:1383225 +/qpid/branches/0.5.x-dev/qpid/packaging/windows/installer.proj:892761,894875 +/qpid/branches/0.6-release-windows-installer/packaging/windows/installer.proj:926803 +/qpid/branches/0.6-release-windows-installer/qpid/packaging/windows/installer.proj:926865,927233 +/qpid/branches/java-network-refactor/qpid/packaging/windows/installer.proj:805429-825319 +/qpid/branches/qpid-2935/qpid/packaging/windows/installer.proj:1061302-1072333 - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r1383229 - /qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp
Author: shuston Date: Tue Sep 11 03:01:25 2012 New Revision: 1383229 URL: http://svn.apache.org/viewvc?rev=1383229&view=rev Log: Fix QPID-4269 Modified: qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp (contents, props changed) Modified: qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp?rev=1383229&r1=1383228&r2=1383229&view=diff == --- qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp (original) +++ qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp Tue Sep 11 03:01:25 2012 @@ -30,8 +30,15 @@ #include "qpid/broker/Broker.h" #include +#include +#include #include +namespace { + // This will accept args from the command line; augmented with service args. + std::vector cmdline_args; +} + namespace qpid { namespace broker { @@ -229,6 +236,25 @@ VOID WINAPI SvcCtrlHandler(DWORD control VOID WINAPI ServiceMain(DWORD argc, LPTSTR *argv) { +// The arguments can come from 2 places. Args set with the executable +// name when the service is installed come through main() and are now +// in cmdline_args. Arguments set in StartService come into argc/argv +// above; if they are set, argv[0] is the service name. Make command +// line args first; StartService args come later and can override +// command line args. +int all_argc = argc + cmdline_args.size(); +if (argc == 0 && !cmdline_args.empty()) + ++all_argc;// No StartService args, so need to add prog name argv[0] +const char **all_argv = new const char *[all_argc]; +if (all_argc > 0) { + int i = 0; + all_argv[i++] = argc > 0 ? argv[0] : svcName.c_str(); + for (size_t j = 0; j < cmdline_args.size(); ++j) +all_argv[i++] = cmdline_args[j].c_str(); + for (DWORD k = 1; k < argc; ++k) +all_argv[i++] = argv[k]; +} + ::memset(&svcStatus, 0, sizeof(svcStatus)); svcStatusHandle = ::RegisterServiceCtrlHandler(svcName.c_str(), SvcCtrlHandler); @@ -238,7 +264,9 @@ VOID WINAPI ServiceMain(DWORD argc, LPTS svcStatus.dwCurrentState = SERVICE_START_PENDING; ::SetServiceStatus(svcStatusHandle, &svcStatus); // QpiddBroker class resets state to running. -svcStatus.dwWin32ExitCode = run_broker(argc, argv, true); +svcStatus.dwWin32ExitCode = run_broker(all_argc, + const_cast(all_argv), + true); svcStatus.dwCurrentState = SERVICE_STOPPED; svcStatus.dwCheckPoint = 0; svcStatus.dwWaitHint = 0; @@ -464,6 +492,11 @@ int main(int argc, char* argv[]) { "", (LPSERVICE_MAIN_FUNCTION)qpid::broker::ServiceMain }, { NULL, NULL } }; +// Copy any command line args to be available in case we're started +// as a service. Pick these back up in ServiceMain. +for (int i = 1; i < argc; ++i) + cmdline_args.push_back(argv[i]); + if (!StartServiceCtrlDispatcher(dispatchTable)) { DWORD err = ::GetLastError(); if (err == ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) // Run as console Propchange: qpid/branches/0.18/qpid/cpp/src/windows/QpiddBroker.cpp -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Sep 11 03:01:25 2012 @@ -0,0 +1,8 @@ +/qpid/branches/0.5.x-dev/qpid/cpp/src/windows/QpiddBroker.cpp:892761,894875 +/qpid/branches/0.6-release-windows-installer/cpp/src/windows/QpiddBroker.cpp:926803 +/qpid/branches/0.6-release-windows-installer/qpid/cpp/src/windows/QpiddBroker.cpp:926803,927233 +/qpid/branches/QPID-2519/cpp/src/windows/QpiddBroker.cpp:1072051-1079078 +/qpid/branches/java-network-refactor/qpid/cpp/src/windows/QpiddBroker.cpp:805429-825319 +/qpid/branches/qpid-2935/qpid/cpp/src/windows/QpiddBroker.cpp:1061302-1072333 +/qpid/branches/qpid-3346/qpid/cpp/src/windows/QpiddBroker.cpp:1144319-1179855 +/qpid/trunk/qpid/cpp/src/windows/QpiddBroker.cpp:1359595,1363498,1363520,1380890 - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org