summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES34
-rwxr-xr-xConfigure7
-rw-r--r--crypto/asn1/asn1.h2
-rw-r--r--crypto/asn1/asn1t.h6
-rw-r--r--crypto/des/des.h6
-rw-r--r--crypto/des/enc_read.c2
-rw-r--r--crypto/des/set_key.c2
-rw-r--r--crypto/opensslconf.h.in2
-rw-r--r--e_os2.h22
-rwxr-xr-xmakevms.com5
-rwxr-xr-xutil/libeay.num357
-rwxr-xr-xutil/mkdef.pl509
-rwxr-xr-xutil/ssleay.num6
13 files changed, 695 insertions, 265 deletions
diff --git a/CHANGES b/CHANGES
index 3c45bc7f2b..18c984c5c2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,40 @@
Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
+ *) Introduce the possibility to access global variables through
+ functions on platform were that's the best way to handle exporting
+ global variables in shared libraries. To enable this functionality,
+ one must configure with "EXPORT_VAR_AS_FN" or defined the C macro
+ "OPENSSL_EXPORT_VAR_AS_FUNCTION" in crypto/opensslconf.h (the latter
+ is normally done by Configure or something similar).
+
+ To implement a global variable, use the macro OPENSSL_IMPLEMENT_GLOBAL
+ in the source file (foo.c) like this:
+
+ OPENSSL_IMPLEMENT_GLOBAL(int,foo)=1;
+ OPENSSL_IMPLEMENT_GLOBAL(double,bar);
+
+ To declare a global variable, use the macros OPENSSL_DECLARE_GLOBAL
+ and OPENSSL_GLOBAL_REF in the header file (foo.h) like this:
+
+ OPENSSL_DECLARE_GLOBAL(int,foo);
+ #define foo OPENSSL_GLOBAL_REF(foo)
+ OPENSSL_DECLARE_GLOBAL(double,bar);
+ #define bar OPENSSL_GLOBAL_REF(bar)
+
+ The #defines are very important, and therefore so is including the
+ header file everywere where the defined globals are used.
+
+ The macro OPENSSL_EXPORT_VAR_AS_FUNCTION also affects the definition
+ of ASN.1 items, but that structure is a bt different.
+
+ The largest change is in util/mkdef.pl which has been enhanced with
+ better and easier to understand logic to choose which symbols should
+ go into the Windows .def files as well as a number of fixes and code
+ cleanup (among others, algorithm keywords are now sorted
+ lexicographically to avoid constant rewrites).
+ [Richard Levitte]
+
*) In copy_email() check for >= 0 as a return value for
X509_NAME_get_index_by_NID() since 0 is a valid index.
[Steve Henson reported by Massimiliano Pala <madwolf@opensca.org>]
diff --git a/Configure b/Configure
index 5c69e89f0a..cd6afd8bab 100755
--- a/Configure
+++ b/Configure
@@ -968,6 +968,7 @@ my $rc4_chunk=0;
my $bf_ptr=0;
my @type=("char","short","int","long");
my ($b64l,$b64,$b32,$b16,$b8)=(0,0,1,0,0);
+my $export_var_as_fn=0;
my $des_int;
@@ -997,6 +998,7 @@ foreach (sort split(/\s+/,$bn_ops))
($b64l,$b64,$b32,$b16,$b8)=(0,0,1,0,0) if /THIRTY_TWO_BIT/;
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,1,0) if /SIXTEEN_BIT/;
($b64l,$b64,$b32,$b16,$b8)=(0,0,0,0,1) if /EIGHT_BIT/;
+ $export_var_as_fn=1 if /EXPORT_VAR_AS_FN/;
}
open(IN,'<crypto/opensslconf.h.in') || die "unable to read crypto/opensslconf.h.in:$!\n";
@@ -1029,6 +1031,11 @@ while (<IN>)
{
if (/^#define\s+OPENSSLDIR/)
{ print OUT "#define OPENSSLDIR \"$openssldir\"\n"; }
+ elsif (/^#((define)|(undef))\s+OPENSSL_EXPORT_VAR_AS_FUNCTION/)
+ { printf OUT "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\n"
+ if $export_var_as_fn;
+ printf OUT "#%s OPENSSL_EXPORT_VAR_AS_FUNCTION\n",
+ ($export_var_as_fn)?"define":"undef"; }
elsif (/^#define\s+OPENSSL_UNISTD/)
{
$unistd = "<unistd.h>" if $unistd eq "";
diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h
index a3b992ff93..ae92ad9954 100644
--- a/crypto/asn1/asn1.h
+++ b/crypto/asn1/asn1.h
@@ -357,7 +357,7 @@ typedef struct ASN1_VALUE_st ASN1_VALUE;
*
*/
-#ifndef ASN1_ITEM_FUNCTIONS
+#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION
/* ASN1_ITEM pointer exported type */
typedef const ASN1_ITEM ASN1_ITEM_EXP;
diff --git a/crypto/asn1/asn1t.h b/crypto/asn1/asn1t.h
index 7d01df0674..6e1bf87e5c 100644
--- a/crypto/asn1/asn1t.h
+++ b/crypto/asn1/asn1t.h
@@ -74,7 +74,7 @@ extern "C" {
#endif
-#ifndef ASN1_ITEM_FUNCTIONS
+#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION
/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */
#define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr))
@@ -287,7 +287,7 @@ extern "C" {
/* Any defined by macros: the field used is in the table itself */
-#ifndef ASN1_ITEM_FUNCTIONS
+#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION
#define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }
#define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) }
#else
@@ -358,7 +358,7 @@ extern "C" {
#define ASN1_ADB(name) \
const static ASN1_ADB_TABLE name##_adbtbl[]
-#ifndef ASN1_ITEM_FUNCTIONS
+#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION
#define ASN1_ADB_END(name, flags, field, app_table, def, none) \
;\
diff --git a/crypto/des/des.h b/crypto/des/des.h
index 5fa6aef27b..dc627189b4 100644
--- a/crypto/des/des.h
+++ b/crypto/des/des.h
@@ -116,8 +116,10 @@ typedef struct des_ks_struct
#define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \
des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n))
-OPENSSL_EXTERN int des_check_key; /* defaults to false */
-OPENSSL_EXTERN int des_rw_mode; /* defaults to DES_PCBC_MODE */
+OPENSSL_DECLARE_GLOBAL(int,des_check_key); /* defaults to false */
+#define des_check_key OPENSSL_GLOBAL_REF(des_check_key)
+OPENSSL_DECLARE_GLOBAL(int,des_rw_mode); /* defaults to DES_PCBC_MODE */
+#define des_rw_mode OPENSSL_GLOBAL_REF(des_rw_mode)
const char *des_options(void);
void des_ecb3_encrypt(const_des_cblock *input, des_cblock *output,
diff --git a/crypto/des/enc_read.c b/crypto/des/enc_read.c
index af2d9177d2..e8a5763abf 100644
--- a/crypto/des/enc_read.c
+++ b/crypto/des/enc_read.c
@@ -63,7 +63,7 @@
/* This has some uglies in it but it works - even over sockets. */
/*extern int errno;*/
-OPENSSL_GLOBAL int des_rw_mode=DES_PCBC_MODE;
+OPENSSL_IMPLEMENT_GLOBAL(int,des_rw_mode)=DES_PCBC_MODE;
/*
diff --git a/crypto/des/set_key.c b/crypto/des/set_key.c
index 6df3ba9a64..0dc79c9461 100644
--- a/crypto/des/set_key.c
+++ b/crypto/des/set_key.c
@@ -65,7 +65,7 @@
*/
#include "des_locl.h"
-OPENSSL_GLOBAL int des_check_key=0;
+OPENSSL_IMPLEMENT_GLOBAL(int,des_check_key); /* defaults to false */
static const unsigned char odd_parity[256]={
1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13, 14, 14,
diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in
index 5da5911228..a06861b96e 100644
--- a/crypto/opensslconf.h.in
+++ b/crypto/opensslconf.h.in
@@ -12,6 +12,8 @@
#undef OPENSSL_UNISTD
#define OPENSSL_UNISTD <unistd.h>
+#undef OPENSSL_EXPORT_VAR_AS_FUNCTIONS
+
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
#define IDEA_INT unsigned int
#endif
diff --git a/e_os2.h b/e_os2.h
index be20eac623..f279fa1d93 100644
--- a/e_os2.h
+++ b/e_os2.h
@@ -200,6 +200,28 @@ extern "C" {
#endif
#define OPENSSL_EXTERN OPENSSL_IMPORT
+/* Macros to allow global variables to be reached through function calls when
+ required (if a shared library version requvres it, for example.
+ The way it's done allows definitions like this:
+
+ // in foobar.c
+ OPENSSL_IMPLEMENT_GLOBAL(int,foobar) = 0;
+ // in foobar.h
+ OPENSSL_DECLARE_GLOBAL(int,foobar);
+ #define foobar OPENSSL_GLOBAL_REF(foobar)
+*/
+#ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name) extern static type _hide_##name; \
+ type *_shadow_##name(void) { static type local_var; return &local_var; } \
+ static type _hide_##name
+# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
+# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
+#else
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name) OPENSSL_GLOBAL type _shadow_##name
+# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name
+# define OPENSSL_GLOBAL_REF(name) _shadow_##name
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/makevms.com b/makevms.com
index 194e485732..579fcae5a3 100755
--- a/makevms.com
+++ b/makevms.com
@@ -285,6 +285,8 @@ $ WRITE H_FILE "#undef THIRTY_TWO_BIT"
$ WRITE H_FILE "#undef SIXTEEN_BIT"
$ WRITE H_FILE "#undef EIGHT_BIT"
$ WRITE H_FILE "#endif"
+$
+$ WRITE H_FILE "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION"
$!
$! Else...
$!
@@ -317,6 +319,9 @@ $ WRITE H_FILE "#define THIRTY_TWO_BIT"
$ WRITE H_FILE "#undef SIXTEEN_BIT"
$ WRITE H_FILE "#undef EIGHT_BIT"
$ WRITE H_FILE "#endif"
+$
+$ WRITE H_FILE "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION"
+$ WRITE H_FILE "#define OPENSSL_EXPORT_VAR_AS_FUNCTION"
$!
$! End
$!
diff --git a/util/libeay.num b/util/libeay.num
index 6c76287f5f..92de2a8f5f 100755
--- a/util/libeay.num
+++ b/util/libeay.num
@@ -203,13 +203,13 @@ DSA_generate_key 210 EXIST::FUNCTION:DSA
DSA_generate_parameters 211 EXIST::FUNCTION:DSA
DSA_is_prime 212 NOEXIST::FUNCTION:
DSA_new 213 EXIST::FUNCTION:DSA
-DSA_print 214 EXIST::FUNCTION:DSA,BIO
+DSA_print 214 EXIST::FUNCTION:BIO,DSA
DSA_print_fp 215 EXIST::FUNCTION:DSA,FP_API
DSA_sign 216 EXIST::FUNCTION:DSA
DSA_sign_setup 217 EXIST::FUNCTION:DSA
DSA_size 218 EXIST::FUNCTION:DSA
DSA_verify 219 EXIST::FUNCTION:DSA
-DSAparams_print 220 EXIST::FUNCTION:DSA,BIO
+DSAparams_print 220 EXIST::FUNCTION:BIO,DSA
DSAparams_print_fp 221 EXIST::FUNCTION:DSA,FP_API
ERR_clear_error 222 EXIST::FUNCTION:
ERR_error_string 223 EXIST::FUNCTION:
@@ -478,7 +478,7 @@ RSA_generate_key 485 EXIST::FUNCTION:RSA
RSA_new 486 EXIST::FUNCTION:RSA
RSA_new_method 487 EXIST::FUNCTION:RSA
RSA_print 488 EXIST::FUNCTION:BIO,RSA
-RSA_print_fp 489 EXIST::FUNCTION:RSA,FP_API
+RSA_print_fp 489 EXIST::FUNCTION:FP_API,RSA
RSA_private_decrypt 490 EXIST::FUNCTION:RSA
RSA_private_encrypt 491 EXIST::FUNCTION:RSA
RSA_public_decrypt 492 EXIST::FUNCTION:RSA
@@ -489,14 +489,14 @@ RSA_sign_ASN1_OCTET_STRING 496 EXIST::FUNCTION:RSA
RSA_size 497 EXIST::FUNCTION:RSA
RSA_verify 498 EXIST::FUNCTION:RSA
RSA_verify_ASN1_OCTET_STRING 499 EXIST::FUNCTION:RSA
-SHA 500 EXIST::FUNCTION:SHA0,SHA
+SHA 500 EXIST::FUNCTION:SHA,SHA0
SHA1 501 EXIST::FUNCTION:SHA,SHA1
SHA1_Final 502 EXIST::FUNCTION:SHA,SHA1
SHA1_Init 503 EXIST::FUNCTION:SHA,SHA1
SHA1_Update 504 EXIST::FUNCTION:SHA,SHA1
-SHA_Final 505 EXIST::FUNCTION:SHA0,SHA
-SHA_Init 506 EXIST::FUNCTION:SHA0,SHA
-SHA_Update 507 EXIST::FUNCTION:SHA0,SHA
+SHA_Final 505 EXIST::FUNCTION:SHA,SHA0
+SHA_Init 506 EXIST::FUNCTION:SHA,SHA0
+SHA_Update 507 EXIST::FUNCTION:SHA,SHA0
OpenSSL_add_all_algorithms 508 EXIST::FUNCTION:
OpenSSL_add_all_ciphers 509 EXIST::FUNCTION:
OpenSSL_add_all_digests 510 EXIST::FUNCTION:
@@ -719,7 +719,7 @@ d2i_ASN1_bytes 725 EXIST::FUNCTION:
d2i_ASN1_type_bytes 726 EXIST::FUNCTION:
d2i_DHparams 727 EXIST::FUNCTION:DH
d2i_DSAPrivateKey 728 EXIST::FUNCTION:DSA
-d2i_DSAPrivateKey_bio 729 EXIST::FUNCTION:DSA,BIO
+d2i_DSAPrivateKey_bio 729 EXIST::FUNCTION:BIO,DSA
d2i_DSAPrivateKey_fp 730 EXIST::FUNCTION:DSA,FP_API
d2i_DSAPublicKey 731 EXIST::FUNCTION:DSA
d2i_DSAparams 732 EXIST::FUNCTION:DSA
@@ -742,7 +742,7 @@ d2i_PrivateKey 748 EXIST::FUNCTION:
d2i_PublicKey 749 EXIST::FUNCTION:
d2i_RSAPrivateKey 750 EXIST::FUNCTION:RSA
d2i_RSAPrivateKey_bio 751 EXIST::FUNCTION:BIO,RSA
-d2i_RSAPrivateKey_fp 752 EXIST::FUNCTION:RSA,FP_API
+d2i_RSAPrivateKey_fp 752 EXIST::FUNCTION:FP_API,RSA
d2i_RSAPublicKey 753 EXIST::FUNCTION:RSA
d2i_X509 754 EXIST::FUNCTION:
d2i_X509_ALGOR 755 EXIST::FUNCTION:
@@ -821,7 +821,7 @@ i2d_ASN1_UTCTIME 828 EXIST::FUNCTION:
i2d_ASN1_bytes 829 EXIST::FUNCTION:
i2d_DHparams 830 EXIST::FUNCTION:DH
i2d_DSAPrivateKey 831 EXIST::FUNCTION:DSA
-i2d_DSAPrivateKey_bio 832 EXIST::FUNCTION:DSA,BIO
+i2d_DSAPrivateKey_bio 832 EXIST::FUNCTION:BIO,DSA
i2d_DSAPrivateKey_fp 833 EXIST::FUNCTION:DSA,FP_API
i2d_DSAPublicKey 834 EXIST::FUNCTION:DSA
i2d_DSAparams 835 EXIST::FUNCTION:DSA
@@ -844,7 +844,7 @@ i2d_PrivateKey 851 EXIST::FUNCTION:
i2d_PublicKey 852 EXIST::FUNCTION:
i2d_RSAPrivateKey 853 EXIST::FUNCTION:RSA
i2d_RSAPrivateKey_bio 854 EXIST::FUNCTION:BIO,RSA
-i2d_RSAPrivateKey_fp 855 EXIST::FUNCTION:RSA,FP_API
+i2d_RSAPrivateKey_fp 855 EXIST::FUNCTION:FP_API,RSA
i2d_RSAPublicKey 856 EXIST::FUNCTION:RSA
i2d_X509 857 EXIST::FUNCTION:
i2d_X509_ALGOR 858 EXIST::FUNCTION:
@@ -933,8 +933,8 @@ d2i_RSAPublicKey_bio 945 EXIST::FUNCTION:BIO,RSA
i2d_RSAPublicKey_bio 946 EXIST::FUNCTION:BIO,RSA
PEM_read_RSAPublicKey 947 EXIST:!WIN16:FUNCTION:RSA
PEM_write_RSAPublicKey 949 EXIST:!WIN16:FUNCTION:RSA
-d2i_RSAPublicKey_fp 952 EXIST::FUNCTION:RSA,FP_API
-i2d_RSAPublicKey_fp 954 EXIST::FUNCTION:RSA,FP_API
+d2i_RSAPublicKey_fp 952 EXIST::FUNCTION:FP_API,RSA
+i2d_RSAPublicKey_fp 954 EXIST::FUNCTION:FP_API,RSA
BIO_copy_next_retry 955 EXIST::FUNCTION:
RSA_flags 956 EXIST::FUNCTION:RSA
X509_STORE_add_crl 957 EXIST::FUNCTION:
@@ -989,7 +989,7 @@ ERR_load_CRYPTOlib_strings 1009 EXIST:WIN16,VMS:FUNCTION:
EVP_PKEY_bits 1010 EXIST::FUNCTION:
MD5_Transform 1011 EXIST::FUNCTION:MD5
SHA1_Transform 1012 EXIST::FUNCTION:SHA,SHA1
-SHA_Transform 1013 EXIST::FUNCTION:SHA0,SHA
+SHA_Transform 1013 EXIST::FUNCTION:SHA,SHA0
X509_STORE_CTX_get_chain 1014 EXIST::FUNCTION:
X509_STORE_CTX_get_current_cert 1015 EXIST::FUNCTION:
X509_STORE_CTX_get_error 1016 EXIST::FUNCTION:
@@ -1216,7 +1216,7 @@ name_cmp 1239 EXIST::FUNCTION:
str_dup 1240 NOEXIST::FUNCTION:
i2s_ASN1_ENUMERATED 1241 EXIST::FUNCTION:
i2s_ASN1_ENUMERATED_TABLE 1242 EXIST::FUNCTION:
-BIO_s_log 1243 EXIST:!WIN32,!WIN16,!macintosh:FUNCTION:
+BIO_s_log 1243 EXIST:!WIN16,!WIN32,!macintosh:FUNCTION:
BIO_f_reliable 1244 EXIST::FUNCTION:BIO
PKCS7_dataFinal 1245 EXIST::FUNCTION:
PKCS7_dataDecode 1246 EXIST::FUNCTION:
@@ -1468,7 +1468,7 @@ RSA_get_method 1847 EXIST::FUNCTION:RSA
RSA_get_default_method 1848 NOEXIST::FUNCTION:
RSA_check_key 1869 EXIST::FUNCTION:RSA
OBJ_obj2txt 1870 EXIST::FUNCTION:
-DSA_dup_DH 1871 EXIST::FUNCTION:DSA,DH
+DSA_dup_DH 1871 EXIST::FUNCTION:DH,DSA
X509_REQ_get_extensions 1872 EXIST::FUNCTION:
X509_REQ_set_extension_nids 1873 EXIST::FUNCTION:
BIO_nwrite 1874 EXIST::FUNCTION:
@@ -1543,7 +1543,7 @@ ASN1_STRING_set_default_mask_asc 1960 EXIST:!VMS:FUNCTION:
ASN1_STRING_set_def_mask_asc 1960 EXIST:VMS:FUNCTION:
PEM_write_bio_RSA_PUBKEY 1961 EXIST::FUNCTION:RSA
ASN1_INTEGER_cmp 1963 EXIST::FUNCTION:
-d2i_RSA_PUBKEY_fp 1964 EXIST::FUNCTION:RSA,FP_API
+d2i_RSA_PUBKEY_fp 1964 EXIST::FUNCTION:FP_API,RSA
X509_trust_set_bit_asc 1967 NOEXIST::FUNCTION:
PEM_write_bio_DSA_PUBKEY 1968 EXIST::FUNCTION:DSA
X509_STORE_CTX_free 1969 EXIST::FUNCTION:
@@ -1576,7 +1576,7 @@ X509_NAME_add_entry_by_OBJ 2008 EXIST::FUNCTION:
X509_CRL_get_ext_d2i 2009 EXIST::FUNCTION:
X509_PURPOSE_get0_name 2011 EXIST::FUNCTION:
PEM_read_PUBKEY 2012 EXIST:!WIN16:FUNCTION:
-i2d_DSA_PUBKEY_bio 2014 EXIST::FUNCTION:DSA,BIO
+i2d_DSA_PUBKEY_bio 2014 EXIST::FUNCTION:BIO,DSA
i2d_OTHERNAME 2015 EXIST::FUNCTION:
ASN1_OCTET_STRING_free 2016 EXIST::FUNCTION:
ASN1_BIT_STRING_set_asc 2017 EXIST::FUNCTION:
@@ -1634,7 +1634,7 @@ PEM_read_bio_DSA_PUBKEY 2088 EXIST::FUNCTION:DSA
X509_PURPOSE_add 2090 EXIST::FUNCTION:
ASN1_STRING_TABLE_get 2091 EXIST::FUNCTION:
ASN1_UTF8STRING_free 2092 EXIST::FUNCTION:
-d2i_DSA_PUBKEY_bio 2093 EXIST::FUNCTION:DSA,BIO
+d2i_DSA_PUBKEY_bio 2093 EXIST::FUNCTION:BIO,DSA
PEM_write_RSA_PUBKEY 2095 EXIST:!WIN16:FUNCTION:RSA
d2i_OTHERNAME 2096 EXIST::FUNCTION:
X509_reject_set_bit 2098 NOEXIST::FUNCTION:
@@ -1646,7 +1646,7 @@ ASN1_BIT_STRING_set 2109 EXIST::FUNCTION:
X509_TRUST_get_count 2110 EXIST::FUNCTION:
ASN1_INTEGER_free 2111 EXIST::FUNCTION:
OTHERNAME_free 2112 EXIST::FUNCTION:
-i2d_RSA_PUBKEY_fp 2113 EXIST::FUNCTION:RSA,FP_API
+i2d_RSA_PUBKEY_fp 2113 EXIST::FUNCTION:FP_API,RSA
ASN1_INTEGER_dup 2114 EXIST::FUNCTION:
d2i_X509_CERT_AUX 2115 EXIST::FUNCTION:
PEM_write_bio_PUBKEY 2117 EXIST::FUNCTION:
@@ -1871,8 +1871,10 @@ X509_time_adj 2453 EXIST::FUNCTION:
X509_check_issued 2454 EXIST::FUNCTION:
ASN1_UTCTIME_cmp_time_t 2455 EXIST::FUNCTION:
des_set_weak_key_flag 2456 NOEXIST::FUNCTION:
-des_check_key 2457 EXIST::VARIABLE:DES
-des_rw_mode 2458 EXIST::VARIABLE:DES
+_shadow_des_check_key 2457 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES
+_shadow_des_check_key 2457 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES
+_shadow_des_rw_mode 2458 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:DES
+_shadow_des_rw_mode 2458 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:DES
RSA_PKCS1_RSAref 2459 NOEXIST::FUNCTION:
X509_keyid_set1 2460 EXIST::FUNCTION:
BIO_next 2461 EXIST::FUNCTION:
@@ -2077,95 +2079,141 @@ BN_mod_lshift1_quick 2656 EXIST::FUNCTION:
BN_mod_lshift_quick 2657 EXIST::FUNCTION:
BN_mod_add_quick 2658 EXIST::FUNCTION:
BN_mod_sub 2659 EXIST::FUNCTION:
-ASN1_UTF8STRING_it 2660 EXIST::VARIABLE:
+ASN1_UTF8STRING_it 2660 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_UTF8STRING_it 2660 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_item_ex_i2d 2661 EXIST::FUNCTION:
X509V3_add1_i2d 2662 EXIST::FUNCTION:
-PKCS7_ENVELOPE_it 2663 EXIST::VARIABLE:
+PKCS7_ENVELOPE_it 2663 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_ENVELOPE_it 2663 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_get1_ext_d2i 2664 EXIST::FUNCTION:
-PBKDF2PARAM_it 2665 EXIST::VARIABLE:
+PBKDF2PARAM_it 2665 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PBKDF2PARAM_it 2665 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EXTENDED_KEY_USAGE_new 2666 EXIST::FUNCTION:
OCSP_BASICRESP_delete_ext 2667 EXIST::FUNCTION:
-X509_CRL_it 2668 EXIST::VARIABLE:
+X509_CRL_it 2668 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_CRL_it 2668 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_BASICRESP_add_ext 2669 EXIST::FUNCTION:
OCSP_REQUEST_get_ext_by_OBJ 2670 EXIST::FUNCTION:
-ASN1_T61STRING_it 2671 EXIST::VARIABLE:
+ASN1_T61STRING_it 2671 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_T61STRING_it 2671 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_BASICRESP_get_ext_by_OBJ 2672 EXIST::FUNCTION:
OCSP_SINGLERESP_get_ext_count 2673 EXIST::FUNCTION:
asn1_do_adb 2674 EXIST::FUNCTION:
ASN1_template_i2d 2675 EXIST::FUNCTION:
-GENERAL_NAME_it 2676 EXIST::VARIABLE:
-ASN1_GENERALIZEDTIME_it 2677 EXIST::VARIABLE:
-SXNET_it 2678 EXIST::VARIABLE:
-POLICYQUALINFO_it 2679 EXIST::VARIABLE:
+GENERAL_NAME_it 2676 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+GENERAL_NAME_it 2676 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+ASN1_GENERALIZEDTIME_it 2677 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_GENERALIZEDTIME_it 2677 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+SXNET_it 2678 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+SXNET_it 2678 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+POLICYQUALINFO_it 2679 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+POLICYQUALINFO_it 2679 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_item_free 2680 EXIST::FUNCTION:
-AUTHORITY_KEYID_it 2681 EXIST::VARIABLE:
+AUTHORITY_KEYID_it 2681 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+AUTHORITY_KEYID_it 2681 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EXTENDED_KEY_USAGE_free 2682 EXIST::FUNCTION:
OCSP_REQUEST_get_ext 2683 EXIST::FUNCTION:
ENGINE_load_ubsec 2684 EXIST::FUNCTION:
-PKEY_USAGE_PERIOD_it 2685 EXIST::VARIABLE:
-NETSCAPE_SPKAC_it 2686 EXIST::VARIABLE:
-X509_REVOKED_it 2687 EXIST::VARIABLE:
+PKEY_USAGE_PERIOD_it 2685 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKEY_USAGE_PERIOD_it 2685 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+NETSCAPE_SPKAC_it 2686 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+NETSCAPE_SPKAC_it 2686 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+X509_REVOKED_it 2687 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_REVOKED_it 2687 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_BASICRESP_get_ext_by_critical 2688 EXIST:!VMS:FUNCTION:
OCSP_BASICRESP_get_ext_by_crit 2688 EXIST:VMS:FUNCTION:
-PKCS12_it 2689 EXIST::VARIABLE:
+PKCS12_it 2689 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS12_it 2689 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_SINGLERESP_get_ext_by_critical 2690 EXIST:!VMS:FUNCTION:
OCSP_SINGLERESP_get_ext_by_crit 2690 EXIST:VMS:FUNCTION:
ASN1_item_i2d 2691 EXIST::FUNCTION:
asn1_ex_i2c 2692 EXIST::FUNCTION:
-X509_EXTENSION_it 2693 EXIST::VARIABLE:
-SXNETID_it 2694 EXIST::VARIABLE:
+X509_EXTENSION_it 2693 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_EXTENSION_it 2693 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+SXNETID_it 2694 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+SXNETID_it 2694 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EDIPARTYNAME_new 2695 EXIST::FUNCTION:
d2i_EXTENDED_KEY_USAGE 2696 EXIST::FUNCTION:
-X509_PUBKEY_it 2697 EXIST::VARIABLE:
-PKCS7_ENCRYPT_it 2698 EXIST::VARIABLE:
+X509_PUBKEY_it 2697 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_PUBKEY_it 2697 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PKCS7_ENCRYPT_it 2698 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_ENCRYPT_it 2698 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509_add1_ext_i2d 2699 EXIST::FUNCTION:
-PKCS7_SIGNER_INFO_it 2700 EXIST::VARIABLE:
-PKCS12_SAFEBAG_it 2701 EXIST::VARIABLE:
+PKCS7_SIGNER_INFO_it 2700 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_SIGNER_INFO_it 2700 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PKCS12_SAFEBAG_it 2701 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS12_SAFEBAG_it 2701 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509_signature_print 2702 EXIST::FUNCTION:EVP
OCSP_REQUEST_add_ext 2703 EXIST::FUNCTION:
-X509_ALGOR_it 2704 EXIST::VARIABLE:
-ASN1_TIME_it 2705 EXIST::VARIABLE:
+X509_ALGOR_it 2704 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_ALGOR_it 2704 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+ASN1_TIME_it 2705 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_TIME_it 2705 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_get_ext_count 2706 EXIST::FUNCTION:
-ASN1_IA5STRING_it 2707 EXIST::VARIABLE:
-X509_CERT_AUX_it 2708 EXIST::VARIABLE:
-CERTIFICATEPOLICIES_it 2709 EXIST::VARIABLE:
+ASN1_IA5STRING_it 2707 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_IA5STRING_it 2707 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+X509_CERT_AUX_it 2708 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_CERT_AUX_it 2708 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+CERTIFICATEPOLICIES_it 2709 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+CERTIFICATEPOLICIES_it 2709 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
BN_bntest_rand 2710 EXIST::FUNCTION:
-X509_ATTRIBUTE_it 2711 EXIST::VARIABLE:
+X509_ATTRIBUTE_it 2711 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_ATTRIBUTE_it 2711 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_get_ext_by_NID 2712 EXIST::FUNCTION:
-OCSP_SERVICELOC_it 2713 EXIST::VARIABLE:
-ACCESS_DESCRIPTION_it 2714 EXIST::VARIABLE:
-PKCS7_ISSUER_AND_SERIAL_it 2715 EXIST::VARIABLE:
-PBE2PARAM_it 2716 EXIST::VARIABLE:
-PKCS7_SIGNED_it 2717 EXIST::VARIABLE:
-X509_it 2718 EXIST::VARIABLE:
-ASN1_BMPSTRING_it 2719 EXIST::VARIABLE:
+OCSP_SERVICELOC_it 2713 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+OCSP_SERVICELOC_it 2713 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+ACCESS_DESCRIPTION_it 2714 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ACCESS_DESCRIPTION_it 2714 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PKCS7_ISSUER_AND_SERIAL_it 2715 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_ISSUER_AND_SERIAL_it 2715 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PBE2PARAM_it 2716 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PBE2PARAM_it 2716 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PKCS7_SIGNED_it 2717 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_SIGNED_it 2717 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+X509_it 2718 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_it 2718 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+ASN1_BMPSTRING_it 2719 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_BMPSTRING_it 2719 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_tag2bit 2720 EXIST::FUNCTION:
OCSP_REQUEST_delete_ext 2721 EXIST::FUNCTION:
-ASN1_PRINTABLESTRING_it 2722 EXIST::VARIABLE:
+ASN1_PRINTABLESTRING_it 2722 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_PRINTABLESTRING_it 2722 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
BN_mod_sqr 2723 EXIST::FUNCTION:
-NETSCAPE_CERT_SEQUENCE_it 2724 EXIST::VARIABLE:
-GENERAL_NAMES_it 2725 EXIST::VARIABLE:
-AUTHORITY_INFO_ACCESS_it 2726 EXIST::VARIABLE:
-X509_CINF_it 2727 EXIST::VARIABLE:
+NETSCAPE_CERT_SEQUENCE_it 2724 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+NETSCAPE_CERT_SEQUENCE_it 2724 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+GENERAL_NAMES_it 2725 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+GENERAL_NAMES_it 2725 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+AUTHORITY_INFO_ACCESS_it 2726 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+AUTHORITY_INFO_ACCESS_it 2726 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+X509_CINF_it 2727 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_CINF_it 2727 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
d2i_EDIPARTYNAME 2728 EXIST::FUNCTION:
-OTHERNAME_it 2729 EXIST::VARIABLE:
+OTHERNAME_it 2729 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+OTHERNAME_it 2729 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_SINGLERESP_get_ext_by_NID 2730 EXIST::FUNCTION:
OCSP_REQUEST_add1_ext_i2d 2731 EXIST::FUNCTION:
-X509_VAL_it 2732 EXIST::VARIABLE:
+X509_VAL_it 2732 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_VAL_it 2732 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509_CRL_add1_ext_i2d 2733 EXIST::FUNCTION:
OCSP_BASICRESP_add1_ext_i2d 2734 EXIST::FUNCTION:
-X509_SIG_it 2735 EXIST::VARIABLE:
+X509_SIG_it 2735 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_SIG_it 2735 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_get_ext 2736 EXIST::FUNCTION:
OCSP_ONEREQ_get_ext_by_OBJ 2737 EXIST::FUNCTION:
ASN1_primitive_new 2738 EXIST::FUNCTION:
-ASN1_VISIBLESTRING_it 2739 EXIST::VARIABLE:
+ASN1_VISIBLESTRING_it 2739 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_VISIBLESTRING_it 2739 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_SINGLERESP_add1_ext_i2d 2740 EXIST::FUNCTION:
-CRL_DIST_POINTS_it 2741 EXIST::VARIABLE:
+CRL_DIST_POINTS_it 2741 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+CRL_DIST_POINTS_it 2741 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
GENERAL_NAME_print 2742 EXIST::FUNCTION:
OCSP_SINGLERESP_delete_ext 2743 EXIST::FUNCTION:
-ASN1_BIT_STRING_it 2744 EXIST::VARIABLE:
-X509_REQ_it 2745 EXIST::VARIABLE:
-PKCS7_SIGN_ENVELOPE_it 2746 EXIST::VARIABLE:
+ASN1_BIT_STRING_it 2744 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_BIT_STRING_it 2744 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+X509_REQ_it 2745 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_REQ_it 2745 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PKCS7_SIGN_ENVELOPE_it 2746 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS7_SIGN_ENVELOPE_it 2746 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EDIPARTYNAME_free 2747 EXIST::FUNCTION:
OCSP_REQUEST_get1_ext_d2i 2748 EXIST::FUNCTION:
asn1_ex_c2i 2749 EXIST::FUNCTION:
@@ -2173,68 +2221,98 @@ asn1_enc_restore 2750 EXIST::FUNCTION:
OCSP_SINGLERESP_get_ext 2751 EXIST::FUNCTION:
OCSP_BASICRESP_get1_ext_d2i 2752 EXIST::FUNCTION:
i2d_EDIPARTYNAME 2753 EXIST::FUNCTION:
-ASN1_INTEGER_it 2754 EXIST::VARIABLE:
+ASN1_INTEGER_it 2754 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ASN1_INTEGER_it 2754 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_get_ext_by_critical 2755 EXIST::FUNCTION:
-BASIC_CONSTRAINTS_it 2756 EXIST::VARIABLE:
+BASIC_CONSTRAINTS_it 2756 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+BASIC_CONSTRAINTS_it 2756 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_SINGLERESP_get1_ext_d2i 2757 EXIST::FUNCTION:
-X509_NAME_ENTRY_it 2758 EXIST::VARIABLE:
+X509_NAME_ENTRY_it 2758 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+X509_NAME_ENTRY_it 2758 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
OCSP_ONEREQ_add_ext 2759 EXIST::FUNCTION:
-DIST_POINT_it 2760 EXIST::VARIABLE:
-OCSP_SINGLERESP_it 2761 EXIST::VARIABLE:
+DIST_POINT_it 2760 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+DIST_POINT_it 2760 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+OCSP_SINGLERESP_it 2761 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+OCSP_SINGLERESP_it 2761 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_item_ex_d2i 2762 EXIST::FUNCTION:
BN_mod_sqrt 2763 EXIST::FUNCTION:
OCSP_SINGLERESP_get_ext_by_OBJ 2764 EXIST::FUNCTION:
-PKCS12_BAGS_it 2765 EXIST::VARIABLE:
+PKCS12_BAGS_it 2765 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS12_BAGS_it 2765 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ASN1_template_free 2766 EXIST::FUNCTION:
OCSP_SINGLERESP_add_ext 2767 EXIST::FUNCTION:
ASN1_template_d2i 2768 EXIST::FUNCTION:
-POLICYINFO_it 2769 EXIST::VARIABLE:
+POLICYINFO_it 2769 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+POLICYINFO_it 2769 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
asn1_enc_free 2770 EXIST::FUNCTION:
-PKCS8_PRIV_KEY_INFO_it 2771 EXIST::VARIABLE:
-OCSP_REQINFO_it 2772 EXIST::VARIABLE:
-PBEPARAM_it 2773 EXIST::VARIABLE:
+PKCS8_PRIV_KEY_INFO_it 2771 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PKCS8_PRIV_KEY_INFO_it 2771 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+OCSP_REQINFO_it 2772 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+OCSP_REQINFO_it 2772 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+PBEPARAM_it 2773 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+PBEPARAM_it 2773 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
X509_CRL_add0_revoked 2774 EXIST::FUNCTION:
-EDIPARTYNAME_it 2775 EXIST::VARIABLE:
-NETSCAPE_SPKI_it 2776 EXIST::VARIABLE:
+EDIPARTYNAME_it