Return-Path: X-Original-To: apmail-qpid-commits-archive@www.apache.org Delivered-To: apmail-qpid-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 57740D5C4 for ; Wed, 22 May 2013 22:24:10 +0000 (UTC) Received: (qmail 58494 invoked by uid 500); 22 May 2013 22:24:10 -0000 Delivered-To: apmail-qpid-commits-archive@qpid.apache.org Received: (qmail 58477 invoked by uid 500); 22 May 2013 22:24:10 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 58466 invoked by uid 99); 22 May 2013 22:24:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 May 2013 22:24:09 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 May 2013 22:24:08 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 8E58F23889EB; Wed, 22 May 2013 22:23:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1485467 - in /qpid/trunk/qpid/cpp/src: qpid/broker/amqp/Domain.cpp qpid/broker/amqp/Interconnect.cpp qpid/broker/amqp/SaslClient.cpp tests/qpidt Date: Wed, 22 May 2013 22:23:48 -0000 To: commits@qpid.apache.org From: gsim@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130522222348.8E58F23889EB@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: gsim Date: Wed May 22 22:23:48 2013 New Revision: 1485467 URL: http://svn.apache.org/r1485467 Log: QPID-4878: fix SASL for connections established by the broker Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp qpid/trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp qpid/trunk/qpid/cpp/src/tests/qpidt (contents, props changed) Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp?rev=1485467&r1=1485466&r2=1485467&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Domain.cpp Wed May 22 22:23:48 2013 @@ -168,7 +168,7 @@ qpid::sys::ConnectionCodec* Interconnect qpid::sys::ConnectionCodec* InterconnectFactory::create(qpid::sys::OutputControl& out, const std::string& id, const qpid::sys::SecuritySettings& t) { bool useSasl = domain.getMechanisms() != NONE; - boost::shared_ptr connection(new Interconnect(out, id, broker, true, incoming, name, source, target, domain, registry)); + boost::shared_ptr connection(new Interconnect(out, id, broker, useSasl, incoming, name, source, target, domain, registry)); if (!relay) registry.add(name, connection); else connection->setRelay(relay); Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp?rev=1485467&r1=1485466&r2=1485467&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Interconnect.cpp Wed May 22 22:23:48 2013 @@ -41,7 +41,7 @@ namespace amqp { Interconnect::Interconnect(qpid::sys::OutputControl& out, const std::string& id, qpid::broker::Broker& broker, bool saslInUse, bool i, const std::string& n, const std::string& s, const std::string& t, Domain& d, Interconnects& r) - : Connection(out, id, broker, r, saslInUse, std::string()), incoming(i), name(n), source(s), target(t), domain(d), registry(r), headerDiscarded(false), + : Connection(out, id, broker, r, true, std::string()), incoming(i), name(n), source(s), target(t), domain(d), registry(r), headerDiscarded(saslInUse), closeRequested(false), isTransportDeleted(false) {} @@ -62,7 +62,7 @@ size_t Interconnect::encode(char* buffer } else { //The IO 'layer' will write in a protocol header when an //'outgoing' connection is established. However the proton - //potocol engine will also emit one. One needs to be + //protocol engine will also emit one. One needs to be //discarded, here we discard the one the engine emits for //interconnects. headerDiscarded = true; Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp?rev=1485467&r1=1485466&r2=1485467&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/SaslClient.cpp Wed May 22 22:23:48 2013 @@ -36,7 +36,7 @@ namespace amqp { SaslClient::SaslClient(qpid::sys::OutputControl& out_, const std::string& id, boost::shared_ptr c, std::auto_ptr s, const std::string& hostname_, const std::string& mechs, const qpid::sys::SecuritySettings& t) : qpid::amqp::SaslClient(id), out(out_), connection(c), sasl(s), - hostname(hostname_), allowedMechanisms(mechs), transport(t), readHeader(true), writeHeader(true), haveOutput(false), state(NONE) {} + hostname(hostname_), allowedMechanisms(mechs), transport(t), readHeader(true), writeHeader(false), haveOutput(false), state(NONE) {} SaslClient::~SaslClient() { @@ -103,7 +103,8 @@ void SaslClient::mechanisms(const std::s std::stringstream intersection; for (std::vector::const_iterator i = allowed.begin(); i != allowed.end(); ++i) { if (std::find(supported.begin(), supported.end(), *i) != supported.end()) { - intersection << *i << " "; + if (!intersection.str().empty()) intersection << " "; + intersection << *i; } } mechanisms = intersection.str(); @@ -172,7 +173,7 @@ bool SaslClient::isClosed() const } qpid::framing::ProtocolVersion SaslClient::getVersion() const { - return connection->getVersion(); + return qpid::framing::ProtocolVersion(1,0,qpid::framing::ProtocolVersion::SASL); } }}} // namespace qpid::broker::amqp Modified: qpid/trunk/qpid/cpp/src/tests/qpidt URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/qpidt?rev=1485467&r1=1485466&r2=1485467&view=diff ============================================================================== (empty) Propchange: qpid/trunk/qpid/cpp/src/tests/qpidt ------------------------------------------------------------------------------ svn:executable = * --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org For additional commands, e-mail: commits-help@qpid.apache.org