File r893121.diff of Package kdepimlibs4
Subject: fix sending mail fails due to spurious newline in server name configuration
From: wstephenson@suse.de
Bug: kde#175892
Patch-upstream: 893121
--- mailtransport/transportconfigdialog.cpp (revision 893120)
+++ mailtransport/transportconfigdialog.cpp (revision 893121)
@@ -216,7 +216,7 @@ void TransportConfigDialog::checkSmtpCap
d->serverTest = new ServerTest( this );
d->serverTest->setProtocol( SMTP_PROTOCOL );
- d->serverTest->setServer( d->smtp.kcfg_host->text() );
+ d->serverTest->setServer( d->smtp.kcfg_host->text().trimmed() );
if ( d->smtp.kcfg_specifyHostname->isChecked() ) {
d->serverTest->setFakeHostname( d->smtp.kcfg_localHostname->text() );
}
@@ -336,6 +336,17 @@ void TransportConfigDialog::slotFinished
void TransportConfigDialog::hostNameChanged( const QString &text )
{
+ // sanitize hostname...
+ if ( d->transport->type() == Transport::EnumType::Sendmail ) {
+ d->sendmail.kcfg_host->blockSignals( true );
+ d->sendmail.kcfg_host->setText( text.trimmed() );
+ d->sendmail.kcfg_host->blockSignals( false );
+ } else if ( d->transport->type() == Transport::EnumType::SMTP ) {
+ d->smtp.kcfg_host->blockSignals( true );
+ d->smtp.kcfg_host->setText( text.trimmed() );
+ d->smtp.kcfg_host->blockSignals( false );
+ }
+
d->resetAuthCapabilities();
enableButton( Ok, !text.isEmpty() );
for ( int i = 0; d->encryptionGroup && i < d->encryptionGroup->buttons().count(); i++ ) {
--- mailtransport/transport.cpp (revision 893120)
+++ mailtransport/transport.cpp (revision 893121)
@@ -116,6 +116,9 @@ QString Transport::authenticationTypeStr
void Transport::usrReadConfig()
{
TransportBase::usrReadConfig();
+
+ setHost( host().trimmed() );
+
if ( d->oldName.isEmpty() ) {
d->oldName = name();
}
--- mailtransport/smtpjob.cpp (revision 893120)
+++ mailtransport/smtpjob.cpp (revision 893121)
@@ -127,7 +127,7 @@ void SmtpJob::startSmtpJob()
KUrl destination;
destination.setProtocol( ( transport()->encryption() == Transport::EnumEncryption::SSL ) ?
SMTPS_PROTOCOL : SMTP_PROTOCOL );
- destination.setHost( transport()->host() );
+ destination.setHost( transport()->host().trimmed() );
destination.setPort( transport()->port() );
destination.addQueryItem( QLatin1String( "headers" ), QLatin1String( "0" ) );
Index: mailtransport/transportconfigdialog.cpp
===================================================================
Index: mailtransport/transport.cpp
===================================================================
Index: mailtransport/smtpjob.cpp
===================================================================