diff options
Diffstat (limited to 'Swiften/SASL/DIGESTMD5ClientAuthenticator.h')
-rw-r--r-- | Swiften/SASL/DIGESTMD5ClientAuthenticator.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Swiften/SASL/DIGESTMD5ClientAuthenticator.h b/Swiften/SASL/DIGESTMD5ClientAuthenticator.h new file mode 100644 index 0000000..e360257 --- /dev/null +++ b/Swiften/SASL/DIGESTMD5ClientAuthenticator.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <map> + +#include "Swiften/Base/String.h" +#include "Swiften/Base/ByteArray.h" +#include "Swiften/SASL/ClientAuthenticator.h" +#include "Swiften/SASL/DIGESTMD5Properties.h" + +namespace Swift { + class DIGESTMD5ClientAuthenticator : public ClientAuthenticator { + public: + DIGESTMD5ClientAuthenticator(const String& host, const String& nonce); + + virtual ByteArray getResponse() const; + virtual bool setChallenge(const ByteArray&); + + private: + enum Step { + Initial, + Response, + Final, + } step; + String host; + String cnonce; + DIGESTMD5Properties challenge; + }; +} |