summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslsocket_openssl_p.h
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@accenture.com>2010-11-10 15:19:14 (GMT)
committerShane Kearns <shane.kearns@accenture.com>2010-11-11 12:34:43 (GMT)
commit5feca34327eb661cc84e1d6f79052dcdbc1a09c4 (patch)
tree73cd32a8e93be0a463ba3e85a162e94af86633ee /src/network/ssl/qsslsocket_openssl_p.h
parent6d12a816ae6e2ed2d318d783b573f7cf8f0fee0a (diff)
downloadQt-5feca34327eb661cc84e1d6f79052dcdbc1a09c4.zip
Qt-5feca34327eb661cc84e1d6f79052dcdbc1a09c4.tar.gz
Qt-5feca34327eb661cc84e1d6f79052dcdbc1a09c4.tar.bz2
SSL: Fix crashes/hangs when retrieving CA certificates
Added error handling to the certificate retrieval thread Made the certificate retrieval thread process critical (so if it crashes the process will crash instead of hang) Filter the certificate list to only fetch CA certificates which are in X.509 format (symbian also allows WAP formats, but Qt does not support these). Put the TPtr8 for asynch function parameter in the class data so it does not go out of scope while the function is in progress. Previously it was on the stack so it could be corrupted before the certificate server had finished using it. Task-number: QTBUG-15005 Task-number: QTBUG-15126 Reviewed-by: Markus Goetz
Diffstat (limited to 'src/network/ssl/qsslsocket_openssl_p.h')
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
index dec98ae..b59a6c9 100644
--- a/src/network/ssl/qsslsocket_openssl_p.h
+++ b/src/network/ssl/qsslsocket_openssl_p.h
@@ -165,6 +165,7 @@ private:
CCertAttributeFilter* iCertFilter;
TInt iCurrentCertIndex;
QByteArray iCertificateData;
+ TPtr8 iCertificatePtr;
QList<QByteArray>* iCertificates;
TInt iSequenceError;
};