diff options
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
| -rw-r--r-- | Swiften/Client/ClientSession.cpp | 67 | 
1 files changed, 35 insertions, 32 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp index e1c1d8e..da81ce4 100644 --- a/Swiften/Client/ClientSession.cpp +++ b/Swiften/Client/ClientSession.cpp @@ -4,41 +4,42 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#include "Swiften/Client/ClientSession.h" +#include <Swiften/Client/ClientSession.h>  #include <boost/bind.hpp>  #include <boost/uuid/uuid.hpp>  #include <boost/uuid/uuid_io.hpp>  #include <boost/uuid/uuid_generators.hpp> +#include <boost/smart_ptr/make_shared.hpp> -#include "Swiften/Elements/ProtocolHeader.h" -#include "Swiften/Elements/StreamFeatures.h" -#include "Swiften/Elements/StreamError.h" -#include "Swiften/Elements/StartTLSRequest.h" -#include "Swiften/Elements/StartTLSFailure.h" -#include "Swiften/Elements/TLSProceed.h" -#include "Swiften/Elements/AuthRequest.h" -#include "Swiften/Elements/AuthSuccess.h" -#include "Swiften/Elements/AuthFailure.h" -#include "Swiften/Elements/AuthChallenge.h" -#include "Swiften/Elements/AuthResponse.h" -#include "Swiften/Elements/Compressed.h" -#include "Swiften/Elements/CompressFailure.h" -#include "Swiften/Elements/CompressRequest.h" -#include "Swiften/Elements/EnableStreamManagement.h" -#include "Swiften/Elements/StreamManagementEnabled.h" -#include "Swiften/Elements/StreamManagementFailed.h" -#include "Swiften/Elements/StartSession.h" -#include "Swiften/Elements/StanzaAck.h" -#include "Swiften/Elements/StanzaAckRequest.h" -#include "Swiften/Elements/IQ.h" -#include "Swiften/Elements/ResourceBind.h" -#include "Swiften/SASL/PLAINClientAuthenticator.h" -#include "Swiften/SASL/SCRAMSHA1ClientAuthenticator.h" -#include "Swiften/SASL/DIGESTMD5ClientAuthenticator.h" -#include "Swiften/Session/SessionStream.h" -#include "Swiften/TLS/CertificateTrustChecker.h" -#include "Swiften/TLS/ServerIdentityVerifier.h" +#include <Swiften/Elements/ProtocolHeader.h> +#include <Swiften/Elements/StreamFeatures.h> +#include <Swiften/Elements/StreamError.h> +#include <Swiften/Elements/StartTLSRequest.h> +#include <Swiften/Elements/StartTLSFailure.h> +#include <Swiften/Elements/TLSProceed.h> +#include <Swiften/Elements/AuthRequest.h> +#include <Swiften/Elements/AuthSuccess.h> +#include <Swiften/Elements/AuthFailure.h> +#include <Swiften/Elements/AuthChallenge.h> +#include <Swiften/Elements/AuthResponse.h> +#include <Swiften/Elements/Compressed.h> +#include <Swiften/Elements/CompressFailure.h> +#include <Swiften/Elements/CompressRequest.h> +#include <Swiften/Elements/EnableStreamManagement.h> +#include <Swiften/Elements/StreamManagementEnabled.h> +#include <Swiften/Elements/StreamManagementFailed.h> +#include <Swiften/Elements/StartSession.h> +#include <Swiften/Elements/StanzaAck.h> +#include <Swiften/Elements/StanzaAckRequest.h> +#include <Swiften/Elements/IQ.h> +#include <Swiften/Elements/ResourceBind.h> +#include <Swiften/SASL/PLAINClientAuthenticator.h> +#include <Swiften/SASL/SCRAMSHA1ClientAuthenticator.h> +#include <Swiften/SASL/DIGESTMD5ClientAuthenticator.h> +#include <Swiften/Session/SessionStream.h> +#include <Swiften/TLS/CertificateTrustChecker.h> +#include <Swiften/TLS/ServerIdentityVerifier.h>  namespace Swift { @@ -54,6 +55,7 @@ ClientSession::ClientSession(  			needSessionStart(false),  			needResourceBind(false),  			needAcking(false), +			rosterVersioningSupported(false),  			authenticator(NULL),  			certificateTrustChecker(NULL) {  } @@ -183,7 +185,7 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  			if (stream->hasTLSCertificate()) {  				if (streamFeatures->hasAuthenticationMechanism("EXTERNAL")) {  					state = Authenticating; -					stream->writeElement(boost::shared_ptr<Element>(new AuthRequest("EXTERNAL", ""))); +					stream->writeElement(boost::make_shared<AuthRequest>("EXTERNAL", createByteArray("")));  				}  				else {  					finishSession(Error::TLSClientCertificateError); @@ -191,7 +193,7 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  			}  			else if (streamFeatures->hasAuthenticationMechanism("EXTERNAL")) {  				state = Authenticating; -				stream->writeElement(boost::shared_ptr<Element>(new AuthRequest("EXTERNAL", ""))); +				stream->writeElement(boost::make_shared<AuthRequest>("EXTERNAL", createByteArray("")));  			}  			else if (streamFeatures->hasAuthenticationMechanism("SCRAM-SHA-1") || streamFeatures->hasAuthenticationMechanism("SCRAM-SHA-1-PLUS")) {  				std::ostringstream s; @@ -223,6 +225,7 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  		}  		else {  			// Start the session +			rosterVersioningSupported = streamFeatures->hasRosterVersioning();  			stream->setWhitespacePingEnabled(true);  			needSessionStart = streamFeatures->hasSession();  			needResourceBind = streamFeatures->hasResourceBind(); @@ -263,7 +266,7 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  		checkState(Authenticating);  		assert(authenticator);  		if (authenticator->setChallenge(challenge->getValue())) { -			stream->writeElement(boost::shared_ptr<AuthResponse>(new AuthResponse(authenticator->getResponse()))); +			stream->writeElement(boost::make_shared<AuthResponse>(authenticator->getResponse()));  		}  		else {  			finishSession(Error::AuthenticationFailedError);  | 
 Swift