Hello community,

here is the log from the commit of package ksmtp for openSUSE:Factory checked 
in at 2019-12-13 12:03:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ksmtp (Old)
 and      /work/SRC/openSUSE:Factory/.ksmtp.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ksmtp"

Fri Dec 13 12:03:11 2019 rev:27 rq:756284 version:19.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ksmtp/ksmtp.changes      2019-11-12 
11:38:58.062318678 +0100
+++ /work/SRC/openSUSE:Factory/.ksmtp.new.4691/ksmtp.changes    2019-12-13 
12:04:04.513408954 +0100
@@ -1,0 +2,31 @@
+Tue Dec 10 06:38:54 UTC 2019 - Luca Beltrame <[email protected]>
+
+- Update to 19.12.0
+  * New feature release
+  * For more details please see:
+  * https://www.kde.org/announcements/releases/19.12.0
+- No code change since 19.11.90
+
+-------------------------------------------------------------------
+Sat Nov 30 09:12:14 UTC 2019 - Luca Beltrame <[email protected]>
+
+- Update to 19.11.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/releases/19.12-rc
+- No code change since 19.11.80
+
+-------------------------------------------------------------------
+Sun Nov 24 13:29:47 UTC 2019 - Luca Beltrame <[email protected]>
+
+- Update to 19.11.80
+  * New feature release
+- Changes since 19.08.3:
+  * Use non-deprecated headers
+  * Port away from KTcpSocket to QSslSocket
+  * Fix SMTP login example to actually handle SSL errors
+  * Add dummy API docs, so these classes show up on api.kde.org
+  * Specify framework type for api.kde.org
+- Remove obsolete version requirements
+
+-------------------------------------------------------------------

Old:
----
  ksmtp-19.08.3.tar.xz
  ksmtp-19.08.3.tar.xz.sig

New:
----
  ksmtp-19.12.0.tar.xz
  ksmtp-19.12.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ksmtp.spec ++++++
--- /var/tmp/diff_new_pack.iFEC12/_old  2019-12-13 12:04:04.913408802 +0100
+++ /var/tmp/diff_new_pack.iFEC12/_new  2019-12-13 12:04:04.917408801 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ksmtp
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,27 +18,26 @@
 
 %bcond_without lang
 Name:           ksmtp
-Version:        19.08.3
+Version:        19.12.0
 Release:        0
 Summary:        Job-based library to send email through an SMTP server
 License:        LGPL-2.1-or-later
 Group:          System/GUI/KDE
 URL:            https://www.kde.org
-Source:         
https://download.kde.org/stable/applications/%{version}/src/%{name}-%{version}.tar.xz
+Source:         
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
 %if %{with lang}
-Source1:        
https://download.kde.org/stable/applications/%{version}/src/%{name}-%{version}.tar.xz.sig
+Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
 Source2:        applications.keyring
 %endif
 BuildRequires:  cyrus-sasl-devel
 BuildRequires:  extra-cmake-modules >= 1.0.0
-BuildRequires:  kcoreaddons-devel
 BuildRequires:  kf5-filesystem
-BuildRequires:  ki18n-devel
-BuildRequires:  kio-devel
-BuildRequires:  pkgconfig
+BuildRequires:  cmake(KF5CoreAddons)
+BuildRequires:  cmake(KF5I18n)
+BuildRequires:  cmake(KF5KIO)
 BuildRequires:  cmake(Qt5LinguistTools)
-BuildRequires:  pkgconfig(Qt5Network) >= 5.7.0
-BuildRequires:  pkgconfig(Qt5Test) >= 5.7.0
+BuildRequires:  cmake(Qt5Network)
+BuildRequires:  cmake(Qt5Test)
 Recommends:     %{name}-lang
 
 %description
@@ -57,11 +56,11 @@
 %package devel
 Summary:        Development files for KSMTP
 Group:          Development/Libraries/KDE
-Requires:       kcoreaddons-devel
-Requires:       ki18n-devel
-Requires:       kio-devel
-Requires:       kmime-devel
 Requires:       libKPimSMTP5 = %{version}
+Requires:       cmake(KF5CoreAddons)
+Requires:       cmake(KF5I18n)
+Requires:       cmake(KF5KIO)
+Requires:       cmake(KF5Mime)
 
 %description devel
 This package contains all necessary include files and libraries needed

++++++ applications.keyring ++++++
Binary files /var/tmp/diff_new_pack.iFEC12/_old and 
/var/tmp/diff_new_pack.iFEC12/_new differ

