MailTransport
servertest.cpp
68 bool handlePopConversation(MailTransport::Socket *socket, int type, int stage, const QString &response, bool *shouldStartTLS);
69 bool handleNntpConversation(MailTransport::Socket *socket, int type, int *stage, const QString &response, bool *shouldStartTLS);
74 return server.endsWith(QLatin1String("gmail.com")) || server.endsWith(QLatin1String("googlemail.com"));
126 for (QStringList::ConstIterator it = authentications.begin(); it != authentications.end(); ++it) {
173 protocols << QStringLiteral("LOGIN") << QStringLiteral("PLAIN") << QStringLiteral("CRAM-MD5") << QStringLiteral("DIGEST-MD5") << QStringLiteral("NTLM")
190 qCDebug(MAILTRANSPORT_LOG) << "For type" << type << ", we have:" << authenticationResults[type];
232 bool ServerTestPrivate::handlePopConversation(MailTransport::Socket *socket, int type, int stage, const QString &response, bool *shouldStartTLS)
240 static const QRegularExpression re(QStringLiteral("<[A-Za-z0-9\\.\\-_][email protected][A-Za-z0-9\\.\\-_]+>$"), QRegularExpression::CaseInsensitiveOption);
251 && authenticationResults[Transport::EnumEncryption::None].contains(Transport::EnumAuthenticationType::APOP)) {
252 authenticationResults[Transport::EnumEncryption::TLS] << Transport::EnumAuthenticationType::APOP;
299 formattedReply = formattedReply.right(formattedReply.size() - formattedReply.indexOf(QLatin1Char('\n')) - 1);
300 formattedReply = formattedReply.replace(QLatin1Char(' '), QLatin1Char('-')).replace(QLatin1String("\r\n"), QLatin1String(" "));
309 bool ServerTestPrivate::handleNntpConversation(MailTransport::Socket *socket, int type, int *stage, const QString &response, bool *shouldStartTLS)
347 const QVector<QStringView> lines = QStringView(response).split(QStringLiteral("\r\n"), Qt::SkipEmptyParts);
350 const QVector<QStringRef> lines = response.splitRef(QStringLiteral("\r\n"), Qt::SkipEmptyParts);
359 const QVector<QStringView> authinfos = QStringView(line).split(QLatin1Char(' '), Qt::SkipEmptyParts);
418 if (handleNntpConversation(normalSocket, encryptionMode, &normalStage, text, &shouldStartTLS)) {
468 if (handlePopConversation(secureSocket, Transport::EnumEncryption::SSL, secureStage, text, &dummy)) {
473 if (handleNntpConversation(secureSocket, Transport::EnumEncryption::SSL, &secureStage, text, &dummy)) {
632 Q_ASSERT(encryptionMode == Transport::EnumEncryption::None || encryptionMode == Transport::EnumEncryption::SSL);
void append(const T &value)
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
bool isNull() const const
void setFakeHostname(const QString &fakeHostname)
Sets a fake hostname for the test.
Definition: servertest.cpp:615
QString toUpper() const const
void finished(const QVector< int > &)
This will be emitted when the test is done.
int size() const const
CaseInsensitive
bool isNormalPossible() const
tells you if the normal server is available
Definition: servertest.cpp:677
Type type(const QSqlDatabase &db)
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
int count(const T &value) const const
void ref()
void append(const T &value)
QString chopped(int len) const const
void chop(int n)
virtual void reconnect()
Existing connection will be closed and a new connection will be made.
Definition: socket.cpp:129
int size() const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void hide()
void setPort(Transport::EnumEncryption::type encryptionMode, uint port)
Set a custom port to use.
Definition: servertest.cpp:630
KGuiItem test()
void start(int msec)
int port(Transport::EnumEncryption::type encryptionMode) const
Definition: servertest.cpp:657
QVector< int > tlsProtocols() const
Get the protocols for the TLS connections.
Definition: servertest.cpp:682
NETWORKMANAGERQT_EXPORT QString hostname()
Definition: socket.h:25
SkipEmptyParts
QList< T > mid(int pos, int length) const const
bool isEmpty() const const
void setProtocol(const QString &protocol)
Sets protocol the protocol to test, currently supported are "smtp", "pop", "imap",...
Definition: servertest.cpp:641
QVector< QStringRef > splitRef(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
const T & at(int i) const const
Definition: servertest.h:29
bool contains(const T &value) const const
QList< Capability > capabilities() const
Get the special capabilities of the server.
Definition: servertest.cpp:697
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
void reserve(int size)
CaseInsensitiveOption
QString & replace(int position, int n, QChar after)
int removeAll(const T &t)
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
typedef ConstIterator
QVector< int > normalProtocols() const
Get the protocols for the normal connections.
Definition: servertest.cpp:672
QString localHostName()
QString right(int n) const const
void stop()
QList::iterator begin()
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
void setValue(int value)
QList::iterator end()
QVector< int > secureProtocols() const
Get the protocols for the SSL connections.
Definition: servertest.cpp:687
QChar fromLatin1(char c)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 03:58:25 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 03:58:25 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.