Hi,
OpenSSL 1.0.0 works great for all C applications using OpenSSL I've tried so 
far, but the changes break C++ applications rather badly.

e.g. when compiling kdelibs, this happens:

kopenssl.h:500: error: expected `;' before `(' token
kopenssl.h:506: error: `STACK' has not been declared
[...]

This is simple to fix because it's just caused by STACK being renamed to 
_STACK, but after modifying the code to typedef _STACK STACK; for 
compatibility with OpenSSL 0.9.x, the real problems start:

kssl.cpp:590: error: invalid conversion from `void*' to `STACK*'
kssl.cpp:590: error:   initializing argument 1 of `STACK* 
KOpenSSLProxy::sk_dup(STACK*)'

Without looking very deeply, my guess is that the new type checking system in 
OpenSSL isn't C++ compatible.

Hi,
OpenSSL 1.0.0 works great for all C applications using OpenSSL I've tried so far, but the changes break C++ applications rather badly.


e.g. when compiling kdelibs, this happens:


kopenssl.h:500: error: expected `;' before `(' token
kopenssl.h:506: error: `STACK' has not been declared
[...]


This is simple to fix because it's just caused by STACK being renamed to _STACK, but after modifying the code to typedef _STACK STACK; for compatibility with OpenSSL 0.9.x, the real problems start:


kssl.cpp:590: error: invalid conversion from `void*' to `STACK*'
kssl.cpp:590: error: initializing argument 1 of `STACK* KOpenSSLProxy::sk_dup(STACK*)'


Without looking very deeply, my guess is that the new type checking system in OpenSSL isn't C++ compatible.

Reply via email to