From 35447bd04e8c12afac524e1c4556ef3db088e014 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Fri, 12 Nov 2021 13:09:22 +0100 Subject: [PATCH] Fix POP3 setup wizard defaults to unencrypted connections. Now I check encrypt support when I create resource. So if resource support starttls it will set option for it. BUG: 423426 FIXED-IN: 5.19.0 --- resources/pop3/wizard/pop3wizard.es | 73 ++++++++++++++++++++++++----- 1 file changed, 61 insertions(+), 12 deletions(-) diff --git a/resources/pop3/wizard/pop3wizard.es b/resources/pop3/wizard/pop3wizard.es index 5864db5d2..6bcf9a1dd 100644 --- a/resources/pop3/wizard/pop3wizard.es +++ b/resources/pop3/wizard/pop3wizard.es @@ -1,5 +1,5 @@ /* - SPDX-FileCopyrightText: 2009 Montel Laurent + SPDX-FileCopyrightText: 2009-2021 Montel Laurent SPDX-License-Identifier: LGPL-2.0-or-later */ @@ -30,21 +30,70 @@ function validateInput() } } +var stage = 1; + function setup() { - var pop3Res = SetupManager.createResource( "akonadi_pop3_resource" ); - pop3Res.setOption( "Host", page.widget().incommingAddress.text.trim() ); - pop3Res.setOption( "Login", page.widget().userName.text.trim() ); - pop3Res.setOption( "Password", SetupManager.password() ); + if ( stage == 1 ) { + ServerTest.test( page.widget().incommingAddress.text.trim(), "pop" ); + } else { + ServerTest.test( page.widget().outgoingAddress.text.trim(), "smtp" ); + } +} + +function testResultFail() +{ + testOk( -1 ); +} - var smtp = SetupManager.createTransport( "smtp" ); - smtp.setName( SetupManager.name() ); - smtp.setHost( page.widget().outgoingAddress.text.trim() ); - smtp.setEncryption( "SSL" ); +function testOk( arg ) +{ + if (stage == 1) { + SetupManager.openWallet(); + var pop3Res = SetupManager.createResource( "akonadi_pop3_resource" ); + var server = page.widget().incommingAddress.text.trim(); + pop3Res.setOption( "Host", server ); + pop3Res.setOption( "Login", page.widget().userName.text.trim() ); + pop3Res.setOption( "Password", SetupManager.password() ); + + if ( arg == "ssl" ) { + pop3Res.setOption( "Port", 995 ); + pop3Res.setOption( "UseTLS", true ); + } else if ( arg == "tls" ) { // tls is really STARTTLS + pop3Res.setOption( "Port", 110 ); + pop3Res.setOption( "UseTLS", true ); + } else if ( arg == "none" ) { + pop3Res.setOption( "Port", 110 ); + } else { + pop3Res.setOption( "Port", 110 ); + } + + stage = 2; + setup(); + } else { + var smtp = SetupManager.createTransport( "smtp" ); + smtp.setName( page.widget().outgoingAddress.text.trim() ); + smtp.setHost( page.widget().outgoingAddress.text.trim() ); + if ( arg == "ssl" ) { + smtp.setEncryption( "SSL" ); + } else if ( arg == "tls" ) { + smtp.setEncryption( "TLS" ); + } else { + smtp.setEncryption( "None" ); + } + smtp.setUsername( page.widget().userName.text ); + smtp.setPassword( SetupManager.password() ); + SetupManager.execute(); + } +} - SetupManager.execute(); +try { + ServerTest.testFail.connect( testResultFail ); + ServerTest.testResult.connect( testOk ); + page.widget().incommingAddress.textChanged.connect( validateInput ); + page.pageLeftNext.connect( setup ); +} catch ( e ) { + print( e ); } -page.widget().incommingAddress.textChanged.connect( serverChanged ); -page.pageLeftNext.connect( setup ); validateInput(); -- GitLab