[openssl-commits] [openssl] OpenSSL_1_0_2-stable update

Richard Levitte levitte at openssl.org
Wed May 18 20:58:31 UTC 2016


The branch OpenSSL_1_0_2-stable has been updated
       via  72fdf00202b1f0eca369ef4742e321b61fc5f599 (commit)
       via  c9e2fab4b3485afa525cc5a185b1d0641e9afc96 (commit)
      from  b3ed78cb84a5da280f268d607d1daa0f7bcd8222 (commit)


- Log -----------------------------------------------------------------
commit 72fdf00202b1f0eca369ef4742e321b61fc5f599
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed May 18 22:27:54 2016 +0200

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

commit c9e2fab4b3485afa525cc5a185b1d0641e9afc96
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 |  2 +-
 util/mkerr.pl         | 41 ++++++++++++++++++++++++++++-------------
 2 files changed, 29 insertions(+), 14 deletions(-)

diff --git a/crypto/err/openssl.ec b/crypto/err/openssl.ec
index 139afe3..04dc9ce 100644
--- a/crypto/err/openssl.ec
+++ b/crypto/err/openssl.ec
@@ -32,7 +32,7 @@ L ECDSA		crypto/ecdsa/ecdsa.h		crypto/ecdsa/ecs_err.c
 L ECDH		crypto/ecdh/ecdh.h		crypto/ecdh/ech_err.c
 L STORE		crypto/store/store.h		crypto/store/str_err.c
 L TS		crypto/ts/ts.h			crypto/ts/ts_err.c
-L HMAC		crypto/hmac/hmac.h		crypto/hmac/hmac_err.c
+#L HMAC		crypto/hmac/hmac.h		crypto/hmac/hmac_err.c
 L CMS		crypto/cms/cms.h		crypto/cms/cms_err.c
 L JPAKE		crypto/jpake/jpake.h		crypto/jpake/jpake_err.c
 
diff --git a/util/mkerr.pl b/util/mkerr.pl
index 09ebebe..c197f3a 100644
--- a/util/mkerr.pl
+++ b/util/mkerr.pl
@@ -158,8 +158,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>) {
@@ -382,14 +382,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 (c) 2001-$year The OpenSSL Project.  All rights reserved.\n",
@@ -446,11 +453,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";
 	}
@@ -463,6 +470,7 @@ foreach $lib (keys %csrc)
  * 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";
@@ -523,11 +531,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.
@@ -559,8 +573,9 @@ EOF
 
 	my $hincf;
 	if($static) {
-		$hfile =~ /([^\/]+)$/;
-		$hincf = "<${hprefix}$1>";
+		$hincf = $hfile;
+		$hincf =~ s|.*/||g;
+		$hincf = "<${hprefix}${hincf}>";
 	} else {
 		$hincf = "\"$hfile\"";
 	}
@@ -665,7 +680,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";
@@ -688,7 +703,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