jumaris / indyproject

Automatically exported from code.google.com/p/indyproject
0 stars 0 forks source link

Use IdSSLIOHandlerSocketOpenSSL in C++ (Rad Studio XE2) #217

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile Indy in XE2 so that headers are created (automatically via 
FullC4-16.bat) 
2. Use a IdSSLIOHandlerSocketOpenSSL component
3. Compile -> error message about symbols like Tsk_X509_INFO_push in 
IdSSLOpenSSLHeaders.hpp

What version of the product are you using? On what operating system?
Indy 10 r4717 on Windows 7

Please provide any additional information below.

When looking in IdSSLOpenSSLHeaders.pas, several 'EXTERNALSYM' definitions are 
not visible in the generated header file.

for example:
     {$EXTERNALSYM Tsk_X509_INFO_push}
      Tsk_X509_INFO_push = function (sk : PSTACK_OF_X509_INFO; st : PX509_INFO) : TIdC_INT cdecl;

the C++ equivalent is not present in the header file.

more below in the pas file following code is present:

     {$EXTERNALSYM sk_X509_NAME_push}
      sk_X509_INFO_push : Tsk_X509_INFO_push absolute sk_push;

this is present in the header file:

    extern PACKAGE Tsk_X509_INFO_push sk_X509_INFO_push;

but Tsk_X509_INFO_push is not defined, so a compiler error is generated.
By commenting out following code in the header file, the compiler error is 
gone, but I don't think this is a correct way to handle this.

//extern PACKAGE Tsk_X509_INFO_push sk_X509_INFO_push;
//extern PACKAGE Tsk_X509_INFO_dup sk_X509_INFO_dup;
//extern PACKAGE Tsk_X509_INFO_find sk_X509_INFO_find;

Original issue reported on code.google.com by koen.bar...@gmail.com on 7 Feb 2012 at 4:08

GoogleCodeExporter commented 9 years ago
Fixed in r4750

Original comment by gambit47 on 15 May 2012 at 5:16