From f5764906d672ba371751462f8cb40e13dbc92ab3 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Tue, 17 Jan 2012 19:26:37 +0100 Subject: [PATCH] Don't print passwords in the xml console. Thanks Elessar for the patch. --- src/sip/jabber/xmlconsole.cpp | 10 ++++++++-- src/sip/jabber/xmlconsole.h | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/sip/jabber/xmlconsole.cpp b/src/sip/jabber/xmlconsole.cpp index e57969fd1..cb1f3c8ea 100644 --- a/src/sip/jabber/xmlconsole.cpp +++ b/src/sip/jabber/xmlconsole.cpp @@ -276,8 +276,14 @@ void XmlConsole::stackProcess(const QByteArray &data, bool incoming) break; case QXmlStreamReader::Characters: token = d->tokens.isEmpty() ? 0 : d->tokens.last(); - if (token && token->type == QXmlStreamReader::StartElement && !token->startTag.empty) - d->tokens << new StackToken(d->reader); + if (token && token->type == QXmlStreamReader::StartElement && !token->startTag.empty) { + if (*token->startTag.name == QLatin1String("auth") + && *token->startTag.xmlns == QLatin1String("urn:ietf:params:xml:ns:xmpp-sasl")) { + d->tokens << new StackToken(QLatin1String("<>")); + } else { + d->tokens << new StackToken(d->reader); + } + } break; default: break; diff --git a/src/sip/jabber/xmlconsole.h b/src/sip/jabber/xmlconsole.h index 6254df941..2cb617b5d 100644 --- a/src/sip/jabber/xmlconsole.h +++ b/src/sip/jabber/xmlconsole.h @@ -110,6 +110,14 @@ private: endTag.name = new QStringRef(endTag.namePointer, tmp.position(), tmp.length()); } } + + StackToken(const QString &name) + { + type = QXmlStreamReader::Characters; + charachters.textPointer = new QString(name); + charachters.text = new QStringRef(charachters.textPointer); + } + ~StackToken() { if (type == QXmlStreamReader::StartElement) {