summaryrefslogtreecommitdiffstats
path: root/src/plugins/messageservices/imap/imapprotocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/messageservices/imap/imapprotocol.cpp')
-rw-r--r--src/plugins/messageservices/imap/imapprotocol.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/plugins/messageservices/imap/imapprotocol.cpp b/src/plugins/messageservices/imap/imapprotocol.cpp
index b30c1463..b37d990d 100644
--- a/src/plugins/messageservices/imap/imapprotocol.cpp
+++ b/src/plugins/messageservices/imap/imapprotocol.cpp
@@ -312,7 +312,7 @@ public:
virtual QString sendCommand(const QString &cmd) { return mProtocol->sendCommand(cmd); }
virtual QString sendCommandLiteral(const QString &cmd, uint length) { return mProtocol->sendCommandLiteral(cmd, length); }
- virtual void sendData(const QString &data) { mProtocol->sendData(data); }
+ virtual void sendData(const QString &data, bool maskDebug = false) { mProtocol->sendData(data, maskDebug); }
virtual void sendDataLiteral(const QString &data, uint length) { mProtocol->sendDataLiteral(data, length); }
ImapProtocol *protocol() { return mProtocol; }
@@ -595,7 +595,7 @@ bool LoginState::continuationResponse(ImapContext *c, const QString &received)
QByteArray response(ImapAuthenticator::getResponse(_config.serviceConfiguration("imap4"), challenge));
if (!response.isEmpty()) {
- c->sendData(response.toBase64());
+ c->sendData(response.toBase64(), true);
}
return false;
@@ -3373,18 +3373,26 @@ void ImapProtocol::errorHandling(int status, QString msg)
emit connectionError(status, msg);
}
-void ImapProtocol::sendData(const QString &cmd)
+void ImapProtocol::sendData(const QString &cmd, bool maskDebug)
{
QByteArray output(cmd.toLatin1());
output.append("\r\n");
_transport->imapWrite(&output);
- QString logCmd(cmd);
- QRegExp loginExp("^[^\\s]+\\sLOGIN\\s[^\\s]+\\s");
- if (loginExp.indexIn(cmd) != -1) {
- logCmd = cmd.left(loginExp.matchedLength()) + "<password hidden>";
- }
- qMailLog(IMAP) << objectName() << (compress() ? "SENDC:" : "SEND") << qPrintable(logCmd);
+ if (maskDebug) {
+ qMailLog(IMAP) << objectName() << (compress() ? "SENDC:" : "SEND") << "SEND: <login hidden>";
+ } else {
+ QString logCmd(cmd);
+ QRegExp authExp("^[^\\s]+\\sAUTHENTICATE\\s[^\\s]+\\s");
+ if (authExp.indexIn(cmd) != -1) {
+ logCmd = cmd.left(authExp.matchedLength()) + "<password hidden>";
+ } else {
+ QRegExp loginExp("^[^\\s]+\\sLOGIN\\s[^\\s]+\\s");
+ if (loginExp.indexIn(cmd) != -1) {
+ logCmd = cmd.left(loginExp.matchedLength()) + "<password hidden>";
+ }
+ }
+ qMailLog(IMAP) << objectName() << (compress() ? "SENDC:" : "SEND") << qPrintable(logCmd);}
}
void ImapProtocol::sendDataLiteral(const QString &cmd, uint length)