openssl version error - need to detect programmatically
-
wrote on 16 Jun 2016, 00:17 last edited by
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; }
-
wrote on 29 Jun 2016, 17:02 last edited by
any suggestions?
-
wrote on 30 Dec 2016, 13:40 last edited by flart
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.