summaryrefslogblamecommitdiff
path: root/user/kmailtransport/degoogled.patch
blob: 1bb7086c5e6b7f9e1b05e07865d73454d3fd2c86 (plain) (tree)





























































































































































































































                                                                                                                                                                            
diff -Naur kmailtransport-20.04.3/CMakeLists.txt kmailtransport-degoogled/CMakeLists.txt
--- kmailtransport-20.04.3/CMakeLists.txt	2020-07-18 22:38:18.572259714 +0000
+++ kmailtransport-degoogled/CMakeLists.txt	2020-07-18 22:38:06.963507959 +0000
@@ -29,7 +29,6 @@
 set(AKONADI_LIB_VERSION "5.14.3")
 set(AKONADIMIME_LIB_VERSION "5.14.3")
 set(KSMTP_LIB_VERSION "5.14.3")
-set(KGAPI_LIB_VERSION "5.14.3")
 
 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5MailTransport")
 
@@ -43,7 +42,6 @@
 find_package(KF5Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED)
 find_package(KF5AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
 find_package(KPimSMTP ${KSMTP_LIB_VERSION} CONFIG REQUIRED)
-find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED)
 
 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE)
 if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
diff -Naur kmailtransport-20.04.3/src/kmailtransport/mailtransport.kcfg kmailtransport-degoogled/src/kmailtransport/mailtransport.kcfg
--- kmailtransport-20.04.3/src/kmailtransport/mailtransport.kcfg	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/mailtransport.kcfg	2020-07-18 22:35:49.028339597 +0000
@@ -79,7 +79,6 @@
         <choice name="APOP" />
         <choice name="CLEAR" />
         <choice name="ANONYMOUS" />
-        <choice name="XOAUTH2" />
       </choices>
       <default>PLAIN</default>
     </entry>
diff -Naur kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/CMakeLists.txt kmailtransport-degoogled/src/kmailtransport/plugins/smtp/CMakeLists.txt
--- kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/CMakeLists.txt	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/plugins/smtp/CMakeLists.txt	2020-07-18 22:37:43.696009823 +0000
@@ -27,5 +27,4 @@
     KF5::ConfigWidgets
     KF5::KIOWidgets
     KPim::SMTP
-    KPim::GAPICore
     )
diff -Naur kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt kmailtransport-degoogled/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt
--- kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/plugins/smtp/autotests/CMakeLists.txt	2020-07-18 22:37:50.785247545 +0000
@@ -15,6 +15,5 @@
                    KF5::ConfigWidgets
                    KF5::KIOWidgets
                    KPim::SMTP
-                   KPim::GAPICore
     TEST_NAME smtpjobtest
 )
diff -Naur kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpconfigwidget.cpp kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpconfigwidget.cpp
--- kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpconfigwidget.cpp	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpconfigwidget.cpp	2020-07-18 22:37:12.009416961 +0000
@@ -70,8 +70,7 @@
                   << Transport::EnumAuthenticationType::CRAM_MD5
                   << Transport::EnumAuthenticationType::DIGEST_MD5
                   << Transport::EnumAuthenticationType::NTLM
-                  << Transport::EnumAuthenticationType::GSSAPI
-                  << Transport::EnumAuthenticationType::XOAUTH2;
+                  << Transport::EnumAuthenticationType::GSSAPI;
         sslCapa = tlsCapa = noEncCapa;
         updateAuthCapbilities();
     }
diff -Naur kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpjob.cpp kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpjob.cpp
--- kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpjob.cpp	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpjob.cpp	2020-07-18 22:37:25.447971965 +0000
@@ -38,13 +38,6 @@
 #include <KSMTP/LoginJob>
 #include <KSMTP/SendJob>
 
-#include <KGAPI/Account>
-#include <KGAPI/AuthJob>
-#include <KGAPI/AccountManager>
-
-#define GOOGLE_API_KEY QStringLiteral("554041944266.apps.googleusercontent.com")
-#define GOOGLE_API_SECRET QStringLiteral("mdT1DjzohxN3npUUzkENT0gO")
-
 using namespace MailTransport;
 
 class SessionPool
@@ -196,50 +189,9 @@
         return;
     }
 
-    if (transport()->authenticationType() == TransportBase::EnumAuthenticationType::XOAUTH2) {
-        auto promise = KGAPI2::AccountManager::instance()->findAccount(
-            GOOGLE_API_KEY, transport()->userName(), { KGAPI2::Account::mailScopeUrl() });
-        connect(promise, &KGAPI2::AccountPromise::finished,
-                this, [forceRefresh, this](KGAPI2::AccountPromise *promise) {
-                    if (promise->account()) {
-                        if (forceRefresh) {
-                            promise = KGAPI2::AccountManager::instance()->refreshTokens(
-                                GOOGLE_API_KEY, GOOGLE_API_SECRET, transport()->userName());
-                        } else {
-                            onTokenRequestFinished(promise);
-                            return;
-                        }
-                    } else {
-                        promise = KGAPI2::AccountManager::instance()->getAccount(
-                            GOOGLE_API_KEY, GOOGLE_API_SECRET, transport()->userName(),
-                            { KGAPI2::Account::mailScopeUrl() });
-                    }
-                    connect(promise, &KGAPI2::AccountPromise::finished,
-                            this, &SmtpJob::onTokenRequestFinished);
-                });
-    } else {
-        startLoginJob();
-    }
-}
-
-void SmtpJob::onTokenRequestFinished(KGAPI2::AccountPromise *promise)
-{
-    if (promise->hasError()) {
-        qCWarning(MAILTRANSPORT_SMTP_LOG) << "Error obtaining XOAUTH2 token:" << promise->errorText();
-        setError(KJob::UserDefinedError);
-        setErrorText(promise->errorText());
-        emitResult();
-        return;
-    }
-
-    const auto account = promise->account();
-    const QString tokens = QStringLiteral("%1\001%2").arg(account->accessToken(),
-                                                          account->refreshToken());
-    transport()->setPassword(tokens);
     startLoginJob();
 }
 
