diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-11-27 19:06:47 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-11-27 19:06:47 (GMT) |
| commit | aa09a889108c4d0e3c5888ad98958d8f3e12bd3b (patch) | |
| tree | 3c621ae0a6e2150281be182b37e2837b804adcba /Swiften/Avatars/AvatarManager.cpp | |
| parent | c89ef0ffae597ac8c1063732e1d9a2d84703a80c (diff) | |
| download | swift-aa09a889108c4d0e3c5888ad98958d8f3e12bd3b.zip swift-aa09a889108c4d0e3c5888ad98958d8f3e12bd3b.tar.bz2 | |
Added MD5 hashing algorithm.
Moved 'hexifying' of hashes into its own class, such that it can be
shared between all hashes.
Diffstat (limited to 'Swiften/Avatars/AvatarManager.cpp')
| -rw-r--r-- | Swiften/Avatars/AvatarManager.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Swiften/Avatars/AvatarManager.cpp b/Swiften/Avatars/AvatarManager.cpp index 574e199..599d1d4 100644 --- a/Swiften/Avatars/AvatarManager.cpp +++ b/Swiften/Avatars/AvatarManager.cpp @@ -3,12 +3,13 @@ #include <boost/bind.hpp> #include "Swiften/Client/StanzaChannel.h" #include "Swiften/Elements/VCardUpdate.h" #include "Swiften/Queries/Requests/GetVCardRequest.h" #include "Swiften/StringCodecs/SHA1.h" +#include "Swiften/StringCodecs/Hexify.h" #include "Swiften/Avatars/AvatarStorage.h" #include "Swiften/MUC/MUCRegistry.h" namespace Swift { AvatarManager::AvatarManager(StanzaChannel* stanzaChannel, IQRouter* iqRouter, AvatarStorage* avatarStorage, MUCRegistry* mucRegistry) : stanzaChannel_(stanzaChannel), iqRouter_(iqRouter), avatarStorage_(avatarStorage), mucRegistry_(mucRegistry) { @@ -38,22 +39,22 @@ void AvatarManager::handlePresenceReceived(boost::shared_ptr<Presence> presence) void AvatarManager::handleVCardReceived(const JID& from, const String& promisedHash, boost::shared_ptr<VCard> vCard, const boost::optional<ErrorPayload>& error) { if (error) { // FIXME: What to do here? std::cerr << "Warning: " << from << ": Could not get vCard" << std::endl; return; } - String realHash = SHA1::getHexHash(vCard->getPhoto()); + String realHash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); if (promisedHash != realHash) { std::cerr << "Warning: " << from << ": Got different vCard photo hash (" << promisedHash << " != " << realHash << ")" << std::endl; } avatarStorage_->addAvatar(realHash, vCard->getPhoto()); setAvatarHash(from, realHash); } void AvatarManager::setAvatar(const JID& jid, const ByteArray& avatar) { - String hash = SHA1::getHexHash(avatar); + String hash = Hexify::hexify(SHA1::getHash(avatar)); avatarStorage_->addAvatar(hash, avatar); setAvatarHash(getAvatarJID(jid), hash); } void AvatarManager::setAvatarHash(const JID& from, const String& hash) { avatarHashes_[from] = hash; |
Swift