New ASN1 macros to just implement and declare the new and free functions and changes to mkdef.pl so it recognises them. Use these in policyMappings extension.
diff --git a/util/libeay.num b/util/libeay.num index 243d9f1..b97228c 100755 --- a/util/libeay.num +++ b/util/libeay.num
@@ -3000,3 +3000,9 @@ ENGINE_setup_bsd_cryptodev 3435 EXIST:__FreeBSD__:FUNCTION:ENGINE EC_GROUP_have_precompute_mult 3436 EXIST::FUNCTION:EC X509V3_NAME_from_section 3437 EXIST::FUNCTION: +POLICY_MAPPING_it 3438 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICY_MAPPING_it 3438 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +POLICY_MAPPINGS_it 3439 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +POLICY_MAPPINGS_it 3439 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +POLICY_MAPPING_new 3440 EXIST::FUNCTION: +POLICY_MAPPING_free 3441 EXIST::FUNCTION:
diff --git a/util/mkdef.pl b/util/mkdef.pl index f7f0e6e..3091e20 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl
@@ -673,6 +673,10 @@ "EXPORT_VAR_AS_FUNCTION", "FUNCTION"); next; + } elsif (/^\s*DECLARE_ASN1_ALLOC_FUNCTIONS\s*\(\s*(\w*)\s*\)/) { + $def .= "int $1_free(void);"; + $def .= "int $1_new(void);"; + next; } elsif (/^\s*DECLARE_ASN1_FUNCTIONS_name\s*\(\s*(\w*)\s*,\s*(\w*)\s*\)/) { $def .= "int d2i_$2(void);"; $def .= "int i2d_$2(void);";