summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-05-06 18:00:41 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-05-06 18:00:41 (GMT)
commit4c58e9a2d266c23a2060edd08081bf86ebd1862c (patch)
tree0030a4f3360c9da905165db1feed18997481fee5 /Swiften/Client/ClientSession.cpp
parentc2cf7f0e59c7880a9ce979d8a45d97442c705110 (diff)
downloadswift-4c58e9a2d266c23a2060edd08081bf86ebd1862c.zip
swift-4c58e9a2d266c23a2060edd08081bf86ebd1862c.tar.bz2
Use UUIDs as nonce when authenticating with SCRAM-SHA-1.
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
-rw-r--r--Swiften/Client/ClientSession.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp
index e90d325..7fdb8ac 100644
--- a/Swiften/Client/ClientSession.cpp
+++ b/Swiften/Client/ClientSession.cpp
@@ -7,6 +7,9 @@
#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 "Swiften/Elements/ProtocolHeader.h"
#include "Swiften/Elements/StreamFeatures.h"
@@ -98,7 +101,9 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) {
}
else if (streamFeatures->hasAuthenticationMechanism("SCRAM-SHA-1")) {
// FIXME: Use a real nonce
- authenticator = new SCRAMSHA1ClientAuthenticator("ClientNonce");
+ std::ostringstream s;
+ s << boost::uuids::random_generator()();
+ authenticator = new SCRAMSHA1ClientAuthenticator(s.str());
state = WaitingForCredentials;
onNeedCredentials();
}