++++++ ksmtp-19.08.3.tar.xz -> ksmtp-19.12.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/CMakeLists.txt 
new/ksmtp-19.12.0/CMakeLists.txt
--- old/ksmtp-19.08.3/CMakeLists.txt    2019-11-05 05:19:24.000000000 +0100
+++ new/ksmtp-19.12.0/CMakeLists.txt    2019-12-06 02:59:19.000000000 +0100
@@ -1,10 +1,12 @@
 cmake_minimum_required(VERSION 3.5)
-set(PIM_VERSION "5.12.3")
+set(PIM_VERSION "5.13.0")
 
 project(KSMTP VERSION ${PIM_VERSION})
 
+set(CMAKE_CXX_STANDARD 14)
+
 # ECM setup
-set(KF5_MIN_VERSION "5.60.0")
+set(KF5_MIN_VERSION "5.63.0")
 
 find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
@@ -52,7 +54,11 @@
 )
 
 add_definitions(-DTRANSLATION_DOMAIN=\"libksmtp5\")
-add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000)
+if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
+   add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00)
+   add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054000)
+endif()
+
 add_definitions(-DQT_NO_FOREACH)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/metainfo.yaml 
new/ksmtp-19.12.0/metainfo.yaml
--- old/ksmtp-19.08.3/metainfo.yaml     2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/metainfo.yaml     2019-11-30 09:48:31.000000000 +0100
@@ -2,6 +2,7 @@
 description: SMTP library
 public_lib: true
 group: kdepim
+type: functional
 platforms:
     - name: Linux
 irc: kontact
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ar/libksmtp5.po 
new/ksmtp-19.12.0/po/ar/libksmtp5.po
--- old/ksmtp-19.08.3/po/ar/libksmtp5.po        2019-11-05 05:19:23.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ar/libksmtp5.po        2019-12-06 02:59:16.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-01-28 15:07+0300\n"
 "Last-Translator: Safa Alfulaij <[email protected]>\n"
 "Language-Team: Arabic <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/bs/libksmtp5.po 
new/ksmtp-19.12.0/po/bs/libksmtp5.po
--- old/ksmtp-19.08.3/po/bs/libksmtp5.po        2019-11-05 05:19:23.000000000 
+0100
+++ new/ksmtp-19.12.0/po/bs/libksmtp5.po        2019-12-06 02:59:16.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: kde 49i410\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2015-02-16 11:55+0000\n"
 "Last-Translator: Samir Ribić <Unknown>\n"
 "Language-Team: Bosnian\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ca/libksmtp5.po 
new/ksmtp-19.12.0/po/ca/libksmtp5.po
--- old/ksmtp-19.08.3/po/ca/libksmtp5.po        2019-11-05 05:19:23.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ca/libksmtp5.po        2019-12-06 02:59:16.000000000 
+0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-16 10:58+0100\n"
 "Last-Translator: Josep Ma. Ferrer <[email protected]>\n"
 "Language-Team: Catalan <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ca@valencia/libksmtp5.po 
new/ksmtp-19.12.0/po/ca@valencia/libksmtp5.po
--- old/ksmtp-19.08.3/po/ca@valencia/libksmtp5.po       2019-11-05 
05:19:23.000000000 +0100
+++ new/ksmtp-19.12.0/po/ca@valencia/libksmtp5.po       2019-12-06 
02:59:16.000000000 +0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-16 10:58+0100\n"
 "Last-Translator: Josep Ma. Ferrer <[email protected]>\n"
 "Language-Team: Catalan <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/cs/libksmtp5.po 
new/ksmtp-19.12.0/po/cs/libksmtp5.po
--- old/ksmtp-19.08.3/po/cs/libksmtp5.po        2019-11-05 05:19:23.000000000 
+0100
+++ new/ksmtp-19.12.0/po/cs/libksmtp5.po        2019-12-06 02:59:16.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2019-09-10 11:34+0200\n"
 "Last-Translator: Vit Pelcak <[email protected]>\n"
 "Language-Team: Czech <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/de/libksmtp5.po 
new/ksmtp-19.12.0/po/de/libksmtp5.po
--- old/ksmtp-19.08.3/po/de/libksmtp5.po        2019-11-05 05:19:23.000000000 
+0100
+++ new/ksmtp-19.12.0/po/de/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -4,7 +4,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-11-20 08:34+0100\n"
 "Last-Translator: Burkhard Lück <[email protected]>\n"
 "Language-Team: German <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/en_GB/libksmtp5.po 
new/ksmtp-19.12.0/po/en_GB/libksmtp5.po
--- old/ksmtp-19.08.3/po/en_GB/libksmtp5.po     2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/en_GB/libksmtp5.po     2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-10-27 17:55+0100\n"
 "Last-Translator: Steve Allewell <[email protected]>\n"
 "Language-Team: British English <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/es/libksmtp5.po 
