[openssl-dev] Intent of the private_ wrappers

Steve Schefter steve at scheftech.com
Wed Mar 11 13:31:22 UTC 2015


On 3/10/2015 10:35 PM, Dr. Stephen Henson wrote:

> I just built OpenSSL 1.0.1 from source using the normal build procedure on
> Ubuntu Linux 14.04.2 and it *did* make the private_* symbols global in
> libcrypto.so for example:
>
> 00000000000e2180 T private_AES_set_decrypt_key
> 00000000000e1eb0 T private_AES_set_encrypt_key
>
> So I'm not sure why they're not global in your case.

Interesting.  Thanks for running that.

It looks like a difference in our linkers.  Something I just noticed: 
In openssl.ld for OPENSSL_1.0.0 it has an entry to make all symbols that 
are not explicitly listed local.
	global:
		BIO_F_ssl;
		BIO_new_buffer_ssl_connect;
		...
	local:
		*;
That isn't the case for OPENSSL_1.0.1 however; only the global list is 
in place and there's no catch-all local entry.  Perhaps that allows for 
some freedom for the linker with the symbols that are not listed.

Regards,
	Steve


More information about the openssl-dev mailing list