[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Thu Oct 22 15:46:10 UTC 2015


The branch master has been updated
       via  489eb74090a6327454f4a53213480eaa6659704b (commit)
       via  8b527be2db48064673640dda2d57edc6b362ae64 (commit)
      from  15db6a40d3569789329d3f6f84e47e0e0e8f9caa (commit)


- Log -----------------------------------------------------------------
commit 489eb74090a6327454f4a53213480eaa6659704b
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Oct 22 17:33:47 2015 +0200

    Make Configure die when unsupported options are given
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit 8b527be2db48064673640dda2d57edc6b362ae64
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Oct 22 17:09:14 2015 +0200

    Add an explicit list of options that can be disabled, enabled, ...
    
    Configure has, so far, had no control at all of which 'no-' options it
    can be given.  This means that, for example, someone could configure
    with something absurd like 'no-stack' and then watch the build crumble
    to dust...  or file a bug report.
    
    This introduces some sanity into the possible choices.
    
    The added list comes from looking for the explicit ones used in
    Configure, and from grepping after OPENSSL_NO_ in all source files.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

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

Summary of changes:
 Configure | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

diff --git a/Configure b/Configure
index 9ff6e70..7956247 100755
--- a/Configure
+++ b/Configure
@@ -796,6 +796,86 @@ my $default_ranlib;
 my $perl;
 my $fips=0;
 
+# Explicitelly known options that are possible to disable.  They can
+# be regexps, and will be used like this: /^no-${option}$/
+# For developers: keep it sorted alphabetically
+
+my @disablables = (
+    "aes",
+    "asm",
+    "bf",
+    "camellia",
+    "capieng",
+    "cast",
+    "cmac",
+    "cms",
+    "comp",
+    "ct",
+    "deprecated",
+    "des",
+    "dgram",
+    "dh",
+    "dsa",
+    "dso",
+    "dtls1?",
+    "dynamic[-_]engine",
+    "ec",
+    "ec2m",
+    "ec_nistp_64_gcc_128",
+    "engine",
+    "err",			# Really???
+    "gmp",
+    "gost",
+    "heartbeats",
+    "hmac",
+    "hw(-.+)?",
+    "idea",
+    "jpake",
+    "locking",			# Really???
+    "md2",
+    "md4",
+    "md5",
+    "mdc2",
+    "md[-_]ghost94",
+    "nextprotoneg",
+    "ocb",
+    "ocsp",
+    "posix-io",
+    "psk",
+    "rc2",
+    "rc4",
+    "rc5",
+    "rdrand",
+    "rfc3779",
+    "rijndael",			# Old AES name
+    "rmd160",
+    "rsa",
+    "scrypt",
+    "sct",
+    "sctp",
+    "seed",
+    "sha",
+    "shared",
+    "sock",
+    "srp",
+    "srtp",
+    "sse2",
+    "ssl",
+    "ssl3",
+    "ssl3-method",
+    "ssl-trace",
+    "static-engine",
+    "stdio",
+    "store",
+    "threads",
+    "tls",
+    "tls1",
+    "unit-test",
+    "whirlpool",
+    "zlib",
+    "zlib-dynamic",
+    );
+
 # All of the following is disabled by default (RC5 was enabled before 0.9.8):
 
 my %disabled = ( # "what"         => "comment" [or special keyword "experimental"]
@@ -867,6 +947,7 @@ while($argv_unprocessed)
 	$argvstring=join(' ', at argvcopy);
 
 PROCESS_ARGS:
+	my %unsupported_options = ();
 	foreach (@argvcopy)
 		{
 		s /^-no-/no-/; # some people just can't read the instructions
@@ -878,6 +959,15 @@ PROCESS_ARGS:
 		s /^zlib$/enable-zlib/;
 		s /^zlib-dynamic$/enable-zlib-dynamic/;
 
+		if (/^(no|disable|enable|experimental)-(.+)$/)
+			{
+			my $word = $2;
+			if (!grep { $word =~ /^${_}$/ } @disablables)
+				{
+				$unsupported_options{$_} = 1;
+				next;
+				}
+			}
 		if (/^no-(.+)$/ || /^disable-(.+)$/)
 			{
 			if (!($disabled{$1} eq "experimental"))
@@ -1046,6 +1136,12 @@ PROCESS_ARGS:
 				{ $options .= " ".$_; }
 			}
 		}
+
+	if (keys %unsupported_options)
+		{
+		die "***** Unsupported options: ",
+			join(", ", keys %unsupported_options), "\n";
+		}
 	}
 
 


More information about the openssl-commits mailing list