summaryrefslogtreecommitdiffstats
path: root/abs/core/qt/ca-certificates.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/qt/ca-certificates.patch')
-rw-r--r--abs/core/qt/ca-certificates.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/abs/core/qt/ca-certificates.patch b/abs/core/qt/ca-certificates.patch
new file mode 100644
index 0000000..02ebbad
--- /dev/null
+++ b/abs/core/qt/ca-certificates.patch
@@ -0,0 +1,25 @@
+diff -up qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp
+--- qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp.system_ca_certificates 2009-09-29 06:01:38.000000000 -0500
++++ qt-x11-opensource-src-4.5.3/src/network/ssl/qsslsocket_openssl.cpp 2009-10-02 11:20:10.674662746 -0500
+@@ -482,8 +482,20 @@ void QSslSocketPrivate::resetDefaultCiph
+
+ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
+ {
++
++ QFile caBundle;
++
++#ifdef Q_OS_UNIX
++ // Check known locations for the system's default bundle. ### On Windows,
++ // we should use CAPI to find the bundle, and not rely on default unix
++ // locations.
++ caBundle.setFileName(QLatin1String("/etc/ssl/certs/ca-certificates.crt"));
++ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
++ return QSslCertificate::fromDevice(&caBundle);
++#endif
++
+ // Qt provides a default bundle of certificates
+- QFile caBundle(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
++ caBundle.setFileName(QLatin1String(":/trolltech/network/ssl/qt-ca-bundle.crt"));
+ if (caBundle.open(QIODevice::ReadOnly | QIODevice::Text))
+ return QSslCertificate::fromDevice(&caBundle);
+