From: Bas Pape Date: Tue, 25 Sep 2012 06:05:14 +0000 (+0200) Subject: Strip newlines from 'reason' fields in settings X-Git-Tag: 0.9-beta1~42 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=c4f9c122f56d2c58296c6a8663f79d605b033ae2 Strip newlines from 'reason' fields in settings These messages are sent to the server verbatim, which means anything after a newline (which can be pasted into a QLineEdit) would be used as a command. --- diff --git a/src/qtui/settingspages/identityeditwidget.cpp b/src/qtui/settingspages/identityeditwidget.cpp index 38bbd112..27e0609d 100644 --- a/src/qtui/settingspages/identityeditwidget.cpp +++ b/src/qtui/settingspages/identityeditwidget.cpp @@ -134,6 +134,7 @@ void IdentityEditWidget::displayIdentity(CertIdentity *id, CertIdentity *saveId) void IdentityEditWidget::saveToIdentity(CertIdentity *id) { + QRegExp linebreaks = QRegExp("[\\r\\n]"); id->setRealName(ui.realName->text()); QStringList nicks; for (int i = 0; i < ui.nicknameList->count(); i++) { @@ -142,19 +143,19 @@ void IdentityEditWidget::saveToIdentity(CertIdentity *id) id->setNicks(nicks); id->setAwayNick(ui.awayNick->text()); id->setAwayNickEnabled(true); - id->setAwayReason(ui.awayReason->text()); + id->setAwayReason(ui.awayReason->text().remove(linebreaks)); id->setAwayReasonEnabled(true); id->setAutoAwayEnabled(ui.autoAwayEnabled->isChecked()); id->setAutoAwayTime(ui.autoAwayTime->value()); - id->setAutoAwayReason(ui.autoAwayReason->text()); + id->setAutoAwayReason(ui.autoAwayReason->text().remove(linebreaks)); id->setAutoAwayReasonEnabled(ui.autoAwayReasonEnabled->isChecked()); id->setDetachAwayEnabled(ui.detachAwayEnabled->isChecked()); - id->setDetachAwayReason(ui.detachAwayReason->text()); + id->setDetachAwayReason(ui.detachAwayReason->text().remove(linebreaks)); id->setDetachAwayReasonEnabled(true); id->setIdent(ui.ident->text()); - id->setKickReason(ui.kickReason->text()); - id->setPartReason(ui.partReason->text()); - id->setQuitReason(ui.quitReason->text()); + id->setKickReason(ui.kickReason->text().remove(linebreaks)); + id->setPartReason(ui.partReason->text().remove(linebreaks)); + id->setQuitReason(ui.quitReason->text().remove(linebreaks)); #ifdef HAVE_SSL id->setSslKey(QSslKey(ui.keyTypeLabel->property("sslKey").toByteArray(), (QSsl::KeyAlgorithm)(ui.keyTypeLabel->property("sslKeyType").toInt()))); id->setSslCert(QSslCertificate(ui.certOrgLabel->property("sslCert").toByteArray()));