OpenSSL plugin: issue with OpenSSL compiled with OPENSSL_NO_DEPRECATED
When OpenSSL is compiled with the OPENSSL_NO_DEPRECATED option a number of historical mishaps in the API have been corrected. One of them is that headers like openssl/dh.h or openssl/rsa.h no longer include openssl/bn.h. I've found that code in the libstrongswan OpenSSL plugin uses BN_* functions without having included openssl/bn.h explicitly, instead relying on it being included implicitly by other OpenSSL headers. This causes compilation warnings and runtime problems when OpenSSL was compiled with this OPENSSL_NO_DEPRECATED option.
Patch to fix this is attached.