Abort the request and reset the QNAM if user does not ACK a new cert.
authorKlaas Freitag <freitag@owncloud.com>
Tue, 2 Jun 2015 10:21:49 +0000 (12:21 +0200)
committerMarkus Goetz <markus@woboq.com>
Fri, 14 Aug 2015 08:31:20 +0000 (10:31 +0200)
This is supposed to fix bug #3283

(cherry picked from commit 75b38d1a2ffe57d0f1eb3ebb8c5f30b8b2a185e4)

src/libsync/account.cpp

index d0d59a8f184b717d7224cf144094b927b6b06774..690925277da6fcef362a32409757ae76f6d3e8a1 100644 (file)
@@ -408,6 +408,11 @@ void Account::slotHandleSslErrors(QNetworkReply *reply , QList<QSslError> errors
         reply->ignoreSslErrors(errors);
     } else {
         _treatSslErrorsAsFailure = true;
+        // if during normal operation, a new certificate was MITM'ed, and the user does not
+        // ACK it, the running request must be aborted and the QNAM must be reset, to not
+        // treat the new cert as granted. See bug #3283
+        reply->abort();
+        resetNetworkAccessManager();
         return;
     }
 }