diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-11-22 16:46:37 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-11-22 16:54:51 (GMT) | 
| commit | 497dd9b099e5810057ebcd8a3f6755819cfecdef (patch) | |
| tree | a65ecc29c3f86d2ed6b6050d4650708abceafa3d /Swiften/Client/ClientSession.cpp | |
| parent | d9ca66fa828e99ec5b4067d954c97d882b9ab8fe (diff) | |
| download | swift-contrib-497dd9b099e5810057ebcd8a3f6755819cfecdef.zip swift-contrib-497dd9b099e5810057ebcd8a3f6755819cfecdef.tar.bz2  | |
Added auth success value support.
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
| -rw-r--r-- | Swiften/Client/ClientSession.cpp | 18 | 
1 files changed, 11 insertions, 7 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp index fb80754..960af70 100644 --- a/Swiften/Client/ClientSession.cpp +++ b/Swiften/Client/ClientSession.cpp @@ -130,14 +130,18 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {  			finishSession(Error::AuthenticationFailedError);  		}  	} -	else if (dynamic_cast<AuthSuccess*>(element.get())) { -		// TODO: Check success data with authenticator +	else if (AuthSuccess* authSuccess = dynamic_cast<AuthSuccess*>(element.get())) {  		checkState(Authenticating); -		state = WaitingForStreamStart; -		delete authenticator; -		authenticator = NULL; -		stream->resetXMPPParser(); -		sendStreamHeader(); +		if (!authenticator->setChallenge(authSuccess->getValue())) { +			finishSession(Error::ServerVerificationFailedError); +		} +		else { +			state = WaitingForStreamStart; +			delete authenticator; +			authenticator = NULL; +			stream->resetXMPPParser(); +			sendStreamHeader(); +		}  	}  	else if (dynamic_cast<AuthFailure*>(element.get())) {  		delete authenticator;  | 
 Swift