Make mkdef.pl parse some ASN1 IMPLEMENT macros.
Initial support for variables in DEF files.
This commit is contained in:
parent
1a7b2d33f4
commit
9c67ab2f26
3
CHANGES
3
CHANGES
@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
|
Changes between 0.9.6 and 0.9.7 [xx XXX 2000]
|
||||||
|
|
||||||
|
*) Make mkdef.pl parse some of the ASN1 macros and add apropriate
|
||||||
|
entries for variables.
|
||||||
|
|
||||||
*) Add functionality to apps/openssl.c for detecting locking
|
*) Add functionality to apps/openssl.c for detecting locking
|
||||||
problems: As the program is single-threaded, all we have
|
problems: As the program is single-threaded, all we have
|
||||||
to do is register a locking callback using an array for
|
to do is register a locking callback using an array for
|
||||||
|
@ -197,6 +197,7 @@ $crypto.=" crypto/objects/objects.h";
|
|||||||
$crypto.=" crypto/pem/pem.h";
|
$crypto.=" crypto/pem/pem.h";
|
||||||
#$crypto.=" crypto/meth/meth.h";
|
#$crypto.=" crypto/meth/meth.h";
|
||||||
$crypto.=" crypto/asn1/asn1.h";
|
$crypto.=" crypto/asn1/asn1.h";
|
||||||
|
$crypto.=" crypto/asn1/asn1t.h";
|
||||||
$crypto.=" crypto/asn1/asn1_mac.h";
|
$crypto.=" crypto/asn1/asn1_mac.h";
|
||||||
$crypto.=" crypto/err/err.h";
|
$crypto.=" crypto/err/err.h";
|
||||||
$crypto.=" crypto/pkcs7/pkcs7.h";
|
$crypto.=" crypto/pkcs7/pkcs7.h";
|
||||||
@ -376,6 +377,14 @@ sub do_defs
|
|||||||
}
|
}
|
||||||
if (/^\s*DECLARE_STACK_OF\s*\(\s*(\w*)\s*\)/) {
|
if (/^\s*DECLARE_STACK_OF\s*\(\s*(\w*)\s*\)/) {
|
||||||
next;
|
next;
|
||||||
|
} elsif (/^\s*DECLARE_ASN1_FUNCTIONS\s*\(\s*(\w*)\s*\)/) {
|
||||||
|
$syms{"d2i_$1"} = 1;
|
||||||
|
$syms{"i2d_$1"} = 1;
|
||||||
|
$syms{"$1_new"} = 1;
|
||||||
|
$syms{"$1_free"} = 1;
|
||||||
|
$syms{"$1_it"} = 1;
|
||||||
|
$kind{"$1_it"} = "VARIABLE";
|
||||||
|
next;
|
||||||
} elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) {
|
} elsif (/^\s*DECLARE_PKCS12_STACK_OF\s*\(\s*(\w*)\s*\)/) {
|
||||||
next;
|
next;
|
||||||
} elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) {
|
} elsif (/^\s*DECLARE_ASN1_SET_OF\s*\(\s*(\w*)\s*\)/) {
|
||||||
@ -675,7 +684,7 @@ sub print_test_file
|
|||||||
sub print_def_file
|
sub print_def_file
|
||||||
{
|
{
|
||||||
(*OUT,my $name,*nums,my @symbols)=@_;
|
(*OUT,my $name,*nums,my @symbols)=@_;
|
||||||
my $n = 1; my @e; my @r;
|
my $n = 1; my @e; my @r; my @v;
|
||||||
|
|
||||||
if ($W32)
|
if ($W32)
|
||||||
{ $name.="32"; }
|
{ $name.="32"; }
|
||||||
@ -710,11 +719,14 @@ EOF
|
|||||||
|
|
||||||
(@e)=grep(/^SSLeay\\.*?:.*?:FUNCTION/,@symbols);
|
(@e)=grep(/^SSLeay\\.*?:.*?:FUNCTION/,@symbols);
|
||||||
(@r)=grep(/^\w+\\.*?:.*?:FUNCTION/ && !/^SSLeay\\.*?:.*?:FUNCTION/,@symbols);
|
(@r)=grep(/^\w+\\.*?:.*?:FUNCTION/ && !/^SSLeay\\.*?:.*?:FUNCTION/,@symbols);
|
||||||
@symbols=((sort @e),(sort @r));
|
(@v)=grep(/^\w+\\.*?:.*?:VARIABLE/,@symbols);
|
||||||
|
@symbols=((sort @e),(sort @r), (sort @v));
|
||||||
|
|
||||||
|
|
||||||
foreach $sym (@symbols) {
|
foreach $sym (@symbols) {
|
||||||
(my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/;
|
(my $s, my $i) = $sym =~ /^(.*?)\\(.*)$/;
|
||||||
|
my $v = 0;
|
||||||
|
$v = 1 if $sym=~ /^\w+\\.*?:.*?:VARIABLE/;
|
||||||
if (!defined($nums{$s})) {
|
if (!defined($nums{$s})) {
|
||||||
printf STDERR "Warning: $s does not have a number assigned\n"
|
printf STDERR "Warning: $s does not have a number assigned\n"
|
||||||
if(!$do_update);
|
if(!$do_update);
|
||||||
@ -765,7 +777,11 @@ EOF
|
|||||||
&& (!@a || (!$no_rijndael || !grep(/^RIJNDAEL$/,@a)))
|
&& (!@a || (!$no_rijndael || !grep(/^RIJNDAEL$/,@a)))
|
||||||
&& (!@a || (!$no_fp_api || !grep(/^FP_API$/,@a)))
|
&& (!@a || (!$no_fp_api || !grep(/^FP_API$/,@a)))
|
||||||
) {
|
) {
|
||||||
|
if($v) {
|
||||||
|
printf OUT " %s%-40s@%-8d DATA\n",($W32)?"":"_",$s,$n;
|
||||||
|
} else {
|
||||||
printf OUT " %s%-40s@%d\n",($W32)?"":"_",$s,$n;
|
printf OUT " %s%-40s@%d\n",($W32)?"":"_",$s,$n;
|
||||||
|
}
|
||||||
# } else {
|
# } else {
|
||||||
# print STDERR "DEBUG: \"$sym\" (@p):",
|
# print STDERR "DEBUG: \"$sym\" (@p):",
|
||||||
# " rsaref:", !!(!@p
|
# " rsaref:", !!(!@p
|
||||||
|
Loading…
x
Reference in New Issue
Block a user