X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=util%2Fmkerr.pl;h=6bc27c498b32b0fa2ec48172e797b4a598faa57a;hp=28e180a9d46980d10667c568c12fd35c5ac550f2;hb=4b2799c13cd94f5bbe26cf848f51e2a45bdb0103;hpb=964ff301d6b50dabdb9daeb533f337e015f0419f diff --git a/util/mkerr.pl b/util/mkerr.pl index 28e180a9d4..6bc27c498b 100755 --- a/util/mkerr.pl +++ b/util/mkerr.pl @@ -165,7 +165,6 @@ while ( ) { } close IN; -my $statefile_prolog = ''; if ( ! $statefile ) { $statefile = $config; $statefile =~ s/.ec/.txt/; @@ -179,9 +178,7 @@ if ( ! $reindex && $statefile ) { # Scan function and reason codes and store them: keep a note of the # maximum code used. - my $collecting = 1; while ( ) { - $statefile_prolog .= $_ if $collecting && ( /^#/ || /^$/ ); next if /^#/ || /^$/; my $name; my $code; @@ -200,16 +197,15 @@ if ( ! $reindex && $statefile ) { } else { die "Bad line in $statefile:\n$_\n"; } - $collecting = 0; my $lib = $name; - $lib =~ s/_.*//; + $lib =~ s/^((?:OSSL_|OPENSSL_)?[^_]{2,}).*$/$1/; $lib = "SSL" if $lib =~ /TLS/; if ( !defined $errorfile{$lib} ) { print "Skipping $_"; $skippedstate++; next; } - if ( $name =~ /^[A-Z0-9]+_R_/ ) { + if ( $name =~ /^(?:OSSL_|OPENSSL_)?[A-Z0-9]{2,}_R_/ ) { die "$lib reason code $code collision at $name\n" if $rassigned{$lib} =~ /:$code:/; $rassigned{$lib} .= "$code:"; @@ -217,7 +213,7 @@ if ( ! $reindex && $statefile ) { $rmax{$lib} = $code if $code > $rmax{$lib}; } $rcodes{$name} = $code; - } elsif ( $name =~ /^[A-Z0-9]+_F_/ ) { + } elsif ( $name =~ /^(?:OSSL_|OPENSSL_)?[A-Z0-9]{2,}_F_/ ) { die "$lib function code $code collision at $name\n" if $fassigned{$lib} =~ /:$code:/; $fassigned{$lib} .= "$code:"; @@ -382,7 +378,7 @@ foreach my $file ( @source ) { $func = $1; } - if ( /(([A-Z0-9]+)_F_([A-Z0-9_]+))/ ) { + if ( /(((?:OSSL_|OPENSSL_)?[A-Z0-9]{2,})_F_([A-Z0-9_]+))/ ) { next unless exists $errorfile{$2}; next if $1 eq "BIO_F_BUFFER_CTX"; $usedfuncs{$1} = 1; @@ -399,7 +395,7 @@ foreach my $file ( @source ) { print STDERR " Function $1 = $fcodes{$1}\n" if $debug; } - if ( /(([A-Z0-9]+)_R_[A-Z0-9_]+)/ ) { + if ( /(((?:OSSL_|OPENSSL_)?[A-Z0-9]{2,})_R_[A-Z0-9_]+)/ ) { next unless exists $errorfile{$2}; $usedreasons{$1} = 1; if ( !exists $rcodes{$1} ) { @@ -703,8 +699,15 @@ die "Found $errors errors, quitting" if $errors; if ( $newstate ) { open(OUT, ">$statefile.new") || die "Can't write $statefile.new, $!"; - print OUT $statefile_prolog; - print OUT "# Function codes\n"; + print OUT <<"EOF"; +# Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL license (the "License"). You may not use +# this file except in compliance with the License. You can obtain a copy +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html +EOF + print OUT "\n# Function codes\n"; foreach my $i ( sort keys %fcodes ) { my $short = "$i:$fcodes{$i}:"; my $t = exists $strings{$i} ? $strings{$i} : "";