Skip to content

Poco 1.6.0 is not compiled with openssl 1.0.0 #724

@smozhaykin

Description

@smozhaykin

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;
#endif

But 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;
#endif

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions