[QGIS Commit] r13448 - trunk/qgis/src/app
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sun May 9 12:42:03 EDT 2010
Author: jef
Date: 2010-05-09 12:42:01 -0400 (Sun, 09 May 2010)
New Revision: 13448
Modified:
trunk/qgis/src/app/qgisapp.cpp
trunk/qgis/src/app/qgisapp.h
Log:
handle ssl errors
Modified: trunk/qgis/src/app/qgisapp.cpp
===================================================================
--- trunk/qgis/src/app/qgisapp.cpp 2010-05-09 00:45:17 UTC (rev 13447)
+++ trunk/qgis/src/app/qgisapp.cpp 2010-05-09 16:42:01 UTC (rev 13448)
@@ -6528,6 +6528,9 @@
connect( nam, SIGNAL( proxyAuthenticationRequired( const QNetworkProxy &, QAuthenticator * ) ),
this, SLOT( namProxyAuthenticationRequired( const QNetworkProxy &, QAuthenticator * ) ) );
+
+ connect( nam, SIGNAL( sslErrors( QNetworkReply *, const QList<QSslError> & ) ),
+ this, SLOT( namSslErrors( QNetworkReply *, const QList<QSslError> & ) ) );
}
void QgisApp::namAuthenticationRequired( QNetworkReply *reply, QAuthenticator *auth )
@@ -6562,6 +6565,31 @@
auth->setPassword( password );
}
+void QgisApp::namSslErrors( QNetworkReply *reply, const QList<QSslError> &errors )
+{
+ QString msg = tr( "SSL errors occured accessing URL %1:" ).arg( reply->request().url().toString() );
+ bool otherError = false;
+
+ foreach( QSslError error, errors )
+ {
+ if ( error.error() != QSslError::SelfSignedCertificate &&
+ error.error() != QSslError::HostNameMismatch )
+ otherError = true;
+ msg += "\n" + error.errorString();
+ }
+
+ msg += tr( "\n\nIgnore errors?" );
+
+ if ( !otherError ||
+ QMessageBox::warning( this,
+ tr( "SSL errors occured" ),
+ msg,
+ QMessageBox::Ok | QMessageBox::Cancel ) == QMessageBox::Ok )
+ {
+ reply->ignoreSslErrors();
+ }
+}
+
void QgisApp::namUpdate()
{
QNetworkProxy proxy;
Modified: trunk/qgis/src/app/qgisapp.h
===================================================================
--- trunk/qgis/src/app/qgisapp.h 2010-05-09 00:45:17 UTC (rev 13447)
+++ trunk/qgis/src/app/qgisapp.h 2010-05-09 16:42:01 UTC (rev 13448)
@@ -74,6 +74,7 @@
#include <QToolBar>
#include <QAbstractSocket>
#include <QPointer>
+#include <QSslError>
#include "qgsconfig.h"
#include "qgsfeature.h"
@@ -403,6 +404,7 @@
//! request credentials for network manager
void namAuthenticationRequired( QNetworkReply *reply, QAuthenticator *auth );
void namProxyAuthenticationRequired( const QNetworkProxy &proxy, QAuthenticator *auth );
+ void namSslErrors( QNetworkReply *reply, const QList<QSslError> &errors );
protected:
More information about the QGIS-commit
mailing list