new/ksmtp-19.12.0/po/es/libksmtp5.po
--- old/ksmtp-19.08.3/po/es/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/es/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-10-08 22:35+0100\n"
 "Last-Translator: Javier Vinal <[email protected]>\n"
 "Language-Team: Spanish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/et/libksmtp5.po 
new/ksmtp-19.12.0/po/et/libksmtp5.po
--- old/ksmtp-19.08.3/po/et/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/et/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-06-24 05:22+0300\n"
 "Last-Translator: Marek Laane <[email protected]>\n"
 "Language-Team: Estonian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/fi/libksmtp5.po 
new/ksmtp-19.12.0/po/fi/libksmtp5.po
--- old/ksmtp-19.08.3/po/fi/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/fi/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-11-21 17:23+0200\n"
 "Last-Translator: Tommi Nieminen <[email protected]>\n"
 "Language-Team: Finnish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/fr/libksmtp5.po 
new/ksmtp-19.12.0/po/fr/libksmtp5.po
--- old/ksmtp-19.08.3/po/fr/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/fr/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-17 15:32+0800\n"
 "Last-Translator: Simon Depiets <[email protected]>\n"
 "Language-Team: French <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ga/libksmtp5.po 
new/ksmtp-19.12.0/po/ga/libksmtp5.po
--- old/ksmtp-19.08.3/po/ga/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ga/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-12-28 12:28-0500\n"
 "Last-Translator: Kevin Scannell <[email protected]>\n"
 "Language-Team: Irish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/gl/libksmtp5.po 
new/ksmtp-19.12.0/po/gl/libksmtp5.po
--- old/ksmtp-19.08.3/po/gl/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/gl/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-10-21 18:58+0100\n"
 "Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
 "Language-Team: Galician <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/hu/libksmtp5.po 
new/ksmtp-19.12.0/po/hu/libksmtp5.po
--- old/ksmtp-19.08.3/po/hu/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/hu/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2013-10-27 08:23+0100\n"
 "Last-Translator: Balázs Úr <[email protected]>\n"
 "Language-Team: Hungarian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/it/libksmtp5.po 
new/ksmtp-19.12.0/po/it/libksmtp5.po
--- old/ksmtp-19.08.3/po/it/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/it/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-22 22:29+0100\n"
 "Last-Translator: Vincenzo Reale <[email protected]>\n"
 "Language-Team: Italian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ja/libksmtp5.po 
new/ksmtp-19.12.0/po/ja/libksmtp5.po
--- old/ksmtp-19.08.3/po/ja/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ja/libksmtp5.po        2019-12-06 02:59:17.000000000 
+0100
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-06-14 23:23-0700\n"
 "Last-Translator: Japanese KDE translation team <[email protected]>\n"
 "Language-Team: Japanese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/km/libksmtp5.po 
new/ksmtp-19.12.0/po/km/libksmtp5.po
--- old/ksmtp-19.08.3/po/km/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/km/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-06-28 07:53+0700\n"
 "Last-Translator: Khoem Sokhem <[email protected]>\n"
 "Language-Team: Khmer <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ko/libksmtp5.po 
new/ksmtp-19.12.0/po/ko/libksmtp5.po
--- old/ksmtp-19.08.3/po/ko/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ko/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2019-04-22 01:20+0200\n"
 "Last-Translator: Shinjo Park <[email protected]>\n"
 "Language-Team: Korean <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/lt/libksmtp5.po 
new/ksmtp-19.12.0/po/lt/libksmtp5.po
--- old/ksmtp-19.08.3/po/lt/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/lt/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-10-04 23:13+0300\n"
 "Last-Translator: Liudas Ališauskas <[email protected]>\n"
 "Language-Team: Lithuanian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/mr/libksmtp5.po 
new/ksmtp-19.12.0/po/mr/libksmtp5.po
--- old/ksmtp-19.08.3/po/mr/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/mr/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2013-04-02 13:56+0530\n"
 "Last-Translator: Chetan Khona <[email protected]>\n"
 "Language-Team: Marathi <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/nds/libksmtp5.po 
new/ksmtp-19.12.0/po/nds/libksmtp5.po
--- old/ksmtp-19.08.3/po/nds/libksmtp5.po       2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/nds/libksmtp5.po       2019-12-06 02:59:18.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2011-06-15 06:14+0200\n"
 "Last-Translator: Manfred Wiese <[email protected]>\n"
 "Language-Team: Low Saxon <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/nl/libksmtp5.po 
new/ksmtp-19.12.0/po/nl/libksmtp5.po
--- old/ksmtp-19.08.3/po/nl/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/nl/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-17 10:12+0100\n"
 "Last-Translator: Freek de Kruijf <[email protected]>\n"
 "Language-Team: Dutch <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/nn/libksmtp5.po 
