diff options
author | Shane Kearns <shane.kearns@accenture.com> | 2010-11-10 15:19:14 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@accenture.com> | 2010-11-11 12:34:43 (GMT) |
commit | 5feca34327eb661cc84e1d6f79052dcdbc1a09c4 (patch) | |
tree | 73cd32a8e93be0a463ba3e85a162e94af86633ee /src/network/ssl/qsslsocket_openssl_p.h | |
parent | 6d12a816ae6e2ed2d318d783b573f7cf8f0fee0a (diff) | |
download | Qt-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.h | 1 |
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; }; |