[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Tue Jun 12 10:32:07 UTC 2018


The branch master has been updated
       via  3ccfcd8a851b49c7e4b1e40bb1d7ccd326e6f94f (commit)
       via  caf12bd6754987d99b9e27f2422136a48e53cc86 (commit)
       via  aa6cc8d33c107c8b6d2e9bbffe52086e191f607b (commit)
       via  b9def672b123ce3d1102683f13c61bc68a07c5b0 (commit)
      from  91f7361f47b082ae61ffe1a7b17bb2adf213c7fe (commit)


- Log -----------------------------------------------------------------
commit 3ccfcd8a851b49c7e4b1e40bb1d7ccd326e6f94f
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jun 12 09:27:18 2018 +0200

    Make ck_errf.pl ignore commented out error generation
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6461)

commit caf12bd6754987d99b9e27f2422136a48e53cc86
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jun 12 08:57:43 2018 +0200

    .travis.yml: give make update exit code meaning again
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6461)

commit aa6cc8d33c107c8b6d2e9bbffe52086e191f607b
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jun 12 08:56:21 2018 +0200

    make errors: use the new util/ck_errf.pl options
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6461)

commit b9def672b123ce3d1102683f13c61bc68a07c5b0
Author: Richard Levitte <levitte at openssl.org>
Date:   Tue Jun 12 08:53:14 2018 +0200

    util/ck_errf.pl: add functionality that brings it closer to util/mkerr.pl
    
    There was no option to give other config files than the default
    crypto/err/openssl.ec, and yet it tried to check the errors generated
    in engines (and failing, of course).
    
    Also added the same '-internal' option as util/mkerr.pl.
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/6461)

-----------------------------------------------------------------------

Summary of changes:
 .travis.yml                       |  4 +-
 Configurations/unix-Makefile.tmpl |  8 ++--
 crypto/srp/srp_vfy.c              |  2 +-
 util/ck_errf.pl                   | 78 ++++++++++++++++++++++++++++++++++-----
 4 files changed, 76 insertions(+), 16 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 7092953..34ccf80 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -186,8 +186,8 @@ script:
           echo -e '+\057 MAKE UPDATE OK';
       else
           echo -e '+\057 MAKE UPDATE FAILED'; false;
-      fi;
-      git diff --exit-code
+      fi
+    - git diff --exit-code
     - if [ -n "$CHECKDOCS" ]; then
           if $make doc-nits; then
               echo -e '+\057\057 MAKE DOC-NITS OK';
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 4451232..10deec6 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -760,11 +760,13 @@ generate_fuzz_oids:
 # Set to -force to force a rebuild
 ERROR_REBUILD=
 errors:
-	( cd $(SRCDIR); $(PERL) util/ck_errf.pl -strict */*.c */*/*.c )
-	( b=`pwd`; cd $(SRCDIR); \
+	( b=`pwd`; set -e; cd $(SRCDIR); \
+          $(PERL) util/ck_errf.pl -strict -internal; \
           $(PERL) -I$$b util/mkerr.pl $(ERROR_REBUILD) -internal )
-	( b=`pwd`; cd $(SRCDIR)/engines; \
+	( b=`pwd`; set -e; cd $(SRCDIR)/engines; \
           for E in *.ec ; do \
+              $(PERL) ../util/ck_errf.pl -strict \
+                -conf $$E `basename $$E .ec`.c; \
               $(PERL) -I$$b ../util/mkerr.pl $(ERROR_REBUILD) -static \
                 -conf $$E `basename $$E .ec`.c ; \
           done )
diff --git a/crypto/srp/srp_vfy.c b/crypto/srp/srp_vfy.c
index b13c006..17b35c0 100644
--- a/crypto/srp/srp_vfy.c
+++ b/crypto/srp/srp_vfy.c
@@ -189,7 +189,7 @@ static SRP_user_pwd *SRP_user_pwd_new(void)
     SRP_user_pwd *ret;
     
     if ((ret = OPENSSL_malloc(sizeof(*ret))) == NULL) {
-        /* SRPerr(SRP_F_SRP_USER_PWD_NEW, ERR_R_MALLOC_FAILURE); */
+        /* SRPerr(SRP_F_SRP_USER_PWD_NEW, ERR_R_MALLOC_FAILURE); */ /*ckerr_ignore*/
         return NULL;
     }
     ret->N = NULL;
diff --git a/util/ck_errf.pl b/util/ck_errf.pl
index a078427..138dfb9 100755
--- a/util/ck_errf.pl
+++ b/util/ck_errf.pl
@@ -16,15 +16,75 @@
 use strict;
 use warnings;
 
+my $config;
 my $err_strict = 0;
-my $bad        = 0;
+my $debug      = 0;
+my $internal   = 0;
+
+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;
+    } 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 ".
-my $config     = "crypto/err/openssl.ec";
-my %libs       = ( "SYS" => 1 );
+# 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
@@ -33,11 +93,8 @@ while (<$cfh>) {
     $libs{$1} = 1;
 }
 
-foreach my $file (@ARGV) {
-    if ( $file eq "-strict" ) {
-        $err_strict = 1;
-        next;
-    }
+my $bad = 0;
+foreach my $file (@source) {
     open( IN, "<$file" ) || die "Can't open $file, $!";
     my $func = "";
     while (<IN>) {
@@ -52,7 +109,8 @@ foreach my $file (@ARGV) {
             my $n      = $2;
 
             unless ( $libs{$errlib} ) {
-                print "$file:$.:$errlib unknown\n";
+                print "$file:$.:$errlib not listed in $config\n";
+                $libs{$errlib} = 1; # To not display it again
                 $bad = 1;
             }
 


More information about the openssl-commits mailing list