Add DEPRECATEDIN support.
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
This commit is contained in:
parent
c3be59a47c
commit
7a556fb6f8
1 changed files with 42 additions and 10 deletions
|
@ -101,7 +101,9 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
|
|||
# NEXTPROTONEG
|
||||
"NEXTPROTONEG",
|
||||
# Deprecated functions
|
||||
"DEPRECATED",
|
||||
"DEPRECATEDIN_0_9_8",
|
||||
"DEPRECATEDIN_1_0_0",
|
||||
"DEPRECATEDIN_1_1_0",
|
||||
# SCTP
|
||||
"SCTP",
|
||||
# SRTP
|
||||
|
@ -174,8 +176,23 @@ foreach (@ARGV, split(/ /, $options))
|
|||
$do_ctestall=1 if $_ eq "ctestall";
|
||||
$do_checkexist=1 if $_ eq "exist";
|
||||
#$safe_stack_def=1 if $_ eq "-DDEBUG_SAFESTACK";
|
||||
|
||||
if (/^(enable|disable|no)-(.*)$/) {
|
||||
if (/^--api=(\d+)\.(\d+)\.(\d+)$/) {
|
||||
my $apiv = sprintf "%x%02x%02x", $1, $2, $3;
|
||||
foreach (keys %disabled_algorithms) {
|
||||
if (/^DEPRECATEDIN_(\d+)_(\d+)_(\d+)$/) {
|
||||
my $depv = sprintf "%x%02x%02x", $1, $2, $3;
|
||||
$disabled_algorithms{$_} = 1 if $apiv ge $depv;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (/^no-deprecated$/) {
|
||||
foreach (keys %disabled_algorithms) {
|
||||
if (/^DEPRECATEDIN_/) {
|
||||
$disabled_algorithms{$_} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif (/^(enable|disable|no)-(.*)$/) {
|
||||
my $alg = uc $2;
|
||||
$alg =~ tr/-/_/;
|
||||
if (exists $disabled_algorithms{$alg}) {
|
||||
|
@ -439,14 +456,15 @@ sub do_defs
|
|||
print STDERR "DEBUG: parsing ----------\n" if $debug;
|
||||
while(<IN>) {
|
||||
if($parens > 0) {
|
||||
#Inside a DECLARE_DEPRECATED
|
||||
#Inside a DEPRECATEDIN
|
||||
$stored_multiline .= $_;
|
||||
chomp $stored_multiline;
|
||||
print STDERR "DEBUG: Continuing multiline DEPRECATED: $stored_multiline\n" if $debug;
|
||||
print STDERR "DEBUG: Continuing multiline DEPRECATEDIN: $stored_multiline\n" if $debug;
|
||||
$parens = count_parens($stored_multiline);
|
||||
if ($parens == 0) {
|
||||
$stored_multiline =~ /^\s*DECLARE_DEPRECATED\s*\(\s*(\w*(\s|\*|\w)*)/;
|
||||
$def .= "$1(void);";
|
||||
$def .= do_deprecated($stored_multiline,
|
||||
\@current_platforms,
|
||||
\@current_algorithms);
|
||||
}
|
||||
next;
|
||||
}
|
||||
|
@ -840,14 +858,16 @@ sub do_defs
|
|||
&$make_variant("_shadow_$2","_shadow_$2",
|
||||
"EXPORT_VAR_AS_FUNCTION",
|
||||
"FUNCTION");
|
||||
} elsif (/^\s*DECLARE_DEPRECATED\s*\(\s*(\w*(\s|\*|\w)*)/) {
|
||||
} elsif (/^\s*DEPRECATEDIN/) {
|
||||
$parens = count_parens($_);
|
||||
if ($parens == 0) {
|
||||
$def .= "$1(void);";
|
||||
$def .= do_deprecated($_,
|
||||
\@current_platforms,
|
||||
\@current_algorithms);
|
||||
} else {
|
||||
$stored_multiline = $_;
|
||||
chomp $stored_multiline;
|
||||
print STDERR "DEBUG: Found multiline DEPRECATED starting with: $stored_multiline\n" if $debug;
|
||||
print STDERR "DEBUG: Found multiline DEPRECATEDIN starting with: $stored_multiline\n" if $debug;
|
||||
next;
|
||||
}
|
||||
} elsif ($tag{'CONST_STRICT'} != 1) {
|
||||
|
@ -1657,3 +1677,15 @@ sub check_version_lte()
|
|||
if (($cvbase ne $tvbase) && ($tvletter gt $cvletter));
|
||||
}
|
||||
}
|
||||
|
||||
sub do_deprecated()
|
||||
{
|
||||
my ($decl, $plats, $algs) = @_;
|
||||
$decl =~ /^\s*(DEPRECATEDIN_\d_\d_\d)\s*\((.*)\)\s*$/;
|
||||
my $info1 .= "#INFO:";
|
||||
$info1 .= join(',', @{$plats}) . ":";
|
||||
my $info2 = $info1;
|
||||
$info1 .= join(',',@{$algs}, $1) . ";";
|
||||
$info2 .= join(',',@{$algs}) . ";";
|
||||
return $info1 . $2 . ";" . $info2;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue