[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