-
 void SmtpJob::startLoginJob()
 {
     if (!transport()->requiresAuthentication()) {
@@ -281,11 +233,7 @@
         }
     }
 
-    if (transport()->authenticationType() == Transport::EnumAuthenticationType::XOAUTH2) {
-        passwd = passwd.left(passwd.indexOf(QLatin1Char('\001')));
-    } else {
-        passwd = transport()->password();
-    }
+    passwd = transport()->password();
     login->setUserName(transport()->userName());
     login->setPassword(passwd);
     switch (transport()->authenticationType()) {
@@ -298,9 +246,6 @@
     case TransportBase::EnumAuthenticationType::CRAM_MD5:
         login->setPreferedAuthMode(KSmtp::LoginJob::CramMD5);
         break;
-    case TransportBase::EnumAuthenticationType::XOAUTH2:
-        login->setPreferedAuthMode(KSmtp::LoginJob::XOAuth2);
-        break;
     case TransportBase::EnumAuthenticationType::DIGEST_MD5:
         login->setPreferedAuthMode(KSmtp::LoginJob::DigestMD5);
         break;
diff -Naur kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpjob.h kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpjob.h
--- kmailtransport-20.04.3/src/kmailtransport/plugins/smtp/smtpjob.h	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/plugins/smtp/smtpjob.h	2020-07-18 22:37:38.056616206 +0000
@@ -31,10 +31,6 @@
 class Slave;
 }
 
-namespace KGAPI2 {
-class AccountPromise;
-}
-
 class SmtpJobPrivate;
 
 namespace MailTransport {
@@ -74,7 +70,6 @@
 
 private:
     void startPasswordRetrieval(bool forceRefresh = false);
-    void onTokenRequestFinished(KGAPI2::AccountPromise *result);
     void startSmtpJob();
     void startLoginJob();
     void startSendJob();
diff -Naur kmailtransport-20.04.3/src/kmailtransport/servertest.cpp kmailtransport-degoogled/src/kmailtransport/servertest.cpp
--- kmailtransport-20.04.3/src/kmailtransport/servertest.cpp	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/servertest.cpp	2020-07-18 22:36:05.166604311 +0000
@@ -80,10 +80,6 @@
     bool handleNntpConversation(MailTransport::Socket *socket, int type, int *stage, const QString &response, bool *shouldStartTLS);
     QVector<int> parseAuthenticationList(const QStringList &authentications);
 
-    inline bool isGmail(const QString &server) const {
-        return server.endsWith(QLatin1String("gmail.com")) || server.endsWith(QLatin1String("googlemail.com"));
-    }
-
     // slots
     void slotNormalPossible();
     void slotNormalNotPossible();
@@ -156,10 +152,6 @@
             result << Transport::EnumAuthenticationType::GSSAPI;
         } else if (current == QLatin1String("ANONYMOUS")) {
             result << Transport::EnumAuthenticationType::ANONYMOUS;
-        } else if (current == QLatin1String("XOAUTH2")) {
-            if (isGmail(server)) {
-                result << Transport::EnumAuthenticationType::XOAUTH2;
-            }
         }
         // APOP is handled by handlePopConversation()
     }
@@ -183,9 +175,6 @@
     }
 
     QStringList protocols;
-    if (isGmail(server)) {
-        protocols << QStringLiteral("XOAUTH2");
-    }
 
     protocols << QStringLiteral("LOGIN")
               << QStringLiteral("PLAIN") << QStringLiteral("CRAM-MD5")
diff -Naur kmailtransport-20.04.3/src/kmailtransport/transport.cpp kmailtransport-degoogled/src/kmailtransport/transport.cpp
--- kmailtransport-20.04.3/src/kmailtransport/transport.cpp	2020-06-18 06:30:31.000000000 +0000
+++ kmailtransport-degoogled/src/kmailtransport/transport.cpp	2020-07-18 22:35:40.749229818 +0000
@@ -142,8 +142,6 @@
         return QStringLiteral("APOP");
     case EnumAuthenticationType::ANONYMOUS:
         return i18nc("Authentication method", "Anonymous");
-    case EnumAuthenticationType::XOAUTH2:
-        return QStringLiteral("XOAUTH2");
     }
     Q_ASSERT(false);
     return QString();