new/ksmtp-19.12.0/po/nn/libksmtp5.po
--- old/ksmtp-19.08.3/po/nn/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/nn/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2016-11-28 19:47+0100\n"
 "Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
 "Language-Team: Norwegian Nynorsk <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/pl/libksmtp5.po 
new/ksmtp-19.12.0/po/pl/libksmtp5.po
--- old/ksmtp-19.08.3/po/pl/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/pl/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-11-04 08:29+0100\n"
 "Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
 "Language-Team: Polish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/pt/libksmtp5.po 
new/ksmtp-19.12.0/po/pt/libksmtp5.po
--- old/ksmtp-19.08.3/po/pt/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/pt/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-16 11:53+0100\n"
 "Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
 "Language-Team: Portuguese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/pt_BR/libksmtp5.po 
new/ksmtp-19.12.0/po/pt_BR/libksmtp5.po
--- old/ksmtp-19.08.3/po/pt_BR/libksmtp5.po     2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/pt_BR/libksmtp5.po     2019-12-06 02:59:18.000000000 
+0100
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2019-02-20 11:13-0300\n"
 "Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
 "Language-Team: Portuguese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ru/libksmtp5.po 
new/ksmtp-19.12.0/po/ru/libksmtp5.po
--- old/ksmtp-19.08.3/po/ru/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ru/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-07-16 22:04+0300\n"
 "Last-Translator: Alexander Yavorsky <[email protected]>\n"
 "Language-Team: Russian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/sk/libksmtp5.po 
new/ksmtp-19.12.0/po/sk/libksmtp5.po
--- old/ksmtp-19.08.3/po/sk/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/sk/libksmtp5.po        2019-12-06 02:59:18.000000000 
+0100
@@ -5,8 +5,8 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
-"PO-Revision-Date: 2019-08-04 12:26+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
+"PO-Revision-Date: 2019-08-04 10:11+0200\n"
 "Last-Translator: Matej Mrenica <[email protected]>\n"
 "Language-Team: Slovak <[email protected]>\n"
 "Language: sk\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/sl/libksmtp5.po 
new/ksmtp-19.12.0/po/sl/libksmtp5.po
--- old/ksmtp-19.08.3/po/sl/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/sl/libksmtp5.po        2019-12-06 02:59:19.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2017-07-27 20:07+0100\n"
 "Last-Translator: Andrej Mernik <[email protected]>\n"
 "Language-Team: Slovenian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/sv/libksmtp5.po 
new/ksmtp-19.12.0/po/sv/libksmtp5.po
--- old/ksmtp-19.08.3/po/sv/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/sv/libksmtp5.po        2019-12-06 02:59:19.000000000 
+0100
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-18 20:16+0100\n"
 "Last-Translator: Stefan Asserhäll <[email protected]>\n"
 "Language-Team: Swedish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/tr/libksmtp5.po 
new/ksmtp-19.12.0/po/tr/libksmtp5.po
--- old/ksmtp-19.08.3/po/tr/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/tr/libksmtp5.po        2019-12-06 02:59:19.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2017-08-17 08:31+0000\n"
 "Last-Translator: Kaan <[email protected]>\n"
 "Language-Team: Turkish <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/ug/libksmtp5.po 
new/ksmtp-19.12.0/po/ug/libksmtp5.po
--- old/ksmtp-19.08.3/po/ug/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/ug/libksmtp5.po        2019-12-06 02:59:19.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2013-09-08 07:05+0900\n"
 "Last-Translator: Gheyret Kenji <[email protected]>\n"
 "Language-Team: Uyghur <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/uk/libksmtp5.po 
new/ksmtp-19.12.0/po/uk/libksmtp5.po
--- old/ksmtp-19.08.3/po/uk/libksmtp5.po        2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/uk/libksmtp5.po        2019-12-06 02:59:19.000000000 
+0100
@@ -1,5 +1,5 @@
 # Translation of libksmtp5.po to Ukrainian
-# Copyright (C) 2018 This_file_is_part_of_KDE
+# Copyright (C) 2014-2018 This_file_is_part_of_KDE
 # This file is distributed under the license LGPL version 2.1 or
 # version 3 or later versions approved by the membership of KDE e.V.
 #
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: libksmtp5\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: 2018-09-17 08:53+0300\n"
 "Last-Translator: Yuri Chornoivan <[email protected]>\n"
 "Language-Team: Ukrainian <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/zh_CN/libksmtp5.po 
