-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Closed
Description
Hello,
I'm using openssl-1.0.0 library and try to build poco 1.6.0 with it. But I get following errors:
1>src\Context.cpp(344): error C3861: 'TLSv1_1_client_method': identifier n
ot found [C:\3rdParty\poco\poco-1.6.0-all\NetSSL
_OpenSSL\NetSSL_OpenSSL_vs120.vcxproj]
1>src\Context.cpp(347): error C3861: 'TLSv1_1_server_method': identifier n
ot found [C:\3rdParty\poco\poco-1.6.0-all\NetSSL
_OpenSSL\NetSSL_OpenSSL_vs120.vcxproj]
1>Сборка проекта "C:\3rdParty\poco\poco-1.6.0-all\
NetSSL_OpenSSL\NetSSL_OpenSSL_vs120.vcxproj" завершена (целевые объекты
build) с ошибкой.
Ошибка сборки.
"C:\3rdParty\poco\poco-1.6.0-all\NetSSL_OpenSSL\
NetSSL_OpenSSL_vs120.vcxproj" (целевой объект build ) (1) ->
(Целевой объект ClCompile) ->
src\Context.cpp(344): error C3861: 'TLSv1_1_client_method': identifier
not found [C:\3rdParty\poco\poco-1.6.0-all\NetS
SL_OpenSSL\NetSSL_OpenSSL_vs120.vcxproj]
src\Context.cpp(347): error C3861: 'TLSv1_1_server_method': identifier
not found [C:\3rdParty\poco\poco-1.6.0-all\NetS
SL_OpenSSL\NetSSL_OpenSSL_vs120.vcxproj]
I've look through the Context.cpp and found that TLSv1.1 support starts beginning with openssl-1.0.0:
#if OPENSSL_VERSION_NUMBER >= 0x10000000L
case TLSV1_1_CLIENT_USE:
_pSSLContext = SSL_CTX_new(TLSv1_1_client_method());
break;
case TLSV1_1_SERVER_USE:
_pSSLContext = SSL_CTX_new(TLSv1_1_server_method());
break;
#endifBut according to https://www.openssl.org/news/openssl-notes.html both TLSv1.1 and TLSv1.2are supported starting with openssl-1.0.1. So I believe Context.cpp should be changed:
#if OPENSSL_VERSION_NUMBER >= 0x10001000L
case TLSV1_1_CLIENT_USE:
_pSSLContext = SSL_CTX_new(TLSv1_1_client_method());
break;
case TLSV1_1_SERVER_USE:
_pSSLContext = SSL_CTX_new(TLSv1_1_server_method());
break;
case TLSV1_2_CLIENT_USE:
_pSSLContext = SSL_CTX_new(TLSv1_2_client_method());
break;
case TLSV1_2_SERVER_USE:
_pSSLContext = SSL_CTX_new(TLSv1_2_server_method());
break;
#endifReactions are currently unavailable