The branch master has been updated via 0ffdaebf9a327f3b356df1cf72d74dd15ead7d13 (commit) via 4b2799c13cd94f5bbe26cf848f51e2a45bdb0103 (commit) from 4b8515baa6edef1a771f9e4e3fbc0395b4a629e8 (commit)
- Log ----------------------------------------------------------------- commit 0ffdaebf9a327f3b356df1cf72d74dd15ead7d13 Author: Richard Levitte <levi...@openssl.org> Date: Tue Jun 27 13:47:22 2017 +0200 util/mkerr.pl: avoid getting an annoying warning about negative count Reviewed-by: Rich Salz <rs...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3781) commit 4b2799c13cd94f5bbe26cf848f51e2a45bdb0103 Author: Richard Levitte <levi...@openssl.org> Date: Tue Jun 27 13:34:17 2017 +0200 util/mkerr.pl: allow module names prefixed with OSSL_ or OPENSSL_ To make sure that our symbols don't clash with other libraries, we claim the namespaces OSSL and OPENSSL. Because C doesn't provide namespaces, the only solution is to have them as prefixes on symbols, thus we allow OSSL_ and OPENSSL_ as prefixes. These namespace prefixes are optional for the foreseeable future, and will only be used for new modules as needed on a case by case basis, until further notice. For extra safety, there's an added requirement that module names - apart from the namespace prefix - be at least 2 characters long. Reviewed-by: Rich Salz <rs...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3781) ----------------------------------------------------------------------- Summary of changes: CHANGES | 11 +++++++++++ NEWS | 2 +- util/mkerr.pl | 12 +++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 491f85e..29afc21 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,17 @@ Changes between 1.1.0f and 1.1.1 [xx XXX xxxx] + *) Module names can prefixed with OSSL_ or OPENSSL_. This affects + util/mkerr.pl, which is adapted to allow those prefixes, leading to + error code calls like this: + + OSSL_FOOerr(OSSL_FOO_F_SOMETHING, OSSL_FOO_R_WHATEVER); + + With this change, we claim the namespaces OSSL and OPENSSL in a manner + that can be encoded in C. For the foreseeable future, this will only + affect new modules. + [Richard Levitte and Tim Hudson] + *) Removed BSD cryptodev engine. [Rich Salz] diff --git a/NEWS b/NEWS index efbee9b..4c582fc 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,7 @@ Major changes between OpenSSL 1.1.0f and OpenSSL 1.1.1 [under development] - o + o Claim the namespaces OSSL and OPENSSL, represented as symbol prefixes Major changes between OpenSSL 1.1.0e and OpenSSL 1.1.0f [25 May 2017] diff --git a/util/mkerr.pl b/util/mkerr.pl index a42794d..51177b9 100755 --- a/util/mkerr.pl +++ b/util/mkerr.pl @@ -198,14 +198,14 @@ if ( ! $reindex && $statefile ) { die "Bad line in $statefile:\n$_\n"; } 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:"; @@ -213,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:"; @@ -378,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; @@ -395,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} ) { @@ -486,6 +486,7 @@ EOF print OUT "\n/*\n * $lib function codes.\n */\n"; foreach my $i ( @function ) { my $z = 48 - length($i); + $z = 0 if $z < 0; if ( $fcodes{$i} eq "X" ) { $fassigned{$lib} =~ m/^:([^:]*):/; my $findcode = $1; @@ -503,6 +504,7 @@ EOF print OUT "\n/*\n * $lib reason codes.\n */\n"; foreach my $i ( @reasons ) { my $z = 48 - length($i); + $z = 0 if $z < 0; if ( $rcodes{$i} eq "X" ) { $rassigned{$lib} =~ m/^:([^:]*):/; my $findcode = $1; _____ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits