1. Modify the uplink logic to hardcode your DLL, and make sure your users' programs never call this modified openssl, probably by using a nonstandard
filename(s), and then stand ready to provide updates every few months. 2. Rewrite the uplink logic to figure out which DLL is providing the troublesome arguments, i.e. FILE pointers. You probably have to decompile and reverse engineer the calling code, and in some cases it may not be possible and you have to fail the operation with an explanation that no user will understand. 3. Don't call OpenSSL routines that need uplink, namely those that use FILE pointers. E.g. instead of fp = fopen ("certfile","r"); PEM_read_X509 (fp, .) use BIO*bio = BIO_new_file ("certfile","r"); PEM_read_bio_X509 (bio, .). I recommend 3. It's a bit tedious, but it works, and will continue to work. From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] On Behalf Of Mohan Kumar Sent: Wednesday, April 02, 2014 14:46 To: openssl-users@openssl.org Subject: *** Spam *** no OPENSSL_Applink in my DLL Hi, I am writing a DLL plugin which works with a third party plugin. The DLL uses open ssl. I was able to successfully connect to a ssl server from a console application (.exe). But when I added the same code to my dll, it is not working. Discussions point that i should include "applink.c" in my code which has main function, but sadly DLL is all I got. Please point me to a soln. -- Thanks, Mohan