mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-25 22:05:53 +03:00
Cleanups, ownership for ssl error handler
This commit is contained in:
parent
eda5feb82c
commit
aa2baa45fb
4 changed files with 4 additions and 47 deletions
|
@ -150,7 +150,7 @@ void Account::setApprovedCerts(const QList<QSslCertificate> certs)
|
|||
|
||||
void Account::setSslErrorHandler(AbstractSslErrorHandler *handler)
|
||||
{
|
||||
_sslErrorHandler = handler;
|
||||
_sslErrorHandler.reset(handler);
|
||||
}
|
||||
|
||||
void Account::setUrl(const QUrl &url)
|
||||
|
@ -186,8 +186,7 @@ void Account::slotHandleErrors(QNetworkReply *reply , QList<QSslError> errors)
|
|||
}
|
||||
|
||||
QList<QSslCertificate> approvedCerts;
|
||||
AbstractSslErrorHandler *handler = sslErrorHandler();
|
||||
if (handler && handler->handleErrors(errors, &approvedCerts, this)) {
|
||||
if (!_sslErrorHandler.isNull() && _sslErrorHandler->handleErrors(errors, &approvedCerts, this)) {
|
||||
QSslSocket::addDefaultCaCertificates(approvedCerts);
|
||||
setApprovedCerts(approvedCerts);
|
||||
// all ssl certs are known and accepted. We can ignore the problems right away.
|
||||
|
|
|
@ -49,6 +49,7 @@ private:
|
|||
/* Reimplement this to handle SSL errors */
|
||||
class AbstractSslErrorHandler {
|
||||
public:
|
||||
virtual ~AbstractSslErrorHandler() {}
|
||||
virtual bool handleErrors(QList<QSslError>, QList<QSslCertificate>*, Account*) = 0;
|
||||
};
|
||||
|
||||
|
@ -96,7 +97,6 @@ public:
|
|||
QList<QSslCertificate> approvedCerts() const { return _approvedCerts; }
|
||||
void setApprovedCerts(const QList<QSslCertificate> certs);
|
||||
|
||||
AbstractSslErrorHandler* sslErrorHandler() const { return _sslErrorHandler; }
|
||||
void setSslErrorHandler(AbstractSslErrorHandler *handler);
|
||||
|
||||
static QUrl concatUrlPath(const QUrl &url, const QString &concatPath);
|
||||
|
@ -113,7 +113,7 @@ private:
|
|||
QList<QSslCertificate> _approvedCerts;
|
||||
QList<QSslCertificate> _certificateChain;
|
||||
bool _treatSslErrorsAsFailure;
|
||||
AbstractSslErrorHandler *_sslErrorHandler;
|
||||
QScopedPointer<AbstractSslErrorHandler> _sslErrorHandler;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -148,15 +148,10 @@ Application::Application(int &argc, char **argv) :
|
|||
QTimer::singleShot( 3000, this, SLOT( slotStartUpdateDetector() ));
|
||||
}
|
||||
|
||||
// ###
|
||||
// connect( ownCloudInfo::instance(), SIGNAL(sslFailed(QNetworkReply*, QList<QSslError>)),
|
||||
// this,SLOT(slotSSLFailed(QNetworkReply*, QList<QSslError>)));
|
||||
|
||||
connect (this, SIGNAL(aboutToQuit()), SLOT(slotCleanup()));
|
||||
|
||||
qDebug() << "Network Location: " << NetworkLocation::currentLocation().encoded();
|
||||
|
||||
|
||||
_socketApi = new SocketApi(this, cfg.configPathWithAppName().append(QLatin1String("socket")));
|
||||
}
|
||||
|
||||
|
@ -246,42 +241,6 @@ void Application::slotConnectionValidatorResult(ConnectionValidator::Status stat
|
|||
_conValidator->deleteLater();
|
||||
}
|
||||
|
||||
void Application::slotSSLFailed( QNetworkReply *reply, QList<QSslError> errors )
|
||||
{
|
||||
// qDebug() << "SSL-Warnings happened for url " << reply->url().toString();
|
||||
|
||||
// if( ownCloudInfo::instance()->certsUntrusted() ) {
|
||||
// // User decided once to untrust. Honor this decision.
|
||||
// qDebug() << "Untrusted by user decision, returning.";
|
||||
// return;
|
||||
// }
|
||||
|
||||
// QString configHandle = ownCloudInfo::instance()->configHandle(reply);
|
||||
|
||||
// // make the ssl dialog aware of the custom config. It loads known certs.
|
||||
// if( ! _sslErrorDialog ) {
|
||||
// _sslErrorDialog = new SslErrorDialog;
|
||||
// }
|
||||
// _sslErrorDialog->setCustomConfigHandle( configHandle );
|
||||
|
||||
// if( _sslErrorDialog->setErrorList( errors ) ) {
|
||||
// // all ssl certs are known and accepted. We can ignore the problems right away.
|
||||
// qDebug() << "Certs are already known and trusted, Warnings are not valid.";
|
||||
// reply->ignoreSslErrors();
|
||||
// } else {
|
||||
// if( _sslErrorDialog->exec() == QDialog::Accepted ) {
|
||||
// if( _sslErrorDialog->trustConnection() ) {
|
||||
// reply->ignoreSslErrors();
|
||||
// } else {
|
||||
// // User does not want to trust.
|
||||
// ownCloudInfo::instance()->setCertsUntrusted(true);
|
||||
// }
|
||||
// } else {
|
||||
// ownCloudInfo::instance()->setCertsUntrusted(true);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
void Application::slotownCloudWizardDone( int res )
|
||||
{
|
||||
FolderMan *folderMan = FolderMan::instance();
|
||||
|
|
|
@ -79,7 +79,6 @@ protected slots:
|
|||
void slotParseOptions( const QString& );
|
||||
void slotCheckConnection();
|
||||
void slotConnectionValidatorResult(ConnectionValidator::Status);
|
||||
void slotSSLFailed( QNetworkReply *reply, QList<QSslError> errors );
|
||||
void slotStartUpdateDetector();
|
||||
void slotSetupProxy();
|
||||
void slotUseMonoIconsChanged( bool );
|
||||
|
|
Loading…
Reference in a new issue