openssl version error - need to detect programmatically
-
I know why I get this error - the program was compiled with one version (1.0.2d) but the libraries were 1.0.2c. The console logs show the issue (it's embedded ARM, not that this matters),
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_errorbut my program just knows that a network operation timed out. I'd like to know how to detect this clash and disable the dependent feature (email) as well as display an alert to the user.
"Network operation timed out"
pretty sure the error happens here:
((QSslSocket*) socket)->startClientEncryption(); if (!((QSslSocket*) socket)->waitForEncrypted(connectionTimeout)) { qDebug() << ((QSslSocket*) socket)->errorString(); emit smtpError(ConnectionTimeoutError); return false; }
-
any suggestions?
-
https://www.openssl.org/policies/releasestrat.html
"Minor releases that change the last digit, e.g. 1.0.1 vs. 1.0.2, can and are likely to contain new features, but in a way that does not break binary compatibility."So I don't believe what "1.0.2d vs 1.0.2c" itself causes a problem.