[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Wed May 18 20:03:14 UTC 2016


The branch master has been updated
       via  6a6eb7a4aa04e46b69be4e5536d2fa0a839b4f0c (commit)
       via  97665e1c4fe14da9f4466b9999a5dfb4989acd61 (commit)
      from  f3e235ed6faa82170d857fdec3287558eb906c58 (commit)


- Log -----------------------------------------------------------------
commit 6a6eb7a4aa04e46b69be4e5536d2fa0a839b4f0c
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed May 18 21:11:42 2016 +0200

    Cleanup openssl.ec
    
    STORE doesn't exist for now
    
    HMAC doesn't have any error codes
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit 97665e1c4fe14da9f4466b9999a5dfb4989acd61
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed May 18 19:52:34 2016 +0200

    Fix util/mkerr.pl
    
    - Adjust mkerr.pl to produce the line length we used for source
      reformating.
    
    - Have mkerr.pl keep track of preprocessor directive indentation
    
      Among others, do not spuriously throw away a #endif at the end of
      header files.
    
    - Make sure mkerr.pl specifies any header inclusion correctly
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

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

Summary of changes:
 crypto/err/openssl.ec |  3 +--
 util/mkerr.pl         | 54 +++++++++++++++++++++++++++++++++++----------------
 2 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/crypto/err/openssl.ec b/crypto/err/openssl.ec
index a969d7a..6e18e7d 100644
--- a/crypto/err/openssl.ec
+++ b/crypto/err/openssl.ec
@@ -28,9 +28,8 @@ L ENGINE	include/openssl/engine.h	crypto/engine/eng_err.c
 L OCSP		include/openssl/ocsp.h		crypto/ocsp/ocsp_err.c
 L UI		include/openssl/ui.h		crypto/ui/ui_err.c
 L COMP		include/openssl/comp.h		crypto/comp/comp_err.c
-L STORE		include/openssl/store.h		crypto/store/str_err.c
 L TS		include/openssl/ts.h		crypto/ts/ts_err.c
-L HMAC		include/openssl/hmac.h		crypto/hmac/hmac_err.c
+#L HMAC		include/openssl/hmac.h		crypto/hmac/hmac_err.c
 L CMS		include/openssl/cms.h		crypto/cms/cms_err.c
 L FIPS		include/openssl/fips.h		crypto/fips_err.h
 L CT		include/openssl/ct.h		crypto/ct/ct_err.c
diff --git a/util/mkerr.pl b/util/mkerr.pl
index b754a45..36f0640 100644
--- a/util/mkerr.pl
+++ b/util/mkerr.pl
@@ -7,7 +7,6 @@
 # https://www.openssl.org/source/license.html
 
 my $config = "crypto/err/openssl.ec";
-my $hprefix = "openssl/";
 my $debug = 0;
 my $unref = 0;
 my $rebuild = 0;
@@ -70,6 +69,8 @@ Options:
   -hprefix P    Prepend the filenames in generated #include <header>
                 statements with prefix P. Default: 'openssl/' (without
                 the quotes, naturally)
+                NOTE: not used any more because our include directory
+                structure has changed.
 
   -debug        Turn on debugging verbose output on stderr.
 
@@ -173,8 +174,8 @@ close IN;
 while (($hdr, $lib) = each %libinc)
 {
 	next if($hdr eq "NONE");
-	print STDERR "Scanning header file $hdr\n" if $debug; 
-	my $line = "", $def= "", $linenr = 0, $gotfile = 0;
+	print STDERR "Scanning header file $hdr\n" if $debug;
+	my $line = "", $def= "", $linenr = 0, $gotfile = 0, $cpp = 0;
 	if (open(IN, "<$hdr")) {
 	    $gotfile = 1;
 	    while(<IN>) {
@@ -409,14 +410,21 @@ foreach $lib (keys %csrc)
 
 	# Rewrite the header file
 
+	$cpp = 0;
+	$cplusplus = 0;
 	if (open(IN, "<$hfile")) {
 	    # Copy across the old file
 	    while(<IN>) {
+		$cplusplus = $cpp if /^#.*ifdef.*cplusplus/;
+		$cpp++ if /^#\s*if/;
+		$cpp-- if /^#\s*endif/;
 		push @out, $_;
 		last if (/BEGIN ERROR CODES/);
 	    }
 	    close IN;
 	} else {
+	    $cpp = 1;
+	    $cplusplus = 1;
 	    push @out,
 "/*\n",
 " * Copyright 1995-$YEAR The OpenSSL Project Authors. All Rights Reserved.\n",
@@ -428,11 +436,11 @@ foreach $lib (keys %csrc)
 " */\n",
 "\n",
 "#ifndef HEADER_${lib}_ERR_H\n",
-"#define HEADER_${lib}_ERR_H\n",
+"# define HEADER_${lib}_ERR_H\n",
 "\n",
-"#ifdef  __cplusplus\n",
+"# ifdef  __cplusplus\n",
 "extern \"C\" {\n",
-"#endif\n",
+"# endif\n",
 "\n",
 "/* BEGIN ERROR CODES */\n";
 	}
@@ -441,15 +449,16 @@ foreach $lib (keys %csrc)
 	print OUT @out;
 	undef @out;
 	print OUT <<"EOF";
-
 /*
- * Content after this point is generated by util/mkerr.pl
- * DO NOT EDIT!
+ * The following lines are auto generated by the script mkerr.pl. Any changes
+ * made after this point may be overwritten when the script is next run.
  */
+
 EOF
 	if($static) {
 		print OUT <<"EOF";
 ${staticloader}void ERR_load_${lib}_strings(void);
+
 EOF
 	} else {
 		print OUT <<"EOF";
@@ -505,11 +514,17 @@ EOF
 	}
 	print OUT <<"EOF";
 
-#ifdef  __cplusplus
-}
-#endif
-#endif
 EOF
+	do {
+	    if ($cplusplus == $cpp) {
+		print OUT "#", " "x$cpp, "ifdef	 __cplusplus\n";
+		print OUT "}\n";
+		print OUT "#", " "x$cpp, "endif\n";
+	    }
+	    if ($cpp-- > 0) {
+		print OUT "#", " "x$cpp, "endif\n";
+	    }
+	} while ($cpp);
 	close OUT;
 
 	# Rewrite the C source file containing the error details.
@@ -541,8 +556,13 @@ EOF
 
 	my $hincf;
 	if($static) {
-		$hfile =~ /([^\/]+)$/;
-		$hincf = "<${hprefix}$1>";
+		$hincf = $hfile;
+		$hincf =~ s|.*include/||;
+		if ($hincf =~ m|^openssl/|) {
+			$hincf = "<${hincf}>";
+		} else {
+			$hincf = "\"${hincf}\"";
+		}
 	} else {
 		$hincf = "\"$hfile\"";
 	}
@@ -596,7 +616,7 @@ EOF
 			$fn = $ftrans{$fn};
 		}
 #		print OUT "{ERR_PACK($pack_errcode,$i,0),\t\"$fn\"},\n";
-		if(length($i) + length($fn) > 58) {
+		if(length($i) + length($fn) > 57) {
 			print OUT "    {ERR_FUNC($i),\n     \"$fn\"},\n";
 		} else {
 			print OUT "    {ERR_FUNC($i), \"$fn\"},\n";
@@ -619,7 +639,7 @@ EOF
 			$rn = $1;
 			$rn =~ tr/_[A-Z]/ [a-z]/;
 		}
-		if(length($i) + length($rn) > 56) {
+		if(length($i) + length($rn) > 55) {
 			print OUT "    {${rstr},\n     \"$rn\"},\n";
 		} else {
 			print OUT "    {${rstr}, \"$rn\"},\n";


More information about the openssl-commits mailing list