openssl/util
Rich Salz 7e5363abe3 Rewrite crypto/ex_data
Removed ability to set ex_data impl at runtime.  This removed these
three functions:
    const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void);
    int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i);
    int CRYPTO_ex_data_new_class(void);
It is no longer possible to change the ex_data implementation at
runtime.  (Luckily those functions were never documented :)

Also removed the ability to add new exdata "classes."  We don't believe
this received much (if any) use, since you can't add it to OpenSSL objects,
and there are probably better (native) methods for developers to add
their own extensible data, if they really need that.

Replaced the internal hash table (of per-"class" stacks) with a simple
indexed array.  Reserved an index for "app" application.

Each API used to take the lock twice; now it only locks once.

Use local stack storage for function pointers, rather than malloc,
if possible (i.e., number of ex_data items is under a dozen).

Make CRYPTO_EX_DATA_FUNCS opaque/internal.

Also fixes RT3710; index zero is reserved.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-07-20 01:16:28 -04:00
..
pl GitHub284: Fix typo in xx-32.pl scripts. 2015-05-20 04:18:55 -04:00
add_cr.pl
bat.sh Remove remaining variables for symlinked/copied headers and tests 2015-03-31 20:16:01 +02:00
ck_errf.pl Allow for types with leading underscore when checking error macros. 2015-04-28 14:34:58 +02:00
clean-depend.pl Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
copy-if-different.pl
copy.pl
cygwin.sh
deleof.pl
deltree.com
dirname.pl
do_ms.sh
domd Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
err-ins.pl
extract-names.pl
extract-section.pl
files.pl
fipsdist.pl
fipslink.pl
fipsobj.pl
fixNT.sh
FreeBSD.sh
incore util/incore update. 2015-05-13 17:23:48 +02:00
indent.pro Add types to indent.pro 2015-05-17 18:35:21 +01:00
install.sh
libeay.num Rewrite crypto/ex_data 2015-07-20 01:16:28 -04:00
mk1mf.pl GH322: Fix typo in generated comment. 2015-07-15 03:32:24 -04:00
mkbuildinf.pl
mkcerts.sh
mkdef.pl Remove support for OPENSSL_NO_TLSEXT 2015-05-22 23:10:51 +01:00
mkdir-p.pl
mkerr.pl Have mkerr.pl treat already existing multiline string defs properly 2015-04-08 21:44:43 +02:00
mkfiles.pl Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
mkrc.pl Conversion to UTF-8 where needed 2015-07-14 01:10:01 +02:00
mkstack.pl Sort @sstacklst correctly. 2015-07-09 16:04:09 +01:00
openssl-format-source
opensslwrap.sh
perlpath.pl
point.sh
selftest.pl
shlib_wrap.sh
sp-diff.pl
speed.sh
src-dep.pl
ssleay.num make update 2015-06-29 11:47:59 +01:00
su-filter.pl
tab_num.pl
toutf8.sh Small script to re-encode files that need it to UTF-8 2015-07-14 01:10:01 +02:00
x86asm.sh