blob: 1667826f9d71b3c6450eda505487d8bc7bdf8272 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/*
* Copyright (C) 2008-2010 The QXmpp developers
*
* Authors:
* Manjeet Dahiya
* Jeremy Lainé
*
* Source:
* http://code.google.com/p/qxmpp
*
* This file is a part of QXmpp library.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*/
#ifndef QXMPPSASLAUTH_H
#define QXMPPSASLAUTH_H
#include <QByteArray>
#include <QMap>
class QXmppSaslDigestMd5
{
public:
QByteArray authzid() const;
void setAuthzid(const QByteArray &cnonce);
QByteArray cnonce() const;
void setCnonce(const QByteArray &cnonce);
QByteArray digestUri() const;
void setDigestUri(const QByteArray &digestUri);
QByteArray nc() const;
void setNc(const QByteArray &nc);
QByteArray nonce() const;
void setNonce(const QByteArray &nonce);
QByteArray realm() const;
void setRealm(const QByteArray &realm);
QByteArray username() const;
void setUsername(const QByteArray &username);
void setPassword(const QByteArray &password);
QByteArray calculateDigest(const QByteArray &a2) const;
static QByteArray generateNonce();
// message parsing and serialization
static QMap<QByteArray, QByteArray> parseMessage(const QByteArray &ba);
static QByteArray serializeMessage(const QMap<QByteArray, QByteArray> &map);
private:
QByteArray m_authzid;
QByteArray m_cnonce;
QByteArray m_digestUri;
QByteArray m_nc;
QByteArray m_nonce;
QByteArray m_realm;
QByteArray m_username;
QByteArray m_password;
};
#endif
|