new/ksmtp-19.12.0/po/zh_CN/libksmtp5.po
--- old/ksmtp-19.08.3/po/zh_CN/libksmtp5.po     2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/zh_CN/libksmtp5.po     2019-12-06 02:59:19.000000000 
+0100
@@ -2,8 +2,8 @@
 msgstr ""
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
-"PO-Revision-Date: 2019-10-09 10:05\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
+"PO-Revision-Date: 2019-11-19 23:11\n"
 "Last-Translator: Guo Yunhe (guoyunhe)\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/po/zh_TW/libksmtp5.po 
new/ksmtp-19.12.0/po/zh_TW/libksmtp5.po
--- old/ksmtp-19.08.3/po/zh_TW/libksmtp5.po     2019-11-05 05:19:24.000000000 
+0100
+++ new/ksmtp-19.12.0/po/zh_TW/libksmtp5.po     2019-12-06 02:59:19.000000000 
+0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: ksmtp\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
-"POT-Creation-Date: 2019-08-30 07:49+0200\n"
+"POT-Creation-Date: 2019-05-20 03:17+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese <[email protected]>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/job.h new/ksmtp-19.12.0/src/job.h
--- old/ksmtp-19.08.3/src/job.h 2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/job.h 2019-11-30 09:48:31.000000000 +0100
@@ -29,7 +29,9 @@
 class SessionPrivate;
 class JobPrivate;
 class ServerResponse;
