Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qauthenticator.h>
#include <qauthenticator_p.h>
#include <qdebug.h>
#include <qloggingcategory.h>
#include <qhash.h>
#include <qbytearray.h>
#include <qcryptographichash.h>
#include <qiodevice.h>
#include <qdatastream.h>
#include <qendian.h>
#include <qstring.h>
#include <qdatetime.h>
#include <qrandom.h>
#include <QtNetwork/qhttpheaders.h>
Go to the source code of this file.
Classes | |
class | QNtlmBuffer |
class | QNtlmPhase1BlockBase |
class | QNtlmPhase2BlockBase |
class | QNtlmPhase3BlockBase |
class | QNtlmPhase1Block |
class | QNtlmPhase2Block |
class | QNtlmPhase3Block |
Macros | |
#define | NTLMSSP_NEGOTIATE_UNICODE 0x00000001 |
#define | NTLMSSP_NEGOTIATE_OEM 0x00000002 |
#define | NTLMSSP_REQUEST_TARGET 0x00000004 |
#define | NTLMSSP_NEGOTIATE_SIGN 0x00000010 |
#define | NTLMSSP_NEGOTIATE_SEAL 0x00000020 |
#define | NTLMSSP_NEGOTIATE_DATAGRAM 0x00000040 |
#define | NTLMSSP_NEGOTIATE_LM_KEY 0x00000080 |
#define | NTLMSSP_NEGOTIATE_NTLM 0x00000200 |
#define | NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x00001000 |
#define | NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x00002000 |
#define | NTLMSSP_NEGOTIATE_LOCAL_CALL 0x00004000 |
#define | NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x00008000 |
#define | NTLMSSP_TARGET_TYPE_DOMAIN 0x00010000 |
#define | NTLMSSP_TARGET_TYPE_SERVER 0x00020000 |
#define | NTLMSSP_TARGET_TYPE_SHARE 0x00040000 |
#define | NTLMSSP_NEGOTIATE_NTLM2 0x00080000 |
#define | NTLMSSP_NEGOTIATE_TARGET_INFO 0x00800000 |
#define | NTLMSSP_NEGOTIATE_128 0x20000000 |
#define | NTLMSSP_NEGOTIATE_KEY_EXCHANGE 0x40000000 |
#define | NTLMSSP_NEGOTIATE_56 0x80000000 |
#define | AVTIMESTAMP 7 |
Variables | |
const int | blockSize = 64 |
const quint8 | respversion = 1 |
const quint8 | hirespversion = 1 |
#define AVTIMESTAMP 7 |
Definition at line 981 of file qauthenticator.cpp.
Referenced by qExtractServerTime().
#define NTLMSSP_NEGOTIATE_128 0x20000000 |
Definition at line 963 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_56 0x80000000 |
Definition at line 976 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x00008000 |
Definition at line 924 of file qauthenticator.cpp.
Referenced by QNtlmPhase1Block::QNtlmPhase1Block(), and qNtlmPhase3().
#define NTLMSSP_NEGOTIATE_DATAGRAM 0x00000040 |
Definition at line 885 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x00001000 |
Definition at line 904 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_KEY_EXCHANGE 0x40000000 |
Definition at line 971 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_LM_KEY 0x00000080 |
Definition at line 891 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_LOCAL_CALL 0x00004000 |
Definition at line 918 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_NTLM 0x00000200 |
Definition at line 896 of file qauthenticator.cpp.
Referenced by QNtlmPhase1Block::QNtlmPhase1Block(), and QNtlmPhase3Block::QNtlmPhase3Block().
#define NTLMSSP_NEGOTIATE_NTLM2 0x00080000 |
Definition at line 951 of file qauthenticator.cpp.
Referenced by QNtlmPhase1Block::QNtlmPhase1Block(), and qNtlmPhase3().
#define NTLMSSP_NEGOTIATE_OEM 0x00000002 |
Definition at line 862 of file qauthenticator.cpp.
Referenced by qNtlmPhase3().
#define NTLMSSP_NEGOTIATE_SEAL 0x00000020 |
Definition at line 880 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_SIGN 0x00000010 |
Definition at line 874 of file qauthenticator.cpp.
#define NTLMSSP_NEGOTIATE_TARGET_INFO 0x00800000 |
Definition at line 958 of file qauthenticator.cpp.
Referenced by QNtlmPhase3Block::QNtlmPhase3Block().
#define NTLMSSP_NEGOTIATE_UNICODE 0x00000001 |
Definition at line 857 of file qauthenticator.cpp.
Referenced by QNtlmPhase1Block::QNtlmPhase1Block(), QNtlmPhase3Block::QNtlmPhase3Block(), operator<<(), operator<<(), and qNtlmPhase3().
#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x00002000 |
Definition at line 911 of file qauthenticator.cpp.
#define NTLMSSP_REQUEST_TARGET 0x00000004 |
Definition at line 868 of file qauthenticator.cpp.
Referenced by QNtlmPhase1Block::QNtlmPhase1Block().
#define NTLMSSP_TARGET_TYPE_DOMAIN 0x00010000 |
Definition at line 930 of file qauthenticator.cpp.
#define NTLMSSP_TARGET_TYPE_SERVER 0x00020000 |
Definition at line 936 of file qauthenticator.cpp.
#define NTLMSSP_TARGET_TYPE_SHARE 0x00040000 |
Definition at line 943 of file qauthenticator.cpp.
|
static |
Definition at line 1333 of file qauthenticator.cpp.
References Q_ASSERT, and QByteArray::right().
Referenced by qEncodeLmv2Response(), and qEncodeNtlmv2Response().
|
static |
Definition at line 651 of file qauthenticator.cpp.
References QLatin1StringView::tokenize().
Referenced by QAuthenticatorPrivate::parseDigestAuthenticationChallenge().
|
static |
Definition at line 734 of file qauthenticator.cpp.
References Qt::CaseInsensitive, hash, QCryptographicHash::Md5, and method.
Referenced by QAuthenticatorPrivate::digestMd5Response().
|
static |
Definition at line 1094 of file qauthenticator.cpp.
|
static |
Definition at line 1151 of file qauthenticator.cpp.
References NTLMSSP_NEGOTIATE_UNICODE, and qStreamNtlmString().
|
static |
Definition at line 1167 of file qauthenticator.cpp.
References NTLMSSP_NEGOTIATE_UNICODE, qStreamNtlmBuffer(), and qStreamNtlmString().
|
static |
Definition at line 1100 of file qauthenticator.cpp.
Q_DECLARE_LOGGING_CATEGORY | ( | lcAuthenticator | ) |
Q_LOGGING_CATEGORY | ( | lcAuthenticator | , |
"qt.network.authenticator" | ) |
|
static |
Definition at line 1310 of file qauthenticator.cpp.
References QCryptographicHash::Md4, Q_ASSERT, qEncodeHmacMd5(), qStringAsUcs2Le(), and QByteArray::size().
Referenced by qEncodeLmv2Response(), and qEncodeNtlmv2Response().
QByteArray qEncodeHmacMd5 | ( | QByteArray & | key, |
QByteArrayView | message ) |
Definition at line 1251 of file qauthenticator.cpp.
References QByteArray::append(), blockSize, hash, i, QCryptographicHash::Md5, and Q_ASSERT_X.
Referenced by qCreatev2Hash(), qEncodeLmv2Response(), and qEncodeNtlmv2Response().
|
static |
Definition at line 1433 of file qauthenticator.cpp.
References ch, clientChallenge(), Q_ASSERT, qCreatev2Hash(), and qEncodeHmacMd5().
Referenced by qNtlmPhase3().
|
static |
Definition at line 1074 of file qauthenticator.cpp.
Referenced by qEncodeNtlmString(), and qNtlmPhase3().
|
static |
Definition at line 1083 of file qauthenticator.cpp.
References qEncodeNtlmBuffer().
Referenced by qNtlmPhase3().
|
static |
Definition at line 1366 of file qauthenticator.cpp.
References ch, clientChallenge(), QByteArray::constData(), QDateTime::currentSecsSinceEpoch(), hirespversion, QDataStream::LittleEndian, Q_ASSERT, Q_UINT64_C, qCreatev2Hash(), qEncodeHmacMd5(), qExtractServerTime(), respversion, QDataStream::setByteOrder(), QByteArray::size(), time, QIODeviceBase::WriteOnly, and QDataStream::writeRawData().
Referenced by qNtlmPhase3().
|
static |
Definition at line 1341 of file qauthenticator.cpp.
References AVTIMESTAMP, QDataStream::LittleEndian, QDataStream::readRawData(), QDataStream::setByteOrder(), and QDataStream::skipRawData().
Referenced by qEncodeNtlmv2Response().
|
static |
Definition at line 1452 of file qauthenticator.cpp.
References ch, QDataStream::LittleEndian, Q_ASSERT, qStringFromUcs2Le(), QDataStream::readRawData(), QDataStream::setByteOrder(), and QNtlmPhase2BlockBase::Size.
Referenced by qNtlmPhase3().
|
static |
Definition at line 1196 of file qauthenticator.cpp.
References QDataStream::LittleEndian, QDataStream::setByteOrder(), and QIODeviceBase::WriteOnly.
Referenced by QAuthenticatorPrivate::calculateResponse().
|
static |
Definition at line 1495 of file qauthenticator.cpp.
References ch, QNtlmPhase3BlockBase::domain, QNtlmPhase3Block::domainStr, QNtlmPhase3BlockBase::flags, QDataStream::LittleEndian, QNtlmPhase3BlockBase::lmResponse, QNtlmPhase3Block::lmResponseBuf, QNtlmPhase3BlockBase::ntlmResponse, QNtlmPhase3Block::ntlmResponseBuf, NTLMSSP_NEGOTIATE_ALWAYS_SIGN, NTLMSSP_NEGOTIATE_NTLM2, NTLMSSP_NEGOTIATE_OEM, NTLMSSP_NEGOTIATE_UNICODE, Q_ASSERT, QByteArray(), qEncodeLmv2Response(), qEncodeNtlmBuffer(), qEncodeNtlmString(), qEncodeNtlmv2Response(), qNtlmDecodePhase2(), QDataStream::setByteOrder(), QNtlmPhase3BlockBase::Size, QNtlmPhase3BlockBase::user, QNtlmPhase3Block::userStr, QNtlmPhase3BlockBase::workstation, QNtlmPhase3Block::workstationStr, and QIODeviceBase::WriteOnly.
Referenced by QAuthenticatorPrivate::calculateResponse().
|
static |
Definition at line 1055 of file qauthenticator.cpp.
References QDataStream::writeRawData().
Referenced by operator<<(), and qStreamNtlmString().
|
static |
Definition at line 1061 of file qauthenticator.cpp.
References ch, and qStreamNtlmBuffer().
Referenced by operator<<(), and operator<<().
|
static |
Definition at line 1207 of file qauthenticator.cpp.
References ch, d, QByteArray::data(), and qToLittleEndian().
Referenced by qCreatev2Hash().
|
static |
Definition at line 1218 of file qauthenticator.cpp.
References d, i, Q_ASSERT, and qFromLittleEndian().
Referenced by qNtlmDecodePhase2().
|
static |
Definition at line 433 of file qauthenticator.cpp.
References Qt::CaseInsensitive, QSet< T >::cend(), QSet< T >::constFind(), QByteArrayView::first(), it, QAuthenticatorPrivate::parseDigestAuthenticationChallenge(), and view.
Referenced by QAuthenticatorPrivate::parseHttpResponse().
const int blockSize = 64 |
Definition at line 986 of file qauthenticator.cpp.
Referenced by allocateHelper(), QRhiImplementation::compressedFormatInfo(), QByteArray::operator>>(), qEncodeHmacMd5(), QDataStream::readBytes(), QGIFFormat::scan(), QMessageAuthenticationCodePrivate::setKey(), and QIODevice::write().
const quint8 hirespversion = 1 |
Definition at line 988 of file qauthenticator.cpp.
Referenced by qEncodeNtlmv2Response().
const quint8 respversion = 1 |
Definition at line 987 of file qauthenticator.cpp.
Referenced by qEncodeNtlmv2Response().