From 6d5a8ff5c4da5133ed029cd30ea9eef2437a74ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Mon, 17 Jan 2011 13:45:19 +0000 Subject: [PATCH] closes #16 --- qt/patch/qt-sources-patch.diff | 150 ++++++++++++++------------------- 1 file changed, 65 insertions(+), 85 deletions(-) diff --git a/qt/patch/qt-sources-patch.diff b/qt/patch/qt-sources-patch.diff index 949f59d..7c4f35b 100644 --- a/qt/patch/qt-sources-patch.diff +++ b/qt/patch/qt-sources-patch.diff @@ -1,26 +1,17 @@ -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnectionchannel.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel.cpp 2011-01-13 17:44:14.984841004 +0100 -@@ -46,6 +46,8 @@ - #include - #include - -+#include -+ - #ifndef QT_NO_HTTP - - #ifndef QT_NO_OPENSSL -@@ -130,6 +132,9 @@ ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnectionchannel.cpp 2011-01-14 13:51:18.614841001 +0100 +@@ -130,6 +130,9 @@ QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)), this, SLOT(_q_encryptedBytesWritten(qint64)), Qt::DirectConnection); -+ assert(QObject::connect(sslSocket, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), ++ QObject::connect(sslSocket, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), + this, SLOT(_q_extendedContextInitialization(ssl_ctx_st*)), -+ Qt::DirectConnection)); ++ Qt::DirectConnection); } #endif } -@@ -1019,6 +1024,13 @@ +@@ -1019,6 +1022,13 @@ emit connection->sslErrors(errors); } @@ -28,15 +19,15 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetwork +{ + if (!socket) + return; -+ emit connection->extendedContextInitialization(ctx); ++ emit connection->extendedContextInitialization(ctx, qobject_cast(socket)); +} + void QHttpNetworkConnectionChannel::_q_encryptedBytesWritten(qint64 bytes) { Q_UNUSED(bytes); -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel_p.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel_p.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel_p.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnectionchannel_p.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnectionchannel_p.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnectionchannel_p.h 2011-01-13 16:23:56.744840998 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnectionchannel_p.h 2011-01-14 13:24:28.974841007 +0100 @@ -76,6 +76,10 @@ # include #endif @@ -52,41 +43,41 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetwork #ifndef QT_NO_OPENSSL void _q_encrypted(); // start sending request (https) void _q_sslErrors(const QList &errors); // ssl errors from the socket -+ void _q_extendedContextInitialization(ssl_ctx_st* ctx); ++ void _q_extendedContextInitialization(ssl_ctx_st *ctx); void _q_encryptedBytesWritten(qint64 bytes); // proceed sending #endif }; -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnection_p.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnection_p.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnection_p.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnection_p.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qhttpnetworkconnection_p.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qhttpnetworkconnection_p.h 2011-01-13 15:25:26.204841004 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qhttpnetworkconnection_p.h 2011-01-14 13:19:27.444841004 +0100 @@ -123,6 +123,7 @@ Q_SIGNALS: void sslErrors(const QList &errors); -+ void extendedContextInitialization(ssl_ctx_st*); ++ void extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); #endif Q_SIGNALS: -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessbackend.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessbackend.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessbackend.cpp 2011-01-13 16:03:11.054841008 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessbackend.cpp 2011-01-14 13:29:49.374841004 +0100 @@ -341,4 +341,13 @@ #endif } -+void QNetworkAccessBackend::extendedContextInitialization(ssl_ctx_st* ctx) ++void QNetworkAccessBackend::extendedContextInitialization(ssl_ctx_st* ctx, QSslSocket *socket) +{ +#ifndef QT_NO_OPENSSL -+ reply->extendedContextInitialization(ctx); ++ reply->extendedContextInitialization(ctx, socket); +#else + Q_UNUSED(ctx); +#endif +} + QT_END_NAMESPACE -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend_p.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessbackend_p.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend_p.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessbackend_p.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessbackend_p.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessbackend_p.h 2011-01-13 16:23:31.054841004 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessbackend_p.h 2011-01-14 13:30:12.634841002 +0100 @@ -56,6 +56,10 @@ #include "qnetworkreplyimpl_p.h" #include "QtCore/qobject.h" @@ -98,57 +89,38 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce QT_BEGIN_NAMESPACE class QAuthenticator; -@@ -185,7 +189,7 @@ +@@ -185,6 +189,7 @@ void redirectionRequested(const QUrl &destination); void sslErrors(const QList &errors); void emitReplyUploadProgress(qint64 bytesSent, qint64 bytesTotal); -- -+ void extendedContextInitialization(ssl_ctx_st* ctx); ++ void extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); + private: friend class QNetworkAccessManager; - friend class QNetworkAccessManagerPrivate; -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccesshttpbackend.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccesshttpbackend.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccesshttpbackend.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccesshttpbackend.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccesshttpbackend.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccesshttpbackend.cpp 2011-01-13 17:31:39.044840998 +0100 -@@ -52,6 +52,8 @@ - #include "QtCore/qdatetime.h" - #include "QtNetwork/qsslconfiguration.h" - -+#include -+ - #ifndef QT_NO_HTTP - - #include // for strchr -@@ -349,6 +351,8 @@ ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccesshttpbackend.cpp 2011-01-14 13:18:35.404841004 +0100 +@@ -349,6 +349,8 @@ #ifndef QT_NO_OPENSSL connect(http, SIGNAL(sslErrors(QList)), SLOT(sslErrors(QList))); -+ assert(connect(http, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), -+ SLOT(extendedContextInitialization(ssl_ctx_st*)))); ++ connect(http, SIGNAL(extendedContextInitialization(ssl_ctx_st*, QSslSocket*)), ++ SLOT(extendedContextInitialization(ssl_ctx_st*, QSslSocket*))); #endif } -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.cpp 2011-01-13 17:31:56.404841001 +0100 -@@ -60,6 +60,8 @@ - #include "QtNetwork/qauthenticator.h" - #include "QtNetwork/qsslconfiguration.h" - -+#include -+ - QT_BEGIN_NAMESPACE - - #ifndef QT_NO_HTTP -@@ -777,6 +779,16 @@ ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager.cpp 2011-01-14 13:21:07.544841001 +0100 +@@ -777,6 +777,16 @@ #endif } -+void QNetworkAccessManagerPrivate::_q_extendedContextInitialization(ssl_ctx_st* ctx) ++void QNetworkAccessManagerPrivate::_q_extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket) +{ +#ifndef QT_NO_OPENSSL + Q_Q(QNetworkAccessManager); -+ emit q->extendedContextInitialization(ctx); ++ emit q->extendedContextInitialization(ctx, socket); +#else + Q_UNUSED(ctx); +#endif @@ -157,17 +129,17 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce QNetworkReply *QNetworkAccessManagerPrivate::postProcess(QNetworkReply *reply) { Q_Q(QNetworkAccessManager); -@@ -786,6 +798,7 @@ +@@ -786,6 +796,7 @@ /* In case we're compiled without SSL support, we don't have this signal and we need to * avoid getting a connection error. */ q->connect(reply, SIGNAL(sslErrors(QList)), SLOT(_q_replySslErrors(QList))); -+ assert(q->connect(reply, SIGNAL(extendedContextInitialization(ssl_ctx_st*)), SLOT(_q_extendedContextInitialization(ssl_ctx_st*)))); ++ q->connect(reply, SIGNAL(extendedContextInitialization(ssl_ctx_st*, QSslSocket*)), SLOT(_q_extendedContextInitialization(ssl_ctx_st*, QSslSocket*))); #endif return reply; -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager.h 2011-01-13 18:02:19.694840999 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager.h 2011-01-14 13:22:42.014840998 +0100 @@ -46,6 +46,10 @@ QT_BEGIN_HEADER @@ -179,25 +151,33 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce QT_BEGIN_NAMESPACE QT_MODULE(Network) -@@ -111,6 +115,7 @@ +@@ -62,6 +66,7 @@ + class QNetworkProxy; + class QNetworkProxyFactory; + class QSslError; ++class QSslSocket; + + class QNetworkReplyImplPrivate; + class QNetworkAccessManagerPrivate; +@@ -111,6 +116,7 @@ void finished(QNetworkReply *reply); #ifndef QT_NO_OPENSSL void sslErrors(QNetworkReply *reply, const QList &errors); -+ void extendedContextInitialization(ssl_ctx_st* ctx); ++ void extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); #endif protected: -@@ -122,6 +127,7 @@ +@@ -122,6 +128,7 @@ Q_DECLARE_PRIVATE(QNetworkAccessManager) Q_PRIVATE_SLOT(d_func(), void _q_replyFinished()) Q_PRIVATE_SLOT(d_func(), void _q_replySslErrors(QList)) -+ Q_PRIVATE_SLOT(d_func(), void _q_extendedContextInitialization(ssl_ctx_st*)) ++ Q_PRIVATE_SLOT(d_func(), void _q_extendedContextInitialization(ssl_ctx_st*, QSslSocket*)) }; QT_END_NAMESPACE -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager_p.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager_p.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager_p.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager_p.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkaccessmanager_p.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkaccessmanager_p.h 2011-01-13 16:23:47.974840996 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkaccessmanager_p.h 2011-01-14 13:28:00.214841000 +0100 @@ -59,6 +59,10 @@ #include "private/qobject_p.h" #include "QtNetwork/qnetworkproxy.h" @@ -213,13 +193,13 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkacce void _q_replyFinished(); void _q_replySslErrors(const QList &errors); -+ void _q_extendedContextInitialization(ssl_ctx_st* ctx); ++ void _q_extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); QNetworkReply *postProcess(QNetworkReply *reply); void createCookieJar() const; -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreply.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreply.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreply.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreply.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreply.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreply.h 2011-01-13 16:24:14.664840998 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreply.h 2011-01-14 13:20:14.464841001 +0100 @@ -51,6 +51,10 @@ QT_BEGIN_HEADER @@ -235,22 +215,22 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkrepl void error(QNetworkReply::NetworkError); #ifndef QT_NO_OPENSSL void sslErrors(const QList &errors); -+ void extendedContextInitialization(ssl_ctx_st*); ++ void extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); #endif void uploadProgress(qint64 bytesSent, qint64 bytesTotal); -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreplyimpl.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreplyimpl.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreplyimpl.cpp 2011-01-13 16:27:21.854841009 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreplyimpl.cpp 2011-01-14 13:28:57.174841008 +0100 @@ -590,6 +590,16 @@ #endif } -+void QNetworkReplyImplPrivate::extendedContextInitialization(ssl_ctx_st* ctx) ++void QNetworkReplyImplPrivate::extendedContextInitialization(ssl_ctx_st* ctx, QSslSocket *socket) +{ +#ifndef QT_NO_OPENSSL + Q_Q(QNetworkReplyImpl); -+ emit q->extendedContextInitialization(ctx); ++ emit q->extendedContextInitialization(ctx, socket); +#else + Q_UNUSED(ctx); +#endif @@ -259,9 +239,9 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkrepl bool QNetworkReplyImplPrivate::isFinished() const { return (state == Finished || state == Aborted); -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl_p.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreplyimpl_p.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl_p.h qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreplyimpl_p.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkreplyimpl_p.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/access/qnetworkreplyimpl_p.h 2011-01-13 16:28:23.784841003 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/access/qnetworkreplyimpl_p.h 2011-01-14 13:29:14.444841006 +0100 @@ -63,6 +63,10 @@ #include "private/qringbuffer_p.h" #include "private/qbytedata_p.h" @@ -277,13 +257,13 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/access/qnetworkrepl void metaDataChanged(); void redirectionRequested(const QUrl &target); void sslErrors(const QList &errors); -+ void extendedContextInitialization(ssl_ctx_st* ctx); ++ void extendedContextInitialization(ssl_ctx_st *ctx, QSslSocket *socket); bool isFinished() const; -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket.h qt-everywhere-opensource-src-4.6.3.mrw/src/network/ssl/qsslsocket.h +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket.h qt-everywhere-opensource-src-4.6.3.new/src/network/ssl/qsslsocket.h --- qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket.h 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/ssl/qsslsocket.h 2011-01-13 16:22:52.144840999 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/ssl/qsslsocket.h 2011-01-14 09:20:28.954841003 +0100 @@ -52,6 +52,10 @@ QT_BEGIN_HEADER @@ -303,9 +283,9 @@ diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket.h qt protected Q_SLOTS: void connectToHostImplementation(const QString &hostName, quint16 port, -diff -ru qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.6.3.mrw/src/network/ssl/qsslsocket_openssl.cpp +diff -ur qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket_openssl.cpp qt-everywhere-opensource-src-4.6.3.new/src/network/ssl/qsslsocket_openssl.cpp --- qt-everywhere-opensource-src-4.6.3.orig/src/network/ssl/qsslsocket_openssl.cpp 2010-06-02 04:03:17.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3.mrw/src/network/ssl/qsslsocket_openssl.cpp 2011-01-13 11:28:33.734841002 +0100 ++++ qt-everywhere-opensource-src-4.6.3.new/src/network/ssl/qsslsocket_openssl.cpp 2011-01-14 09:20:28.954841003 +0100 @@ -340,6 +340,8 @@ // Set verification depth. if (configuration.peerVerifyDepth != 0)