[Fix] Certificates from custom path disappearing on preferences saving.

remotes/origin/falkon
nowrep 13 years ago
parent 1e6b9a915d
commit ff4e5b74d4
  1. 1
      CHANGELOG
  2. 1
      src/lib/app/mainapplication.cpp
  3. 9
      src/lib/network/networkmanager.cpp

@ -1,5 +1,6 @@
Version 1.4.1 Version 1.4.1
* not yet released * not yet released
* fixed certificates from custom path disappearing on saving preferences
* fixed showing empty back/forward history menu upon restoring session * fixed showing empty back/forward history menu upon restoring session
* fixed duplicating current url in history when restoring session * fixed duplicating current url in history when restoring session
* fixed instantly showing popup when clicking on back/forward button * fixed instantly showing popup when clicking on back/forward button

@ -270,7 +270,6 @@ MainApplication::MainApplication(int &argc, char** argv)
connect(qupzilla, SIGNAL(startingCompleted()), this, SLOT(restoreCursor())); connect(qupzilla, SIGNAL(startingCompleted()), this, SLOT(restoreCursor()));
loadSettings(); loadSettings();
networkManager()->loadCertificates();
m_plugins = new PluginProxy; m_plugins = new PluginProxy;

@ -131,6 +131,8 @@ void NetworkManager::loadSettings()
QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates()); QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates());
#endif #endif
loadCertificates();
m_proxyFactory->loadSettings(); m_proxyFactory->loadSettings();
} }
@ -623,8 +625,9 @@ void NetworkManager::loadCertificates()
m_ignoreAllWarnings = settings.value("IgnoreAllSSLWarnings", false).toBool(); m_ignoreAllWarnings = settings.value("IgnoreAllSSLWarnings", false).toBool();
settings.endGroup(); settings.endGroup();
//CA Certificates // CA Certificates
m_caCerts = QSslSocket::defaultCaCertificates(); m_caCerts = QSslSocket::defaultCaCertificates();
foreach (const QString &path, m_certPaths) { foreach (const QString &path, m_certPaths) {
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
// Used from Qt 4.7.4 qsslcertificate.cpp and modified because QSslCertificate::fromPath // Used from Qt 4.7.4 qsslcertificate.cpp and modified because QSslCertificate::fromPath
@ -645,7 +648,7 @@ void NetworkManager::loadCertificates()
m_caCerts += QSslCertificate::fromPath(path + "/*.crt", QSsl::Pem, QRegExp::Wildcard); m_caCerts += QSslCertificate::fromPath(path + "/*.crt", QSsl::Pem, QRegExp::Wildcard);
#endif #endif
} }
//Local Certificates // Local Certificates
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QDirIterator it_(mApp->currentProfilePath() + "certificates", QDir::Files, QDirIterator::FollowSymlinks | QDirIterator::Subdirectories); QDirIterator it_(mApp->currentProfilePath() + "certificates", QDir::Files, QDirIterator::FollowSymlinks | QDirIterator::Subdirectories);
while (it_.hasNext()) { while (it_.hasNext()) {
@ -660,7 +663,7 @@ void NetworkManager::loadCertificates()
} }
} }
#else #else
m_localCerts += QSslCertificate::fromPath(mApp->currentProfilePath() + "certificates/*.crt", QSsl::Pem, QRegExp::Wildcard); m_localCerts = QSslCertificate::fromPath(mApp->currentProfilePath() + "certificates/*.crt", QSsl::Pem, QRegExp::Wildcard);
#endif #endif
QSslSocket::setDefaultCaCertificates(m_caCerts + m_localCerts); QSslSocket::setDefaultCaCertificates(m_caCerts + m_localCerts);

Loading…
Cancel
Save