-
+/**
+ * @brief The Job class
+ */
 class KSMTP_EXPORT Job : public KJob
 {
     Q_OBJECT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/loginjob.cpp 
new/ksmtp-19.12.0/src/loginjob.cpp
--- old/ksmtp-19.08.3/src/loginjob.cpp  2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/loginjob.cpp  2019-11-30 09:48:31.000000000 +0100
@@ -143,13 +143,13 @@
     Q_D(LoginJob);
 
     const auto negotiatedEnc = d->sessionInternal()->negotiatedEncryption();
-    if (negotiatedEnc != KTcpSocket::UnknownSslVersion) {
+    if (negotiatedEnc != QSsl::UnknownProtocol) {
         // Socket already encrypted, pretend we did not want any
         d->m_encryptionMode = Unencrypted;
     }
 
     if (d->m_encryptionMode == SSLorTLS) {
-        d->sessionInternal()->startSsl(KTcpSocket::SecureProtocols);
+        d->sessionInternal()->startSsl(QSsl::SecureProtocols);
     } else if (d->m_encryptionMode == STARTTLS) {
         if (session()->allowsTls()) {
             sendCommand(QByteArrayLiteral("STARTTLS"));
@@ -175,7 +175,7 @@
 
     // Server accepts TLS connection
     if (r.isCode(220)) {
-        d->sessionInternal()->startSsl(KTcpSocket::SecureProtocols);
+        d->sessionInternal()->startSsl(QSsl::SecureProtocols);
         return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/loginjob.h 
new/ksmtp-19.12.0/src/loginjob.h
--- old/ksmtp-19.08.3/src/loginjob.h    2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/loginjob.h    2019-11-30 09:48:31.000000000 +0100
@@ -26,7 +26,9 @@
 
 namespace KSmtp {
 class LoginJobPrivate;
-
+/**
+ * @brief The LoginJob class
+ */
 class KSMTP_EXPORT LoginJob : public Job
 {
     Q_OBJECT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/sendjob.h 
new/ksmtp-19.12.0/src/sendjob.h
--- old/ksmtp-19.08.3/src/sendjob.h     2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/sendjob.h     2019-11-30 09:48:31.000000000 +0100
@@ -26,7 +26,9 @@
 
 namespace KSmtp {
 class SendJobPrivate;
-
+/**
+ * @brief The SendJob class
+ */
 class KSMTP_EXPORT SendJob : public Job
 {
     Q_OBJECT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/session.cpp 
new/ksmtp-19.12.0/src/session.cpp
--- old/ksmtp-19.08.3/src/session.cpp   2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/session.cpp   2019-11-30 09:48:31.000000000 +0100
@@ -31,10 +31,11 @@
 #include <QUrl>
 #include <QEventLoop>
 #include <QPointer>
+#include <QSslSocket>
 
 using namespace KSmtp;
 
-Q_DECLARE_METATYPE(KTcpSocket::SslVersion)
+Q_DECLARE_METATYPE(QSsl::SslProtocol)
 Q_DECLARE_METATYPE(KSslErrorUiData)
 
 SessionPrivate::SessionPrivate(Session *session)
@@ -44,14 +45,14 @@
     , m_thread(nullptr)
     , m_socketTimerInterval(60000)
     , m_startLoop(nullptr)
-    , m_sslVersion(KTcpSocket::UnknownSslVersion)
+    , m_sslVersion(QSsl::UnknownProtocol)
     , m_jobRunning(false)
     , m_currentJob(nullptr)
     , m_ehloRejected(false)
     , m_size(0)
     , m_allowsTls(false)
 {
-    qRegisterMetaType<KTcpSocket::SslVersion>();
+    qRegisterMetaType<QSsl::SslProtocol>();
     qRegisterMetaType<KSslErrorUiData>();
 }
 
@@ -350,19 +351,19 @@
     m_queue.clear();
 }
 
-void SessionPrivate::startSsl(KTcpSocket::SslVersion version)
+void SessionPrivate::startSsl(QSsl::SslProtocol version)
 {
     QMetaObject::invokeMethod(m_thread, [this, version] {
         m_thread->startSsl(version);
     }, Qt::QueuedConnection);
 }
 
-KTcpSocket::SslVersion SessionPrivate::negotiatedEncryption() const
+QSsl::SslProtocol SessionPrivate::negotiatedEncryption() const
 {
     return m_sslVersion;
 }
 
-void SessionPrivate::encryptionNegotiationResult(bool encrypted, 
KTcpSocket::SslVersion version)
+void SessionPrivate::encryptionNegotiationResult(bool encrypted, 
QSsl::SslProtocol version)
 {
     if (encrypted) {
         // Get the updated auth methods
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/session.h 
new/ksmtp-19.12.0/src/session.h
--- old/ksmtp-19.08.3/src/session.h     2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/session.h     2019-11-30 09:48:31.000000000 +0100
@@ -28,7 +28,9 @@
 namespace KSmtp {
 class SessionPrivate;
 class SessionThread;
-
+/**
+ * @brief The Session class
+ */
 class KSMTP_EXPORT Session : public QObject
 {
     Q_OBJECT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/session_p.h 
new/ksmtp-19.12.0/src/session_p.h
--- old/ksmtp-19.08.3/src/session_p.h   2019-10-11 07:09:11.000000000 +0200
+++ new/ksmtp-19.12.0/src/session_p.h   2019-11-30 09:48:31.000000000 +0100
@@ -26,7 +26,7 @@
 #include <QTimer>
 #include <QStringList>
 
-#include <KTcpSocket>
+#include <QSslSocket>
 
 class KJob;
 class QEventLoop;
@@ -49,15 +49,15 @@
     void addJob(Job *job);
     void sendData(const QByteArray &data);
     void setState(Session::State s);
-    void startSsl(KTcpSocket::SslVersion version);
+    void startSsl(QSsl::SslProtocol version);
 
-    KTcpSocket::SslVersion negotiatedEncryption() const;
+    QSsl::SslProtocol negotiatedEncryption() const;
 
 public Q_SLOTS:
     void handleSslError(const KSslErrorUiData &data);
 
     void socketDisconnected();
-    void encryptionNegotiationResult(bool encrypted, KTcpSocket::SslVersion 
version);
+    void encryptionNegotiationResult(bool encrypted, QSsl::SslProtocol 
version);
     void responseReceived(const ServerResponse &response);
     void socketConnected();
     void setAuthenticationMethods(const QList<QByteArray> &authMethods);
@@ -86,7 +86,7 @@
     int m_socketTimerInterval = 0;
     QTimer m_socketTimer;
     QEventLoop *m_startLoop = nullptr;
-    KTcpSocket::SslVersion m_sslVersion;
+    QSsl::SslProtocol m_sslVersion;
 
     // Jobs
     bool m_jobRunning = false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/sessionthread.cpp 
new/ksmtp-19.12.0/src/sessionthread.cpp
--- old/ksmtp-19.08.3/src/sessionthread.cpp     2019-10-11 07:09:11.000000000 
+0200
+++ new/ksmtp-19.12.0/src/sessionthread.cpp     2019-11-30 09:48:31.000000000 
+0100
@@ -28,13 +28,14 @@
 #include <QFile>
 #include <QCoreApplication>
 #include <QNetworkProxy>
+#include <QSslCipher>
+
+#include <memory>
 
 using namespace KSmtp;
 
 SessionThread::SessionThread(const QString &hostName, quint16 port, Session 
*session)
     : QThread()
-    , m_socket(nullptr)
-    , m_logFile(nullptr)
     , m_parentSession(session)
     , m_hostName(hostName)
     , m_port(port)
@@ -48,19 +49,15 @@
         const QString filename = 
QStringLiteral("%1.%2.%3").arg(QString::fromUtf8(logfile))
                                  .arg(qApp->applicationPid())
                                  .arg(++sSessionCount);
-        m_logFile = new QFile(filename);
+        m_logFile = std::make_unique<QFile>(filename);
         if (!m_logFile->open(QIODevice::WriteOnly | QIODevice::Truncate)) {
             qCWarning(KSMTP_LOG) << "Failed to open log file" << filename << 
":" << m_logFile->errorString();
-            delete m_logFile;
-            m_logFile = nullptr;
+            m_logFile.reset();
         }
     }
 }
 
-SessionThread::~SessionThread()
-{
-    delete m_logFile;
-}
+SessionThread::~SessionThread() = default;
 
 QString SessionThread::hostName() const
 {
@@ -131,16 +128,15 @@
 {
     QMutexLocker locker(&m_mutex);
 
-    if (m_socket->state() != KTcpSocket::ConnectedState
-        && m_socket->state() != KTcpSocket::ConnectingState) {
+    if (m_socket->state() != QAbstractSocket::ConnectedState && 
m_socket->state() != QAbstractSocket::ConnectingState) {
         if (!m_useProxy) {
-            qCDebug(KSMTP_LOG) << "using no proxy";
+            qCDebug(KSMTP_LOG) << "Not using any proxy to connect to the SMTP 
server.";
 
             QNetworkProxy proxy;
             proxy.setType(QNetworkProxy::NoProxy);
             m_socket->setProxy(proxy);
         } else {
-            qCDebug(KSMTP_LOG) << "using default system proxy";
+            qCDebug(KSMTP_LOG) << "Using the default system proxy to connect 
to the SMTP server.";
         }
 
         m_socket->connectToHost(hostName(), port());
@@ -149,18 +145,18 @@
 
 void SessionThread::run()
 {
-    m_socket = new KTcpSocket;
+    m_socket = std::make_unique<QSslSocket>();
 
-    connect(m_socket, &KTcpSocket::readyRead,
+    connect(m_socket.get(), &QSslSocket::readyRead,
             this, &SessionThread::readResponse, Qt::QueuedConnection);
 
-    connect(m_socket, &KTcpSocket::disconnected,
+    connect(m_socket.get(), &QSslSocket::disconnected,
             m_parentSession->d, &SessionPrivate::socketDisconnected);
-    connect(m_socket, &KTcpSocket::connected,
+    connect(m_socket.get(), &QSslSocket::connected,
             m_parentSession->d, &SessionPrivate::socketConnected);
-    connect(m_socket, QOverload<KTcpSocket::Error>::of(&KTcpSocket::error),
-            this, [this](KTcpSocket::Error err) {
-        qCWarning(KSMTP_LOG) << "Socket error:" << err << 
m_socket->errorString();
+    connect(m_socket.get(), 
QOverload<QAbstractSocket::SocketError>::of(&QAbstractSocket::error),
+            this, [this](QAbstractSocket::SocketError err) {
+        qCWarning(KSMTP_LOG) << "SMTP Socket error:" << err << 
m_socket->errorString();
         Q_EMIT m_parentSession->connectionError(m_socket->errorString());
     });
     connect(this, &SessionThread::encryptionNegotiationResult,
@@ -171,7 +167,7 @@
 
     exec();
 
-    delete m_socket;
+    m_socket.reset();
 }
 
 void SessionThread::setUseNetworkProxy(bool useProxy)
@@ -206,40 +202,40 @@
     const bool multiline = (response.at(3) == '-');
 
     if (returnCode) {
-        response = response.mid(4); // Keep the text part
+        response.remove(0, 4); // Keep the text part
     }
 
     return ServerResponse(returnCode, response, multiline);
 }
 
-void SessionThread::startSsl(KTcpSocket::SslVersion version)
+void SessionThread::startSsl(QSsl::SslProtocol protocol)
 {
     QMutexLocker locker(&m_mutex);
 
-    m_socket->setAdvertisedSslVersion(version);
-    m_socket->ignoreSslErrors();
-    connect(m_socket, &KTcpSocket::encrypted, this, 
&SessionThread::sslConnected);
+    m_socket->setProtocol(protocol);
+    m_socket->ignoreSslErrors(); // don't worry, we DO handle the errors 
ourselves below
+    connect(m_socket.get(), &QSslSocket::encrypted, this, 
&SessionThread::sslConnected);
     m_socket->startClientEncryption();
 }
 
 void SessionThread::sslConnected()
 {
     QMutexLocker locker(&m_mutex);
-    KSslCipher cipher = m_socket->sessionCipher();
+    QSslCipher cipher = m_socket->sessionCipher();
 
-    if (!m_socket->sslErrors().isEmpty() || m_socket->encryptionMode() != 
KTcpSocket::SslClientMode
+    if (!m_socket->sslErrors().isEmpty() || !m_socket->isEncrypted()
         || cipher.isNull() || cipher.usedBits() == 0) {
         qCDebug(KSMTP_LOG) << "Initial SSL handshake failed. cipher.isNull() 
is" << cipher.isNull()
                            << ", cipher.usedBits() is" << cipher.usedBits()
                            << ", the socket says:" <<  m_socket->errorString()
                            << "and the list of SSL errors contains"
                            << m_socket->sslErrors().count() << "items.";
-        KSslErrorUiData errorData(m_socket);
+        KSslErrorUiData errorData(m_socket.get());
         Q_EMIT sslError(errorData);
     } else {
-        qCDebug(KSMTP_LOG) << "TLS negotiation done.";
+        qCDebug(KSMTP_LOG) << "TLS negotiation done, the negotiated protocol 
is" << m_socket->sessionCipher().protocolString();
 
-        Q_EMIT encryptionNegotiationResult(true, 
m_socket->negotiatedSslVersion());
+        Q_EMIT encryptionNegotiationResult(true, m_socket->sessionProtocol());
     }
 }
 
@@ -257,12 +253,12 @@
         return;
     }
     if (ignoreError) {
-        Q_EMIT encryptionNegotiationResult(true, 
m_socket->negotiatedSslVersion());
+        Q_EMIT encryptionNegotiationResult(true, m_socket->sessionProtocol());
     } else {
         //reconnect in unencrypted mode, so new commands can be issued
         m_socket->disconnectFromHost();
         m_socket->waitForDisconnected();
         m_socket->connectToHost(m_hostName, m_port);
-        Q_EMIT encryptionNegotiationResult(false, 
KTcpSocket::UnknownSslVersion);
+        Q_EMIT encryptionNegotiationResult(false, QSsl::UnknownProtocol);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/src/sessionthread_p.h 
new/ksmtp-19.12.0/src/sessionthread_p.h
--- old/ksmtp-19.08.3/src/sessionthread_p.h     2019-10-11 07:09:11.000000000 
+0200
+++ new/ksmtp-19.12.0/src/sessionthread_p.h     2019-11-30 09:48:31.000000000 
+0100
@@ -23,8 +23,9 @@
 #include <QThread>
 #include <QMutex>
 #include <QQueue>
+#include <QSslSocket>
 
-#include <ktcpsocket.h>
+#include <ksslerroruidata.h>
 
 class QFile;
 namespace KSmtp {
@@ -49,11 +50,11 @@
 public Q_SLOTS:
     void reconnect();
     void closeSocket();
-    void startSsl(KTcpSocket::SslVersion version);
+    void startSsl(QSsl::SslProtocol version);
     void sendData(const QByteArray &payload);
 
 Q_SIGNALS:
-    void encryptionNegotiationResult(bool encrypted, KTcpSocket::SslVersion 
version);
+    void encryptionNegotiationResult(bool encrypted, QSsl::SslProtocol 
protocol);
     void responseReceived(const ServerResponse &response);
     void sslError(const KSslErrorUiData &);
 
@@ -70,10 +71,10 @@
 private:
     ServerResponse parseResponse(const QByteArray &response);
 
-    KTcpSocket *m_socket = nullptr;
+    std::unique_ptr<QSslSocket> m_socket;
     QMutex m_mutex;
     QQueue<QByteArray> m_dataQueue;
-    QFile *m_logFile = nullptr;
+    std::unique_ptr<QFile> m_logFile;
 
     Session *m_parentSession = nullptr;
     QString m_hostName;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ksmtp-19.08.3/tests/logintest.cpp 
new/ksmtp-19.12.0/tests/logintest.cpp
--- old/ksmtp-19.08.3/tests/logintest.cpp       2019-10-11 07:09:11.000000000 
+0200
+++ new/ksmtp-19.12.0/tests/logintest.cpp       2019-11-30 09:48:31.000000000 
+0100
@@ -21,7 +21,7 @@
 #include "session.h"
 #include "sessionuiproxy.h"
 
-#include <QCoreApplication>
+#include <QApplication>
 #include <QCommandLineParser>
 #include <QCommandLineOption>
 
@@ -64,7 +64,7 @@
 
 int main(int argc, char **argv)
 {
-    QCoreApplication app(argc, argv);
+    QApplication app(argc, argv);
 
     QCommandLineParser parser;
     QCommandLineOption hostOption(QStringLiteral("host"), QString(), 
QStringLiteral("hostname"));
@@ -91,6 +91,7 @@
 
     KSmtp::Session session(parser.value(hostOption),
                            parser.value(portOption).toUInt());
+    session.setUiProxy(SessionUiProxy::Ptr(new SessionUiProxy));
     QObject::connect(
         &session, &KSmtp::Session::stateChanged,
         [&](KSmtp::Session::State state) {


Reply via email to