Update OpenSSL-1.1.1-pre8-dev
This commit is contained in:
+83
-6
@@ -16,14 +16,85 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $config;
|
||||
my $err_strict = 0;
|
||||
my $bad = 0;
|
||||
my $debug = 0;
|
||||
my $internal = 0;
|
||||
|
||||
foreach my $file (@ARGV) {
|
||||
if ( $file eq "-strict" ) {
|
||||
sub help
|
||||
{
|
||||
print STDERR <<"EOF";
|
||||
mkerr.pl [options] [files...]
|
||||
|
||||
Options:
|
||||
|
||||
-conf FILE Use the named config file FILE instead of the default.
|
||||
|
||||
-debug Verbose output debugging on stderr.
|
||||
|
||||
-internal Generate code that is to be built as part of OpenSSL itself.
|
||||
Also scans internal list of files.
|
||||
|
||||
-strict If any error was found, fail with exit code 1, otherwise 0.
|
||||
|
||||
-help Show this help text.
|
||||
|
||||
... Additional arguments are added to the file list to scan,
|
||||
if '-internal' was NOT specified on the command line.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
while ( @ARGV ) {
|
||||
my $arg = $ARGV[0];
|
||||
last unless $arg =~ /-.*/;
|
||||
$arg = $1 if $arg =~ /-(-.*)/;
|
||||
if ( $arg eq "-conf" ) {
|
||||
$config = $ARGV[1];
|
||||
shift @ARGV;
|
||||
} elsif ( $arg eq "-debug" ) {
|
||||
$debug = 1;
|
||||
} elsif ( $arg eq "-internal" ) {
|
||||
$internal = 1;
|
||||
} elsif ( $arg eq "-strict" ) {
|
||||
$err_strict = 1;
|
||||
next;
|
||||
} elsif ( $arg =~ /-*h(elp)?/ ) {
|
||||
&help();
|
||||
exit;
|
||||
} elsif ( $arg =~ /-.*/ ) {
|
||||
die "Unknown option $arg; use -h for help.\n";
|
||||
}
|
||||
shift @ARGV;
|
||||
}
|
||||
|
||||
my @source;
|
||||
if ( $internal ) {
|
||||
die "Extra parameters given.\n" if @ARGV;
|
||||
$config = "crypto/err/openssl.ec" unless defined $config;
|
||||
@source = ( glob('crypto/*.c'), glob('crypto/*/*.c'),
|
||||
glob('ssl/*.c'), glob('ssl/*/*.c') );
|
||||
} else {
|
||||
die "Configuration file not given.\nSee '$0 -help' for information\n"
|
||||
unless defined $config;
|
||||
@source = @ARGV;
|
||||
}
|
||||
|
||||
# To detect if there is any error generation for a libcrypto/libssl libs
|
||||
# we don't know, we need to find out what libs we do know. That list is
|
||||
# readily available in crypto/err/openssl.ec, in form of lines starting
|
||||
# with "L ". Note that we always rely on the modules SYS and ERR to be
|
||||
# generally available.
|
||||
my %libs = ( SYS => 1, ERR => 1 );
|
||||
open my $cfh, $config or die "Trying to read $config: $!\n";
|
||||
while (<$cfh>) {
|
||||
s|\R$||; # Better chomp
|
||||
next unless m|^L ([0-9A-Z_]+)\s|;
|
||||
next if $1 eq "NONE";
|
||||
$libs{$1} = 1;
|
||||
}
|
||||
|
||||
my $bad = 0;
|
||||
foreach my $file (@source) {
|
||||
open( IN, "<$file" ) || die "Can't open $file, $!";
|
||||
my $func = "";
|
||||
while (<IN>) {
|
||||
@@ -33,17 +104,23 @@ foreach my $file (@ARGV) {
|
||||
$func = $1;
|
||||
$func =~ tr/A-Z/a-z/;
|
||||
}
|
||||
if ( /([A-Z0-9]+)err\(([^,]+)/ && !/ckerr_ignore/ ) {
|
||||
if ( /([A-Z0-9_]+[A-Z0-9])err\(([^,]+)/ && !/ckerr_ignore/ ) {
|
||||
my $errlib = $1;
|
||||
my $n = $2;
|
||||
|
||||
unless ( $libs{$errlib} ) {
|
||||
print "$file:$.:$errlib not listed in $config\n";
|
||||
$libs{$errlib} = 1; # To not display it again
|
||||
$bad = 1;
|
||||
}
|
||||
|
||||
if ( $func eq "" ) {
|
||||
print "$file:$.:???:$n\n";
|
||||
$bad = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
if ( $n !~ /([^_]+)_F_(.+)$/ ) {
|
||||
if ( $n !~ /^(.+)_F_(.+)$/ ) {
|
||||
#print "check -$file:$.:$func:$n\n";
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -4563,3 +4563,7 @@ X509_OBJECT_set1_X509 4514 1_1_0i EXIST::FUNCTION:
|
||||
X509_LOOKUP_meth_get_get_by_issuer_serial 4515 1_1_0i EXIST::FUNCTION:
|
||||
X509_LOOKUP_meth_set_init 4516 1_1_0i EXIST::FUNCTION:
|
||||
X509_OBJECT_set1_X509_CRL 4517 1_1_0i EXIST::FUNCTION:
|
||||
EVP_PKEY_get_raw_public_key 4518 1_1_1 EXIST::FUNCTION:
|
||||
EVP_PKEY_get_raw_private_key 4519 1_1_1 EXIST::FUNCTION:
|
||||
EVP_PKEY_asn1_set_get_priv_key 4520 1_1_1 EXIST::FUNCTION:
|
||||
EVP_PKEY_asn1_set_get_pub_key 4521 1_1_1 EXIST::FUNCTION:
|
||||
+12
-6
@@ -126,6 +126,7 @@ my $W32=0;
|
||||
my $NT=0;
|
||||
my $UNIX=0;
|
||||
my $linux=0;
|
||||
my $aix=0;
|
||||
# Set this to make typesafe STACK definitions appear in DEF
|
||||
my $safe_stack_def = 0;
|
||||
|
||||
@@ -171,12 +172,15 @@ foreach (@ARGV, split(/ /, $config{options}))
|
||||
if($_ eq "NT") {
|
||||
$W32 = 1;
|
||||
$NT = 1;
|
||||
}
|
||||
if ($_ eq "linux") {
|
||||
} elsif ($_ eq "linux") {
|
||||
$linux=1;
|
||||
$UNIX=1;
|
||||
} elsif ($_ eq "aix") {
|
||||
$aix=1;
|
||||
$UNIX=1;
|
||||
} elsif ($_ eq "VMS") {
|
||||
$VMS=1;
|
||||
}
|
||||
$VMS=1 if $_ eq "VMS";
|
||||
if ($_ eq "zlib" || $_ eq "enable-zlib" || $_ eq "zlib-dynamic"
|
||||
|| $_ eq "enable-zlib-dynamic") {
|
||||
$zlib = 1;
|
||||
@@ -204,11 +208,11 @@ if (!$libname) {
|
||||
}
|
||||
|
||||
# If no platform is given, assume WIN32
|
||||
if ($W32 + $VMS + $linux == 0) {
|
||||
if ($W32 + $VMS + $linux + $aix == 0) {
|
||||
$W32 = 1;
|
||||
}
|
||||
die "Please, only one platform at a time"
|
||||
if ($W32 + $VMS + $linux > 1);
|
||||
if ($W32 + $VMS + $linux + $aix > 1);
|
||||
|
||||
if (!$do_ssl && !$do_crypto)
|
||||
{
|
||||
@@ -1237,6 +1241,8 @@ EOF
|
||||
$prevsymversion = $symversion;
|
||||
}
|
||||
print OUT " $s2;\n";
|
||||
} elsif ($aix) {
|
||||
print OUT "$s2\n";
|
||||
} elsif ($VMS) {
|
||||
while(++$prevnum < $n) {
|
||||
my $symline=" ,SPARE -\n ,SPARE -\n";
|
||||
@@ -1288,7 +1294,7 @@ EOF
|
||||
} elsif ($VMS) {
|
||||
print OUT ")\n";
|
||||
(my $libvmaj, my $libvmin, my $libvedit) =
|
||||
$currversion =~ /^(\d+)_(\d+)_(\d+)$/;
|
||||
$currversion =~ /^(\d+)_(\d+)_(\d+)[a-z]{0,2}$/;
|
||||
# The reason to multiply the edit number with 100 is to make space
|
||||
# for the possibility that we want to encode the patch letters
|
||||
print OUT "GSMATCH=LEQUAL,",($libvmaj * 100 + $libvmin),",",($libvedit * 100),"\n";
|
||||
|
||||
@@ -20,7 +20,7 @@ $VERSION = "0.8";
|
||||
perlapp perltest subtest));
|
||||
@EXPORT_OK = (@Test::More::EXPORT_OK, qw(bldtop_dir bldtop_file
|
||||
srctop_dir srctop_file
|
||||
data_file
|
||||
data_file data_dir
|
||||
pipe with cmdstr quotify
|
||||
openssl_versions));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user