diff options
Diffstat (limited to 'src/network/ssl')
-rw-r--r-- | src/network/ssl/qsslsocket.cpp | 10 | ||||
-rw-r--r-- | src/network/ssl/qsslsocket_openssl.cpp | 204 | ||||
-rw-r--r-- | src/network/ssl/qsslsocket_openssl_p.h | 55 | ||||
-rw-r--r-- | src/network/ssl/qsslsocket_openssl_symbols.cpp | 163 | ||||
-rw-r--r-- | src/network/ssl/ssl.pri | 6 |
5 files changed, 5 insertions, 433 deletions
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index 7aac889b40..d3795d0ab5 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -165,16 +165,6 @@ is being encrypted and encryptedBytesWritten() will get emitted as soon as data has been written to the TCP socket. - \section1 Symbian Platform Security Requirements - - On Symbian, processes which use this class must have the - \c NetworkServices platform security capability. If the client - process lacks this capability, operations will fail. - - Platform security capabilities are added via the - \l{qmake-variable-reference.html#target-capability}{TARGET.CAPABILITY} - qmake variable. - \sa QSslCertificate, QSslCipher, QSslError */ diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 9cb7066803..4a2ebf89b1 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -60,12 +60,6 @@ #include <QtCore/qvarlengtharray.h> #include <QLibrary> // for loading the security lib for the CA store -#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) -// Symbian does not seem to have the symbol for SNI defined -#ifndef SSL_CTRL_SET_TLSEXT_HOSTNAME -#define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 -#endif -#endif QT_BEGIN_NAMESPACE #if defined(Q_OS_MAC) @@ -77,11 +71,6 @@ QT_BEGIN_NAMESPACE PtrCertOpenSystemStoreW QSslSocketPrivate::ptrCertOpenSystemStoreW = 0; PtrCertFindCertificateInStore QSslSocketPrivate::ptrCertFindCertificateInStore = 0; PtrCertCloseStore QSslSocketPrivate::ptrCertCloseStore = 0; -#elif defined(Q_OS_SYMBIAN) -#include <e32base.h> -#include <e32std.h> -#include <e32debug.h> -#include <QtCore/private/qcore_symbian_p.h> #endif bool QSslSocketPrivate::s_libraryLoaded = false; @@ -595,7 +584,7 @@ void QSslSocketPrivate::ensureCiphersAndCertsLoaded() } else { qWarning("could not load crypt32 library"); // should never happen } -#elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) && !defined(Q_OS_MAC) +#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC) // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there) QList<QByteArray> dirs = unixRootCertDirectories(); QStringList symLinkFilter; @@ -678,180 +667,6 @@ void QSslSocketPrivate::resetDefaultCiphers() setDefaultCiphers(ciphers); } -#if defined(Q_OS_SYMBIAN) - -CSymbianCertificateRetriever::CSymbianCertificateRetriever() : CActive(CActive::EPriorityStandard), - iCertificatePtr(0,0,0), iSequenceError(KErrNone) -{ -} - -CSymbianCertificateRetriever::~CSymbianCertificateRetriever() -{ - iThread.Close(); -} - -CSymbianCertificateRetriever* CSymbianCertificateRetriever::NewL() -{ - CSymbianCertificateRetriever* self = new (ELeave) CSymbianCertificateRetriever(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; -} - -int CSymbianCertificateRetriever::GetCertificates(QList<QByteArray> &certificates) -{ - iCertificates = &certificates; - - TRequestStatus status; - iThread.Logon(status); - iThread.Resume(); - User::WaitForRequest(status); - if (iThread.ExitType() == EExitKill) - return KErrDied; - else - return status.Int(); // Logon() completes with the thread's exit value -} - -void CSymbianCertificateRetriever::doThreadEntryL() -{ - CActiveScheduler* activeScheduler = new (ELeave) CActiveScheduler; - CleanupStack::PushL(activeScheduler); - CActiveScheduler::Install(activeScheduler); - - CActiveScheduler::Add(this); - - // These aren't deleted in the destructor so leaving the to CS is ok - iCertStore = CUnifiedCertStore::NewLC(qt_s60GetRFs(), EFalse); - iCertFilter = CCertAttributeFilter::NewLC(); - - // only interested in CA certs - iCertFilter->SetOwnerType(ECACertificate); - // only interested in X.509 format (we don't support WAP formats) - iCertFilter->SetFormat(EX509Certificate); - - // Kick off the sequence by initializing the cert store - iState = Initializing; - iCertStore->Initialize(iStatus); - SetActive(); - - CActiveScheduler::Start(); - - // Sequence complete, clean up - - // These MUST be cleaned up before the installed CActiveScheduler is destroyed and can't be left to the - // destructor of CSymbianCertificateRetriever. Otherwise the destructor of CActiveScheduler will get - // stuck. - iCertInfos.Close(); - CleanupStack::PopAndDestroy(3); // activeScheduler, iCertStore, iCertFilter -} - - -TInt CSymbianCertificateRetriever::ThreadEntryPoint(TAny* aParams) -{ - User::SetCritical(User::EProcessCritical); - CTrapCleanup* cleanupStack = CTrapCleanup::New(); - - CSymbianCertificateRetriever* self = (CSymbianCertificateRetriever*) aParams; - TRAPD(err, self->doThreadEntryL()); - delete cleanupStack; - - // doThreadEntryL() can leave only before the retrieval sequence is started - if (err) - return err; - else - return self->iSequenceError; // return any error that occurred during the retrieval -} - -void CSymbianCertificateRetriever::ConstructL() -{ - TInt err; - int i=0; - QString name(QLatin1String("CertWorkerThread-%1")); - //recently closed thread names remain in use for a while until all handles have been closed - //including users of RUndertaker - do { - err = iThread.Create(qt_QString2TPtrC(name.arg(i++)), - CSymbianCertificateRetriever::ThreadEntryPoint, 16384, NULL, this); - } while (err == KErrAlreadyExists); - User::LeaveIfError(err); -} - -void CSymbianCertificateRetriever::DoCancel() -{ - switch(iState) { - case Initializing: - iCertStore->CancelInitialize(); - break; - case Listing: - iCertStore->CancelList(); - break; - case RetrievingCertificates: - iCertStore->CancelGetCert(); - break; - } -} - -TInt CSymbianCertificateRetriever::RunError(TInt aError) -{ - // If something goes wrong in the sequence, abort the sequence - iSequenceError = aError; // this gets reported to the client in the TRequestStatus - CActiveScheduler::Stop(); - return KErrNone; -} - -void CSymbianCertificateRetriever::GetCertificateL() -{ - if (iCurrentCertIndex < iCertInfos.Count()) { - CCTCertInfo* certInfo = iCertInfos[iCurrentCertIndex++]; - iCertificateData = QByteArray(); - QT_TRYCATCH_LEAVING(iCertificateData.resize(certInfo->Size())); - iCertificatePtr.Set((TUint8*)iCertificateData.data(), 0, iCertificateData.size()); -#ifdef QSSLSOCKET_DEBUG - qDebug() << "getting " << qt_TDesC2QString(certInfo->Label()) << " size=" << certInfo->Size(); - qDebug() << "format=" << certInfo->CertificateFormat(); - qDebug() << "ownertype=" << certInfo->CertificateOwnerType(); - qDebug() << "type=" << hex << certInfo->Type().iUid; -#endif - iCertStore->Retrieve(*certInfo, iCertificatePtr, iStatus); - iState = RetrievingCertificates; - SetActive(); - } else { - //reached end of list - CActiveScheduler::Stop(); - } -} - -void CSymbianCertificateRetriever::RunL() -{ -#ifdef QSSLSOCKET_DEBUG - qDebug() << "CSymbianCertificateRetriever::RunL status " << iStatus.Int() << " count " << iCertInfos.Count() << " index " << iCurrentCertIndex; -#endif - switch (iState) { - case Initializing: - User::LeaveIfError(iStatus.Int()); // initialise fail means pointless to continue - iState = Listing; - iCertStore->List(iCertInfos, *iCertFilter, iStatus); - SetActive(); - break; - - case Listing: - User::LeaveIfError(iStatus.Int()); // listing fail means pointless to continue - iCurrentCertIndex = 0; - GetCertificateL(); - break; - - case RetrievingCertificates: - if (iStatus.Int() == KErrNone) - iCertificates->append(iCertificateData); - else - qWarning() << "CSymbianCertificateRetriever: failed to retrieve a certificate, error " << iStatus.Int(); - GetCertificateL(); - break; - } -} -#endif // defined(Q_OS_SYMBIAN) - QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() { ensureInitialized(); @@ -921,7 +736,7 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() ptrCertCloseStore(hSystemStore, 0); } } -#elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) +#elif defined(Q_OS_UNIX) QSet<QString> certFiles; QList<QByteArray> directories = unixRootCertDirectories(); QDir currentDir; @@ -943,21 +758,6 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates() } systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora, Mandriva systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/share/certs/ca-root-nss.crt"), QSsl::Pem)); // FreeBSD's ca_root_nss - -#elif defined(Q_OS_SYMBIAN) - QList<QByteArray> certs; - QScopedPointer<CSymbianCertificateRetriever> retriever(CSymbianCertificateRetriever::NewL()); - - retriever->GetCertificates(certs); - foreach (const QByteArray &encodedCert, certs) { - QSslCertificate cert(encodedCert, QSsl::Der); - if (!cert.isNull()) { -#ifdef QSSLSOCKET_DEBUG - qDebug() << "imported certificate: " << cert.issuerInfo(QSslCertificate::CommonName); -#endif - systemCerts.append(cert); - } - } #endif #ifdef QSSLSOCKET_DEBUG qDebug() << "systemCaCertificates retrieval time " << timer.elapsed() << "ms"; diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h index 080ad0064c..c4b9018db7 100644 --- a/src/network/ssl/qsslsocket_openssl_p.h +++ b/src/network/ssl/qsslsocket_openssl_p.h @@ -126,61 +126,6 @@ public: static QString getErrorsFromOpenSsl(); }; -#if defined(Q_OS_SYMBIAN) - -#include <QByteArray> -#include <e32base.h> -#include <f32file.h> -#include <unifiedcertstore.h> // link against certstore.lib -#include <ccertattributefilter.h> // link against ctframework.lib - -// The purpose of this class is to wrap the asynchronous API of Symbian certificate store to one -// synchronizable call. The user of this class needs to provide a TRequestStatus object which can -// be used with User::WaitForRequest() unlike with the calls of the certificate store API. -// A thread is used instead of a CActiveSchedulerWait scheme, because that would make the call -// asynchronous (other events might be processed during the call even though the call would be seemingly -// synchronous). - -class CSymbianCertificateRetriever : public CActive -{ -public: - static CSymbianCertificateRetriever* NewL(); - ~CSymbianCertificateRetriever(); - - int GetCertificates(QList<QByteArray> &aCertificates); - -private: - void ConstructL(); - CSymbianCertificateRetriever(); - static TInt ThreadEntryPoint(TAny* aParams); - void doThreadEntryL(); - void GetCertificateL(); - void DoCancel(); - void RunL(); - TInt RunError(TInt aError); - -private: - enum { - Initializing, - Listing, - RetrievingCertificates - } iState; - - RThread iThread; - CUnifiedCertStore* iCertStore; - RMPointerArray<CCTCertInfo> iCertInfos; - CCertAttributeFilter* iCertFilter; - TInt iCurrentCertIndex; - QByteArray iCertificateData; - TPtr8 iCertificatePtr; - QList<QByteArray>* iCertificates; - TInt iSequenceError; -}; - - -#endif - - QT_END_NAMESPACE #endif diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp index 7696d15542..1997f550dc 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols.cpp +++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp @@ -293,16 +293,10 @@ DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *C DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return) DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return) -#ifdef Q_OS_SYMBIAN -#define RESOLVEFUNC(func, ordinal, lib) \ - if (!(_q_##func = _q_PTR_##func(lib->resolve(#ordinal)))) \ - qWarning("QSslSocket: cannot resolve "#func); -#else #define RESOLVEFUNC(func) \ if (!(_q_##func = _q_PTR_##func(libs.first->resolve(#func))) \ && !(_q_##func = _q_PTR_##func(libs.second->resolve(#func)))) \ qWarning("QSslSocket: cannot resolve "#func); -#endif #if !defined QT_LINKED_OPENSSL @@ -412,25 +406,7 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl() pair.first = 0; pair.second = 0; -# if defined(Q_OS_SYMBIAN) - QLibrary *libssl = new QLibrary(QLatin1String("libssl")); - if (!libssl->load()) { - // Cannot find ssleay32.dll - delete libssl; - return pair; - } - - QLibrary *libcrypto = new QLibrary(QLatin1String("libcrypto")); - if (!libcrypto->load()) { - delete libcrypto; - delete libssl; - return pair; - } - - pair.first = libssl; - pair.second = libcrypto; - return pair; -# elif defined(Q_OS_UNIX) +# if defined(Q_OS_UNIX) QLibrary *&libssl = pair.first; QLibrary *&libcrypto = pair.second; libssl = new QLibrary; @@ -536,141 +512,6 @@ bool q_resolveOpenSslSymbols() // failed to load them return false; -#ifdef Q_OS_SYMBIAN -#ifdef SSLEAY_MACROS - RESOLVEFUNC(ASN1_dup, 125, libs.second ) -#endif - RESOLVEFUNC(ASN1_INTEGER_get, 48, libs.second ) - RESOLVEFUNC(ASN1_STRING_data, 71, libs.second ) - RESOLVEFUNC(ASN1_STRING_length, 76, libs.second ) - RESOLVEFUNC(ASN1_STRING_to_UTF8, 86, libs.second ) - RESOLVEFUNC(BIO_ctrl, 184, libs.second ) - RESOLVEFUNC(BIO_free, 209, libs.second ) - RESOLVEFUNC(BIO_new, 222, libs.second ) - RESOLVEFUNC(BIO_new_mem_buf, 230, libs.second ) - RESOLVEFUNC(BIO_read, 244, libs.second ) - RESOLVEFUNC(BIO_s_mem, 251, libs.second ) - RESOLVEFUNC(BIO_write, 269, libs.second ) - RESOLVEFUNC(BN_num_bits, 387, libs.second ) - RESOLVEFUNC(CRYPTO_free, 469, libs.second ) - RESOLVEFUNC(CRYPTO_num_locks, 500, libs.second ) - RESOLVEFUNC(CRYPTO_set_id_callback, 513, libs.second ) - RESOLVEFUNC(CRYPTO_set_locking_callback, 516, libs.second ) - RESOLVEFUNC(DSA_free, 594, libs.second ) - RESOLVEFUNC(ERR_error_string, 744, libs.second ) - RESOLVEFUNC(ERR_get_error, 749, libs.second ) - RESOLVEFUNC(EVP_des_ede3_cbc, 919, libs.second ) - RESOLVEFUNC(EVP_PKEY_assign, 859, libs.second ) - RESOLVEFUNC(EVP_PKEY_set1_RSA, 880, libs.second ) - RESOLVEFUNC(EVP_PKEY_set1_DSA, 879, libs.second ) - RESOLVEFUNC(EVP_PKEY_free, 867, libs.second ) - RESOLVEFUNC(EVP_PKEY_get1_DSA, 869, libs.second ) - RESOLVEFUNC(EVP_PKEY_get1_RSA, 870, libs.second ) - RESOLVEFUNC(EVP_PKEY_new, 876, libs.second ) - RESOLVEFUNC(EVP_PKEY_type, 882, libs.second ) - RESOLVEFUNC(OBJ_nid2sn, 1036, libs.second ) - RESOLVEFUNC(OBJ_obj2nid, 1037, libs.second ) -#ifdef SSLEAY_MACROS // ### verify - RESOLVEFUNC(PEM_ASN1_read_bio, 1180, libs.second ) -#else - RESOLVEFUNC(PEM_read_bio_DSAPrivateKey, 1219, libs.second ) - RESOLVEFUNC(PEM_read_bio_RSAPrivateKey, 1228, libs.second ) - RESOLVEFUNC(PEM_write_bio_DSAPrivateKey, 1260, libs.second ) - RESOLVEFUNC(PEM_write_bio_RSAPrivateKey, 1271, libs.second ) -#endif - RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY, 1220, libs.second ) - RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY, 1230, libs.second ) - RESOLVEFUNC(PEM_write_bio_DSA_PUBKEY, 1261, libs.second ) - RESOLVEFUNC(PEM_write_bio_RSA_PUBKEY, 1273, libs.second ) - RESOLVEFUNC(RAND_seed, 1426, libs.second ) - RESOLVEFUNC(RAND_status, 1429, libs.second ) - RESOLVEFUNC(RSA_free, 1450, libs.second ) - RESOLVEFUNC(sk_free, 2571, libs.second ) - RESOLVEFUNC(sk_num, 2576, libs.second ) - RESOLVEFUNC(sk_pop_free, 2578, libs.second ) - RESOLVEFUNC(sk_value, 2585, libs.second ) - RESOLVEFUNC(SSL_CIPHER_description, 11, libs.first ) - RESOLVEFUNC(SSL_CTX_check_private_key, 21, libs.first ) - RESOLVEFUNC(SSL_CTX_ctrl, 22, libs.first ) - RESOLVEFUNC(SSL_CTX_free, 24, libs.first ) - RESOLVEFUNC(SSL_CTX_new, 35, libs.first ) - RESOLVEFUNC(SSL_CTX_set_cipher_list, 40, libs.first ) - RESOLVEFUNC(SSL_CTX_set_default_verify_paths, 44, libs.first ) - RESOLVEFUNC(SSL_CTX_set_verify, 56, libs.first ) - RESOLVEFUNC(SSL_CTX_set_verify_depth, 57, libs.first ) - RESOLVEFUNC(SSL_CTX_use_certificate, 64, libs.first ) - RESOLVEFUNC(SSL_CTX_use_certificate_file, 67, libs.first ) - RESOLVEFUNC(SSL_CTX_use_PrivateKey, 58, libs.first ) - RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey, 61, libs.first ) - RESOLVEFUNC(SSL_CTX_use_PrivateKey_file, 60, libs.first ) - RESOLVEFUNC(SSL_accept, 82, libs.first ) - RESOLVEFUNC(SSL_clear, 92, libs.first ) - RESOLVEFUNC(SSL_connect, 93, libs.first ) - RESOLVEFUNC(SSL_free, 99, libs.first ) - RESOLVEFUNC(SSL_get_ciphers, 104, libs.first ) - RESOLVEFUNC(SSL_get_current_cipher, 106, libs.first ) - RESOLVEFUNC(SSL_get_error, 110, libs.first ) - RESOLVEFUNC(SSL_get_peer_cert_chain, 117, libs.first ) - RESOLVEFUNC(SSL_get_peer_certificate, 118, libs.first ) - RESOLVEFUNC(SSL_get_verify_result, 132, libs.first ) - RESOLVEFUNC(SSL_library_init, 137, libs.first ) - RESOLVEFUNC(SSL_load_error_strings, 139, libs.first ) - RESOLVEFUNC(SSL_new, 140, libs.first ) -#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT) - RESOLVEFUNC(SSL_ctrl, 95, libs.first ) -#endif - RESOLVEFUNC(SSL_read, 143, libs.first ) - RESOLVEFUNC(SSL_set_accept_state, 148, libs.first ) - RESOLVEFUNC(SSL_set_bio, 149, libs.first ) - RESOLVEFUNC(SSL_set_connect_state, 152, libs.first ) - RESOLVEFUNC(SSL_shutdown, 173, libs.first ) - RESOLVEFUNC(SSL_write, 188, libs.first ) - RESOLVEFUNC(SSLv2_client_method, 192, libs.first ) - RESOLVEFUNC(SSLv3_client_method, 195, libs.first ) - RESOLVEFUNC(SSLv23_client_method, 189, libs.first ) - RESOLVEFUNC(TLSv1_client_method, 198, libs.first ) - RESOLVEFUNC(SSLv2_server_method, 194, libs.first ) - RESOLVEFUNC(SSLv3_server_method, 197, libs.first ) - RESOLVEFUNC(SSLv23_server_method, 191, libs.first ) - RESOLVEFUNC(TLSv1_server_method, 200, libs.first ) - RESOLVEFUNC(SSL_CTX_load_verify_locations, 34, libs.first ) - RESOLVEFUNC(X509_NAME_entry_count, 1821, libs.second ) - RESOLVEFUNC(X509_NAME_get_entry, 1823, libs.second ) - RESOLVEFUNC(X509_NAME_ENTRY_get_data, 1808, libs.second ) - RESOLVEFUNC(X509_NAME_ENTRY_get_object, 1809, libs.second ) - RESOLVEFUNC(X509_PUBKEY_get, 1844, libs.second ) - RESOLVEFUNC(X509_STORE_free, 1939, libs.second ) - RESOLVEFUNC(X509_STORE_new, 1942, libs.second ) - RESOLVEFUNC(X509_STORE_add_cert, 1936, libs.second ) - RESOLVEFUNC(X509_STORE_CTX_free, 1907, libs.second ) - RESOLVEFUNC(X509_STORE_CTX_init, 1919, libs.second ) - RESOLVEFUNC(X509_STORE_CTX_new, 1920, libs.second ) - RESOLVEFUNC(X509_STORE_CTX_set_purpose, 1931, libs.second ) - RESOLVEFUNC(X509_cmp, 1992, libs.second ) -#ifndef SSLEAY_MACROS - RESOLVEFUNC(X509_dup, 1997, libs.second ) -#endif - RESOLVEFUNC(X509_print, 2046, libs.second ) - RESOLVEFUNC(X509_EXTENSION_get_object, 1785, libs.second ) - RESOLVEFUNC(X509_free, 2001, libs.second ) - RESOLVEFUNC(X509_get_ext, 2012, libs.second ) - RESOLVEFUNC(X509_get_ext_count, 2016, libs.second ) - RESOLVEFUNC(X509_get_ext_d2i, 2017, libs.second ) - RESOLVEFUNC(X509_get_issuer_name, 2018, libs.second ) - RESOLVEFUNC(X509_get_subject_name, 2022, libs.second ) - RESOLVEFUNC(X509_verify_cert, 2069, libs.second ) - RESOLVEFUNC(d2i_X509, 2309, libs.second ) - RESOLVEFUNC(i2d_X509, 2489, libs.second ) -#ifdef SSLEAY_MACROS - RESOLVEFUNC(i2d_DSAPrivateKey, 2395, libs.second ) - RESOLVEFUNC(i2d_RSAPrivateKey, 2476, libs.second ) - RESOLVEFUNC(d2i_DSAPrivateKey, 2220, libs.second ) - RESOLVEFUNC(d2i_RSAPrivateKey, 2296, libs.second ) -#endif - RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf, 1153, libs.second ) - RESOLVEFUNC(OPENSSL_add_all_algorithms_conf, 1152, libs.second ) - RESOLVEFUNC(SSLeay, 1504, libs.second ) -#else // Q_OS_SYMBIAN #ifdef SSLEAY_MACROS RESOLVEFUNC(ASN1_dup) #endif @@ -817,7 +658,7 @@ bool q_resolveOpenSslSymbols() RESOLVEFUNC(SSL_CTX_load_verify_locations) RESOLVEFUNC(SSLeay) RESOLVEFUNC(SSLeay_version) -#endif // Q_OS_SYMBIAN + symbolsResolved = true; delete libs.first; delete libs.second; diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri index 9ba8d01f51..7a8694ca62 100644 --- a/src/network/ssl/ssl.pri +++ b/src/network/ssl/ssl.pri @@ -2,11 +2,7 @@ contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) { -symbian { - INCLUDEPATH *= $$OS_LAYER_SSL_SYSTEMINCLUDE -} else { - include($$QT_SOURCE_TREE/config.tests/unix/openssl/openssl.pri) -} +include($$QT_SOURCE_TREE/config.tests/unix/openssl/openssl.pri) HEADERS += ssl/qssl.h \ ssl/qsslcertificate.h \ |