The branch master has been updated via 769777b0a24c77377c612d84537c40a2b55abfa6 (commit) via 91056e72693b4ee8cb5339d9091871ffc3b6f776 (commit) via 04e2a527379ad12ca512aef4e838f94af22d7f79 (commit) via a45d7d5388c6774a484cff4af13f188240d3d50b (commit) via 3850f8cb15f74fd9beeb9f0743f722d41c6bdb25 (commit) from d4037cea3c26b7cfdc8cc518a31ba7a89081e931 (commit)
- Log ----------------------------------------------------------------- commit 769777b0a24c77377c612d84537c40a2b55abfa6 Author: Richard Levitte <levi...@openssl.org> Date: Sat Mar 19 00:57:35 2016 +0100 Use the dependencies received in generatesrc() generatesrc() did already receive dependency information, but never used it, and never really needed to... until now. Reviewed-by: Rich Salz <rs...@openssl.org> commit 91056e72693b4ee8cb5339d9091871ffc3b6f776 Author: Richard Levitte <levi...@openssl.org> Date: Sat Mar 19 00:51:51 2016 +0100 Ignore the generated apps/progs.h Reviewed-by: Rich Salz <rs...@openssl.org> commit 04e2a527379ad12ca512aef4e838f94af22d7f79 Author: Richard Levitte <levi...@openssl.org> Date: Sat Mar 19 00:50:49 2016 +0100 Generate apps/progs.h on the fly Reviewed-by: Rich Salz <rs...@openssl.org> commit a45d7d5388c6774a484cff4af13f188240d3d50b Author: Richard Levitte <levi...@openssl.org> Date: Sat Mar 19 00:43:43 2016 +0100 Include progs.h directly in openssl.c instead of via apps.h Reviewed-by: Rich Salz <rs...@openssl.org> commit 3850f8cb15f74fd9beeb9f0743f722d41c6bdb25 Author: Richard Levitte <levi...@openssl.org> Date: Sat Mar 19 00:41:14 2016 +0100 Make apps/progs.pl more flexible Make Configure write @disablables to configdata.pm and have apps/progs.pl use that data. Reviewed-by: Rich Salz <rs...@openssl.org> ----------------------------------------------------------------------- Summary of changes: .gitignore | 5 +- Configurations/descrip.mms.tmpl | 3 +- Configurations/unix-Makefile.tmpl | 22 +- Configurations/windows-makefile.tmpl | 9 +- Configure | 10 +- apps/apps.h | 2 - apps/build.info | 25 +- apps/openssl.c | 2 +- apps/progs.h | 428 ----------------------------------- apps/progs.pl | 128 ++++++----- 10 files changed, 112 insertions(+), 522 deletions(-) delete mode 100644 apps/progs.h diff --git a/.gitignore b/.gitignore index 5bc9705..05127dd 100644 --- a/.gitignore +++ b/.gitignore @@ -41,10 +41,11 @@ Makefile # Auto generated headers +/apps/progs.h /crypto/buildinf.h -/openssl/include/opensslconf.h /crypto/include/internal/*_conf.h -util/domd +/openssl/include/opensslconf.h +/util/domd # Auto generated assembly language source files *.s diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index 512b8e5..32c8d1a 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -418,10 +418,11 @@ configdata.pm : {- join(" ", sourcefile("Configurations", "descrip.mms.tmpl"), s sub generatesrc { my %args = @_; my $generator = join(" ", @{$args{generator}}); + my $deps = join(", -\n\t\t", @{$args{deps}}); if ($args{src} !~ /\.[sS]$/) { return <<"EOF"; -$args{src} : $args{generator}->[0] +$args{src} : $args{generator}->[0] $deps \$(PERL) $generator > \$@ EOF } else { diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index be6299b..77ba75b 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -617,7 +617,7 @@ generate: generate_apps generate_crypto_bn generate_crypto_objects lint: lint -DLINT $(INCLUDES) $(SRCS) -generate_apps: $(SRCDIR)/apps/openssl-vms.cnf $(SRCDIR)/apps/progs.h +generate_apps: $(SRCDIR)/apps/openssl-vms.cnf generate_crypto_bn: $(SRCDIR)/crypto/bn/bn_prime.h @@ -695,17 +695,6 @@ $(SRCDIR)/apps/openssl-vms.cnf: $(SRCDIR)/apps/openssl.cnf $(PERL) $(SRCDIR)/VMS/VMSify-conf.pl \ < $(SRCDIR)/apps/openssl.cnf > $(SRCDIR)/apps/openssl-vms.cnf -{- # because the program apps/openssl has object files as sources, and - # they then have the corresponding C files as source, we need to chain - # the lookups in %unified_info - my $apps_openssl = catfile("apps","openssl"); - our @openssl_source = map { @{$unified_info{sources}->{$_}} } - @{$unified_info{sources}->{$apps_openssl}}; - ""; -} -$(SRCDIR)/apps/progs.h: - $(RM) $@ - $(PERL) $(SRCDIR)/apps/progs.pl {- join(" ", @openssl_source) -} > $@ - $(SRCDIR)/crypto/bn/bn_prime.h: $(SRCDIR)/crypto/bn/bn_prime.pl $(PERL) $(SRCDIR)/crypto/bn/bn_prime.pl > $(SRCDIR)/crypto/bn/bn_prime.h @@ -813,10 +802,11 @@ configdata.pm: $(SRCDIR)/Configurations/unix-Makefile.tmpl $(SRCDIR)/Configurati my %args = @_; my $generator = join(" ", @{$args{generator}}); my $incs = join("", map { " -I".$_ } @{$args{incs}}); + my $deps = join(" ", @{$args{deps}}); if ($args{src} !~ /\.[sS]$/) { return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $args{generator}->[0] $deps \$(PERL) $generator > \$@ EOF } else { @@ -836,7 +826,7 @@ EOF if ($args{src} =~ /\.S$/) { (my $target = $args{src}) =~ s|\.S$|.s|; return <<"EOF"; -$target: $args{generator}->[0] +$target: $args{generator}->[0] $deps ( trap "rm -f \$@.*" INT 0; \\ $generator \$@.S; \\ \$(CC) \$(CFLAGS) $incs -E -P \$@.S > \$@.i && mv -f \$@.i \$@ ) @@ -844,12 +834,12 @@ EOF } # Otherwise.... return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $args{generator}->[0] $deps $generator \$@ EOF } return <<"EOF"; -$args{src}: $args{generator}->[0] +$args{src}: $args{generator}->[0] $deps \$(CC) \$(CFLAGS) $incs -E -P \$< > \$@ EOF } diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 177d277..f40404c 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -243,10 +243,11 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\Configure (my $target = $args{src}) =~ s/\.[sS]$/.asm/; my $generator = join(" ", @{$args{generator}}); my $incs = join("", map { " /I ".$_ } @{$args{incs}}); + my $deps = join(" ", @{$args{deps}}); if ($target !~ /\.asm$/) { return <<"EOF"; -$target: $args{generator}->[0] +$target: $args{generator}->[0] $deps \$(PERL) $generator > \$@ EOF } else { @@ -263,7 +264,7 @@ EOF # end up generating foo.s in two steps. if ($args{src} =~ /\.S$/) { return <<"EOF"; -$target: $args{generator}->[0] +$target: $args{generator}->[0] $deps set ASM=\$(AS) set CC=\$(CC) $generator \$@.S @@ -273,14 +274,14 @@ EOF } # Otherwise.... return <<"EOF"; -$target: $args{generator}->[0] +$target: $args{generator}->[0] $deps set ASM=\$(AS) set CC=\$(CC) $generator \$@ EOF } return <<"EOF"; -$target: $args{generator}->[0] +$target: $args{generator}->[0] $deps \$(CC) \$(CFLAGS) $incs /EP /C \$< > \$@ EOF } diff --git a/Configure b/Configure index 557ea22..255c2cc 100755 --- a/Configure +++ b/Configure @@ -1664,7 +1664,7 @@ use warnings; use Exporter; #use vars qw(\@ISA \@EXPORT); our \@ISA = qw(Exporter); -our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info); +our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info \@disablables); EOF print OUT "our %config = (\n"; @@ -1702,6 +1702,14 @@ print OUT <<"EOF"; ); EOF +print OUT "our \@disablables = (\n"; +foreach (@disablables) { + print OUT " ", quotify("perl", $_), ",\n"; +} +print OUT <<"EOF"; +); + +EOF print OUT "our \%disabled = (\n"; foreach (sort keys %disabled) { print OUT " ", quotify("perl", $_), " => ", quotify("perl", $disabled{$_}), ",\n"; diff --git a/apps/apps.h b/apps/apps.h index e7ea461..633b344 100644 --- a/apps/apps.h +++ b/apps/apps.h @@ -631,6 +631,4 @@ extern int verify_quiet; extern int verify_error; extern int verify_return_error; -# include "progs.h" - #endif diff --git a/apps/build.info b/apps/build.info index d581aad..0d4aad3 100644 --- a/apps/build.info +++ b/apps/build.info @@ -1,16 +1,27 @@ -{- use File::Spec::Functions qw/catdir rel2abs/; -} +{- use File::Spec::Functions qw/catdir rel2abs/; + our @cmd_srcs = ( + "asn1pars.c", "ca.c", "ciphers.c", "cms.c", "crl.c", "crl2p7.c", + "dgst.c", "dhparam.c", "dsa.c", "dsaparam.c", "ec.c", "ecparam.c", + "enc.c", "engine.c", "errstr.c", "gendsa.c", "genpkey.c", "genrsa.c", + "nseq.c", "ocsp.c", "passwd.c", "pkcs12.c", "pkcs7.c", "pkcs8.c", + "pkey.c", "pkeyparam.c", "pkeyutl.c", "prime.c", "rand.c", "req.c", + "rsa.c", "rsautl.c", "s_client.c", "s_server.c", "s_time.c", + "sess_id.c", "smime.c", "speed.c", "spkac.c", "srp.c", "ts.c", + "verify.c", "version.c", "x509.c", "rehash.c", + ); + ""; + -} PROGRAMS=openssl SOURCE[openssl]=\ openssl.c \ - asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c \ - dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c \ - genpkey.c genrsa.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c pkcs8.c \ - pkey.c pkeyparam.c pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c \ - s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \ - srp.c ts.c verify.c version.c x509.c rehash.c \ + {- join(" ", @cmd_srcs); -} \ apps.c opt.c s_cb.c s_socket.c \ app_rand.c \ {- $target{apps_aux_src} -} +DEPEND[openssl.o]=progs.h +DEPEND[progs.h]={- join(" ", @cmd_srcs); -} ../configdata.pm +GENERATE[progs.h]=progs.pl {- join(" ", map { catdir($sourcedir, $_) } @cmd_srcs); -} + INCLUDE[openssl]={- rel2abs(catdir($builddir,"../include")) -} .. ../include DEPEND[openssl]=../libssl diff --git a/apps/openssl.c b/apps/openssl.c index d460a6b..b6ac557 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -132,8 +132,8 @@ #ifdef OPENSSL_SYS_VMS # include <unixio.h> #endif -#define INCLUDE_FUNCTION_TABLE #include "apps.h" +#include "progs.h" #ifdef OPENSSL_NO_CAMELLIA diff --git a/apps/progs.h b/apps/progs.h deleted file mode 100644 index 3bdf821..0000000 --- a/apps/progs.h +++ /dev/null @@ -1,428 +0,0 @@ -/* - * Automatically generated by progs.pl for openssl.c - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. - * See the openssl.c for copyright details. - */ - -typedef enum FUNC_TYPE { - FT_none, FT_general, FT_md, FT_cipher, FT_pkey, - FT_md_alg, FT_cipher_alg -} FUNC_TYPE; - -typedef struct function_st { - FUNC_TYPE type; - const char *name; - int (*func)(int argc,char *argv[]); - const OPTIONS *help; -} FUNCTION; - -DEFINE_LHASH_OF(FUNCTION); - -extern int asn1parse_main(int argc, char *argv[]); -extern int ca_main(int argc, char *argv[]); -extern int ciphers_main(int argc, char *argv[]); -extern int cms_main(int argc, char *argv[]); -extern int crl_main(int argc, char *argv[]); -extern int crl2pkcs7_main(int argc, char *argv[]); -extern int dgst_main(int argc, char *argv[]); -extern int dhparam_main(int argc, char *argv[]); -extern int dsa_main(int argc, char *argv[]); -extern int dsaparam_main(int argc, char *argv[]); -extern int ec_main(int argc, char *argv[]); -extern int ecparam_main(int argc, char *argv[]); -extern int enc_main(int argc, char *argv[]); -extern int engine_main(int argc, char *argv[]); -extern int errstr_main(int argc, char *argv[]); -extern int exit_main(int argc, char *argv[]); -extern int gendsa_main(int argc, char *argv[]); -extern int genpkey_main(int argc, char *argv[]); -extern int genrsa_main(int argc, char *argv[]); -extern int help_main(int argc, char *argv[]); -extern int list_main(int argc, char *argv[]); -extern int nseq_main(int argc, char *argv[]); -extern int ocsp_main(int argc, char *argv[]); -extern int passwd_main(int argc, char *argv[]); -extern int pkcs12_main(int argc, char *argv[]); -extern int pkcs7_main(int argc, char *argv[]); -extern int pkcs8_main(int argc, char *argv[]); -extern int pkey_main(int argc, char *argv[]); -extern int pkeyparam_main(int argc, char *argv[]); -extern int pkeyutl_main(int argc, char *argv[]); -extern int prime_main(int argc, char *argv[]); -extern int rand_main(int argc, char *argv[]); -extern int rehash_main(int argc, char *argv[]); -extern int req_main(int argc, char *argv[]); -extern int rsa_main(int argc, char *argv[]); -extern int rsautl_main(int argc, char *argv[]); -extern int s_client_main(int argc, char *argv[]); -extern int s_server_main(int argc, char *argv[]); -extern int s_time_main(int argc, char *argv[]); -extern int sess_id_main(int argc, char *argv[]); -extern int smime_main(int argc, char *argv[]); -extern int speed_main(int argc, char *argv[]); -extern int spkac_main(int argc, char *argv[]); -extern int srp_main(int argc, char *argv[]); -extern int ts_main(int argc, char *argv[]); -extern int verify_main(int argc, char *argv[]); -extern int version_main(int argc, char *argv[]); -extern int x509_main(int argc, char *argv[]); - -extern OPTIONS asn1parse_options[]; -extern OPTIONS ca_options[]; -extern OPTIONS ciphers_options[]; -extern OPTIONS cms_options[]; -extern OPTIONS crl_options[]; -extern OPTIONS crl2pkcs7_options[]; -extern OPTIONS dgst_options[]; -extern OPTIONS dhparam_options[]; -extern OPTIONS dsa_options[]; -extern OPTIONS dsaparam_options[]; -extern OPTIONS ec_options[]; -extern OPTIONS ecparam_options[]; -extern OPTIONS enc_options[]; -extern OPTIONS engine_options[]; -extern OPTIONS errstr_options[]; -extern OPTIONS exit_options[]; -extern OPTIONS gendsa_options[]; -extern OPTIONS genpkey_options[]; -extern OPTIONS genrsa_options[]; -extern OPTIONS help_options[]; -extern OPTIONS list_options[]; -extern OPTIONS nseq_options[]; -extern OPTIONS ocsp_options[]; -extern OPTIONS passwd_options[]; -extern OPTIONS pkcs12_options[]; -extern OPTIONS pkcs7_options[]; -extern OPTIONS pkcs8_options[]; -extern OPTIONS pkey_options[]; -extern OPTIONS pkeyparam_options[]; -extern OPTIONS pkeyutl_options[]; -extern OPTIONS prime_options[]; -extern OPTIONS rand_options[]; -extern OPTIONS rehash_options[]; -extern OPTIONS req_options[]; -extern OPTIONS rsa_options[]; -extern OPTIONS rsautl_options[]; -extern OPTIONS s_client_options[]; -extern OPTIONS s_server_options[]; -extern OPTIONS s_time_options[]; -extern OPTIONS sess_id_options[]; -extern OPTIONS smime_options[]; -extern OPTIONS speed_options[]; -extern OPTIONS spkac_options[]; -extern OPTIONS srp_options[]; -extern OPTIONS ts_options[]; -extern OPTIONS verify_options[]; -extern OPTIONS version_options[]; -extern OPTIONS x509_options[]; - -#ifdef INCLUDE_FUNCTION_TABLE -static FUNCTION functions[] = { - { FT_general, "asn1parse", asn1parse_main, asn1parse_options }, - { FT_general, "ca", ca_main, ca_options }, -#if !defined(OPENSSL_NO_SOCK) - { FT_general, "ciphers", ciphers_main, ciphers_options }, -#endif -#ifndef OPENSSL_NO_CMS - { FT_general, "cms", cms_main, cms_options }, -#endif - { FT_general, "crl", crl_main, crl_options }, - { FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options }, - { FT_general, "dgst", dgst_main, dgst_options }, -#ifndef OPENSSL_NO_DH - { FT_general, "dhparam", dhparam_main, dhparam_options }, -#endif -#ifndef OPENSSL_NO_DSA - { FT_general, "dsa", dsa_main, dsa_options }, -#endif -#ifndef OPENSSL_NO_DSA - { FT_general, "dsaparam", dsaparam_main, dsaparam_options }, -#endif -#ifndef OPENSSL_NO_EC - { FT_general, "ec", ec_main, ec_options }, -#endif -#ifndef OPENSSL_NO_EC - { FT_general, "ecparam", ecparam_main, ecparam_options }, -#endif - { FT_general, "enc", enc_main, enc_options }, -#ifndef OPENSSL_NO_ENGINE - { FT_general, "engine", engine_main, engine_options }, -#endif - { FT_general, "errstr", errstr_main, errstr_options }, - { FT_general, "exit", exit_main, exit_options }, -#ifndef OPENSSL_NO_DSA - { FT_general, "gendsa", gendsa_main, gendsa_options }, -#endif - { FT_general, "genpkey", genpkey_main, genpkey_options }, -#ifndef OPENSSL_NO_RSA - { FT_general, "genrsa", genrsa_main, genrsa_options }, -#endif - { FT_general, "help", help_main, help_options }, - { FT_general, "list", list_main, list_options }, - { FT_general, "nseq", nseq_main, nseq_options }, -#ifndef OPENSSL_NO_OCSP - { FT_general, "ocsp", ocsp_main, ocsp_options }, -#endif - { FT_general, "passwd", passwd_main, passwd_options }, -#if !defined(OPENSSL_NO_DES) - { FT_general, "pkcs12", pkcs12_main, pkcs12_options }, -#endif - { FT_general, "pkcs7", pkcs7_main, pkcs7_options }, - { FT_general, "pkcs8", pkcs8_main, pkcs8_options }, - { FT_general, "pkey", pkey_main, pkey_options }, - { FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options }, - { FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options }, - { FT_general, "prime", prime_main, prime_options }, - { FT_general, "rand", rand_main, rand_options }, - { FT_general, "rehash", rehash_main, rehash_options }, - { FT_general, "req", req_main, req_options }, -#ifndef OPENSSL_NO_RSA - { FT_general, "rsa", rsa_main, rsa_options }, -#endif -#ifndef OPENSSL_NO_RSA - { FT_general, "rsautl", rsautl_main, rsautl_options }, -#endif -#if !defined(OPENSSL_NO_SOCK) - { FT_general, "s_client", s_client_main, s_client_options }, -#endif -#if !defined(OPENSSL_NO_SOCK) - { FT_general, "s_server", s_server_main, s_server_options }, -#endif -#if !defined(OPENSSL_NO_SOCK) - { FT_general, "s_time", s_time_main, s_time_options }, -#endif - { FT_general, "sess_id", sess_id_main, sess_id_options }, - { FT_general, "smime", smime_main, smime_options }, - { FT_general, "speed", speed_main, speed_options }, - { FT_general, "spkac", spkac_main, spkac_options }, -#ifndef OPENSSL_NO_SRP - { FT_general, "srp", srp_main, srp_options }, -#endif -#ifndef OPENSSL_NO_TS - { FT_general, "ts", ts_main, ts_options }, -#endif - { FT_general, "verify", verify_main, verify_options }, - { FT_general, "version", version_main, version_options }, - { FT_general, "x509", x509_main, x509_options }, -#ifndef OPENSSL_NO_MD2 - { FT_md, "md2", dgst_main}, -#endif -#ifndef OPENSSL_NO_MD4 - { FT_md, "md4", dgst_main}, -#endif -#ifndef OPENSSL_NO_MD5 - { FT_md, "md5", dgst_main}, -#endif -#ifndef OPENSSL_NO_MD_GHOST94 - { FT_md, "md_ghost94", dgst_main}, -#endif - { FT_md, "sha1", dgst_main}, - { FT_md, "sha224", dgst_main}, - { FT_md, "sha256", dgst_main}, - { FT_md, "sha384", dgst_main}, - { FT_md, "sha512", dgst_main}, -#ifndef OPENSSL_NO_MDC2 - { FT_md, "mdc2", dgst_main}, -#endif -#ifndef OPENSSL_NO_RMD160 - { FT_md, "rmd160", dgst_main}, -#endif -#ifndef OPENSSL_NO_BLAKE2 - { FT_md, "blake2b512", dgst_main}, -#endif -#ifndef OPENSSL_NO_BLAKE2 - { FT_md, "blake2s256", dgst_main}, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-128-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-128-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-192-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-192-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-256-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_AES - { FT_cipher, "aes-256-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-128-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-128-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-192-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-192-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-256-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAMELLIA - { FT_cipher, "camellia-256-ecb", enc_main, enc_options }, -#endif - { FT_cipher, "base64", enc_main, enc_options }, -#ifdef ZLIB - { FT_cipher, "zlib", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des3", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "desx", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_IDEA - { FT_cipher, "idea", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_SEED - { FT_cipher, "seed", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC4 - { FT_cipher, "rc4", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC4 - { FT_cipher, "rc4-40", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_BF - { FT_cipher, "bf", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC5 - { FT_cipher, "rc5", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede3", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede3-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede3-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_DES - { FT_cipher, "des-ede3-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_IDEA - { FT_cipher, "idea-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_IDEA - { FT_cipher, "idea-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_IDEA - { FT_cipher, "idea-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_IDEA - { FT_cipher, "idea-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_SEED - { FT_cipher, "seed-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_SEED - { FT_cipher, "seed-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_SEED - { FT_cipher, "seed-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_SEED - { FT_cipher, "seed-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-64-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC2 - { FT_cipher, "rc2-40-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_BF - { FT_cipher, "bf-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_BF - { FT_cipher, "bf-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_BF - { FT_cipher, "bf-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_BF - { FT_cipher, "bf-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast5-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast5-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast5-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast5-ofb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_CAST - { FT_cipher, "cast-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC5 - { FT_cipher, "rc5-cbc", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC5 - { FT_cipher, "rc5-ecb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC5 - { FT_cipher, "rc5-cfb", enc_main, enc_options }, -#endif -#ifndef OPENSSL_NO_RC5 - { FT_cipher, "rc5-ofb", enc_main, enc_options }, -#endif - { 0, NULL, NULL} -}; -#endif diff --git a/apps/progs.pl b/apps/progs.pl index 11bcbef..50b6cee 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -1,9 +1,19 @@ #!/usr/bin/perl + +# Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. +# +# Licensed under the OpenSSL licenses, (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# https://www.openssl.org/source/license.html +# or in the file LICENSE in the source distribution. + # Generate progs.h file by looking for command mains in list of C files # passed on the command line. use strict; use warnings; +use configdata qw/@disablables/; my %commands = (); my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/; @@ -22,8 +32,13 @@ foreach my $filename (@ARGV) { print <<'EOF'; /* * Automatically generated by progs.pl for openssl.c - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. - * See the openssl.c for copyright details. + * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. */ typedef enum FUNC_TYPE { @@ -51,54 +66,63 @@ print "\n"; foreach (@ARGV) { printf "extern OPTIONS %s_options[];\n", $_; } -print "\n#ifdef INCLUDE_FUNCTION_TABLE\n"; -print "static FUNCTION functions[] = {\n"; -foreach (@ARGV) { - my $str=" { FT_general, \"$_\", ${_}_main, ${_}_options },\n"; - if (/^s_/ || /^ciphers$/) { - print "#if !defined(OPENSSL_NO_SOCK)\n${str}#endif\n"; - } elsif (/^engine$/) { - print "#ifndef OPENSSL_NO_ENGINE\n${str}#endif\n"; - } elsif (/^rsa$/ || /^genrsa$/ || /^rsautl$/) { - print "#ifndef OPENSSL_NO_RSA\n${str}#endif\n"; - } elsif (/^dsa$/ || /^gendsa$/ || /^dsaparam$/) { - print "#ifndef OPENSSL_NO_DSA\n${str}#endif\n"; - } elsif (/^ec$/ || /^ecparam$/) { - print "#ifndef OPENSSL_NO_EC\n${str}#endif\n"; - } elsif (/^dh$/ || /^gendh$/ || /^dhparam$/) { - print "#ifndef OPENSSL_NO_DH\n${str}#endif\n"; - } elsif (/^pkcs12$/) { - print "#if !defined(OPENSSL_NO_DES)\n${str}#endif\n"; - } elsif (/^cms$/) { - print "#ifndef OPENSSL_NO_CMS\n${str}#endif\n"; - } elsif (/^ocsp$/) { - print "#ifndef OPENSSL_NO_OCSP\n${str}#endif\n"; - } elsif (/^srp$/) { - print "#ifndef OPENSSL_NO_SRP\n${str}#endif\n"; - } elsif (/^ts$/) { - print "#ifndef OPENSSL_NO_TS\n${str}#endif\n"; + +my %cmd_disabler = ( + ciphers => "sock", + genrsa => "rsa", + rsautl => "rsa", + gendsa => "dsa", + dsaparam => "dsa", + gendh => "dh", + dhparam => "dh", + ecparam => "ec", + pkcs12 => "des", + ); +print "\nstatic FUNCTION functions[] = {\n"; +foreach my $cmd (@ARGV) { + my $str=" { FT_general, \"$cmd\", ${cmd}_main, ${cmd}_options },\n"; + if ($cmd =~ /^s_/) { + print "#ifndef OPENSSL_NO_SOCK\n${str}#endif\n"; + } elsif (grep { $cmd eq $_ } @disablables) { + print "#ifndef OPENSSL_NO_".uc($cmd)."\n${str}#endif\n"; + } elsif (my $disabler = $cmd_disabler{$cmd}) { + print "#ifndef OPENSSL_NO_".uc($disabler)."\n${str}#endif\n"; } else { print $str; } } -foreach ( +my %md_disabler = ( + sha1 => "sha", + sha224 => "sha", + sha256 => "sha", + sha384 => "sha", + sha512 => "sha", + blake2b512 => "blake2", + blake2s256 => "blake2", + ); +foreach my $cmd ( "md2", "md4", "md5", "md_ghost94", "sha1", "sha224", "sha256", "sha384", "sha512", "mdc2", "rmd160", "blake2b512", "blake2s256" ) { - my $str = " { FT_md, \"".$_."\", dgst_main},\n"; - if (/blake2/) { - print "#ifndef OPENSSL_NO_BLAKE2\n${str}#endif\n"; - } elsif (/sha/) { - print "${str}"; + my $str = " { FT_md, \"".$cmd."\", dgst_main},\n"; + if (grep { $cmd eq $_ } @disablables) { + print "#ifndef OPENSSL_NO_".uc($cmd)."\n${str}#endif\n"; + } elsif (my $disabler = $md_disabler{$cmd}) { + print "#ifndef OPENSSL_NO_".uc($disabler)."\n${str}#endif\n"; } else { - print "#ifndef OPENSSL_NO_".uc($_)."\n${str}#endif\n"; + print "#ifndef OPENSSL_NO_".uc($cmd)."\n${str}#endif\n"; } } -foreach ( +my %cipher_disabler = ( + des3 => "des", + desx => "des", + cast5 => "cast", + ); +foreach my $cmd ( "aes-128-cbc", "aes-128-ecb", "aes-192-cbc", "aes-192-ecb", "aes-256-cbc", "aes-256-ecb", @@ -119,33 +143,17 @@ foreach ( "cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb", "cast-cbc", "rc5-cbc", "rc5-ecb", "rc5-cfb", "rc5-ofb" ) { - my $str=" { FT_cipher, \"$_\", enc_main, enc_options },\n"; - if (/des/) { - printf "#ifndef OPENSSL_NO_DES\n${str}#endif\n"; - } elsif (/aes/) { - printf "#ifndef OPENSSL_NO_AES\n${str}#endif\n"; - } elsif (/camellia/) { - printf "#ifndef OPENSSL_NO_CAMELLIA\n${str}#endif\n"; - } elsif (/idea/) { - printf "#ifndef OPENSSL_NO_IDEA\n${str}#endif\n"; - } elsif (/seed/) { - printf "#ifndef OPENSSL_NO_SEED\n${str}#endif\n"; - } elsif (/rc4/) { - printf "#ifndef OPENSSL_NO_RC4\n${str}#endif\n"; - } elsif (/rc2/) { - printf "#ifndef OPENSSL_NO_RC2\n${str}#endif\n"; - } elsif (/bf/) { - printf "#ifndef OPENSSL_NO_BF\n${str}#endif\n"; - } elsif (/cast/) { - printf "#ifndef OPENSSL_NO_CAST\n${str}#endif\n"; - } elsif (/rc5/) { - printf "#ifndef OPENSSL_NO_RC5\n${str}#endif\n"; - } elsif (/zlib/) { - printf "#ifdef ZLIB\n${str}#endif\n"; + my $str=" { FT_cipher, \"$cmd\", enc_main, enc_options },\n"; + (my $algo= $cmd) =~ s/-.*//g; + if ($cmd eq "zlib") { + print "#ifdef ZLIB\n${str}#endif\n"; + } elsif (grep { $algo eq $_ } @disablables) { + print "#ifndef OPENSSL_NO_".uc($algo)."\n${str}#endif\n"; + } elsif (my $disabler = $cipher_disabler{$algo}) { + print "#ifndef OPENSSL_NO_".uc($disabler)."\n${str}#endif\n"; } else { print $str; } } print " { 0, NULL, NULL}\n};\n"; -printf "#endif\n"; _____ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits