Refactor apps/progs.* to be generate with 'make update'
This makes for a cleaner apps/progs.h as well as as cleaner apps/build.info. We also break out the type declarations to apps/include/function.h apps/progs.c and apps/progs.h are NOT regenerated when 'apps' is disabled. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9340)
This commit is contained in:
parent
a161738a70
commit
4b62b8ed49
8 changed files with 685 additions and 130 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -26,7 +26,6 @@ Makefile
|
||||||
|
|
||||||
# Auto generated headers
|
# Auto generated headers
|
||||||
/crypto/buildinf.h
|
/crypto/buildinf.h
|
||||||
/apps/progs.h
|
|
||||||
/crypto/include/internal/*_conf.h
|
/crypto/include/internal/*_conf.h
|
||||||
/openssl/include/opensslconf.h
|
/openssl/include/opensslconf.h
|
||||||
/util/domd
|
/util/domd
|
||||||
|
|
|
@ -742,6 +742,12 @@ lint:
|
||||||
generate_apps:
|
generate_apps:
|
||||||
( cd $(SRCDIR); $(PERL) VMS/VMSify-conf.pl \
|
( cd $(SRCDIR); $(PERL) VMS/VMSify-conf.pl \
|
||||||
< apps/openssl.cnf > apps/openssl-vms.cnf )
|
< apps/openssl.cnf > apps/openssl-vms.cnf )
|
||||||
|
@ : {- output_off() if $disabled{apps}; "" -}
|
||||||
|
( b=`pwd`; cd $(SRCDIR); \
|
||||||
|
$(PERL) -I$$b apps/progs.pl -H $(APPS_OPENSSL) > apps/progs.h )
|
||||||
|
( b=`pwd`; cd $(SRCDIR); \
|
||||||
|
$(PERL) -I$$b apps/progs.pl -C $(APPS_OPENSSL) > apps/progs.c )
|
||||||
|
@ : {- output_on() if $disabled{apps}; "" -}
|
||||||
|
|
||||||
generate_crypto_bn:
|
generate_crypto_bn:
|
||||||
( cd $(SRCDIR); $(PERL) crypto/bn/bn_prime.pl > crypto/bn/bn_prime.h )
|
( cd $(SRCDIR); $(PERL) crypto/bn/bn_prime.pl > crypto/bn/bn_prime.h )
|
||||||
|
|
|
@ -20,7 +20,7 @@ ENDIF
|
||||||
# We need the perl variable for the DEPEND generator further down.
|
# We need the perl variable for the DEPEND generator further down.
|
||||||
$OPENSSLSRC={-
|
$OPENSSLSRC={-
|
||||||
our @opensslsrc =
|
our @opensslsrc =
|
||||||
qw(openssl.c
|
qw(openssl.c progs.c
|
||||||
asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.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
|
dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c
|
||||||
genpkey.c genrsa.c kdf.c mac.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c
|
genpkey.c genrsa.c kdf.c mac.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c
|
||||||
|
@ -48,11 +48,6 @@ IF[{- !$disabled{apps} -}]
|
||||||
SOURCE[openssl]=openssl.rc
|
SOURCE[openssl]=openssl.rc
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
{- join("\n ", map { (my $x = $_) =~ s|\.c$|.o|; "DEPEND[$x]=progs.h" }
|
|
||||||
@opensslsrc) -}
|
|
||||||
GENERATE[progs.h]=progs.pl $(APPS_OPENSSL)
|
|
||||||
DEPEND[progs.h]=../configdata.pm
|
|
||||||
|
|
||||||
SCRIPTS{misc}=CA.pl
|
SCRIPTS{misc}=CA.pl
|
||||||
SOURCE[CA.pl]=CA.pl.in
|
SOURCE[CA.pl]=CA.pl.in
|
||||||
# linkname tells build files that a symbolic link or copy of this script
|
# linkname tells build files that a symbolic link or copy of this script
|
||||||
|
|
29
apps/include/function.h
Normal file
29
apps/include/function.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef APPS_FUNCTION_H
|
||||||
|
# define APPS_FUNCTION_H
|
||||||
|
|
||||||
|
# include <openssl/lhash.h>
|
||||||
|
# include "opt.h"
|
||||||
|
|
||||||
|
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);
|
||||||
|
#endif
|
|
@ -29,7 +29,6 @@
|
||||||
# include <unixio.h>
|
# include <unixio.h>
|
||||||
#endif
|
#endif
|
||||||
#include "apps.h"
|
#include "apps.h"
|
||||||
#define INCLUDE_FUNCTION_TABLE
|
|
||||||
#include "progs.h"
|
#include "progs.h"
|
||||||
|
|
||||||
/* Structure to hold the number of columns to be displayed and the
|
/* Structure to hold the number of columns to be displayed and the
|
||||||
|
|
398
apps/progs.c
Normal file
398
apps/progs.c
Normal file
|
@ -0,0 +1,398 @@
|
||||||
|
/*
|
||||||
|
* WARNING: do not edit!
|
||||||
|
* Generated by apps/progs.pl
|
||||||
|
*
|
||||||
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "progs.h"
|
||||||
|
|
||||||
|
FUNCTION functions[] = {
|
||||||
|
{FT_general, "asn1parse", asn1parse_main, asn1parse_options},
|
||||||
|
{FT_general, "ca", ca_main, ca_options},
|
||||||
|
#ifndef 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},
|
||||||
|
#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, "info", info_main, info_options},
|
||||||
|
{FT_general, "kdf", kdf_main, kdf_options},
|
||||||
|
{FT_general, "list", list_main, list_options},
|
||||||
|
{FT_general, "mac", mac_main, mac_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},
|
||||||
|
#ifndef 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},
|
||||||
|
{FT_general, "rsa", rsa_main, rsa_options},
|
||||||
|
#ifndef OPENSSL_NO_RSA
|
||||||
|
{FT_general, "rsautl", rsautl_main, rsautl_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SOCK
|
||||||
|
{FT_general, "s_client", s_client_main, s_client_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SOCK
|
||||||
|
{FT_general, "s_server", s_server_main, s_server_options},
|
||||||
|
#endif
|
||||||
|
#ifndef 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
|
||||||
|
{FT_general, "storeutl", storeutl_main, storeutl_options},
|
||||||
|
#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
|
||||||
|
{FT_md, "md5", dgst_main},
|
||||||
|
#ifndef OPENSSL_NO_GOST
|
||||||
|
{FT_md, "gost", 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},
|
||||||
|
{FT_md, "sha512-224", dgst_main},
|
||||||
|
{FT_md, "sha512-256", dgst_main},
|
||||||
|
{FT_md, "sha3-224", dgst_main},
|
||||||
|
{FT_md, "sha3-256", dgst_main},
|
||||||
|
{FT_md, "sha3-384", dgst_main},
|
||||||
|
{FT_md, "sha3-512", dgst_main},
|
||||||
|
{FT_md, "shake128", dgst_main},
|
||||||
|
{FT_md, "shake256", 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_SM3
|
||||||
|
{FT_md, "sm3", dgst_main},
|
||||||
|
#endif
|
||||||
|
{FT_cipher, "aes-128-cbc", enc_main, enc_options},
|
||||||
|
{FT_cipher, "aes-128-ecb", enc_main, enc_options},
|
||||||
|
{FT_cipher, "aes-192-cbc", enc_main, enc_options},
|
||||||
|
{FT_cipher, "aes-192-ecb", enc_main, enc_options},
|
||||||
|
{FT_cipher, "aes-256-cbc", enc_main, enc_options},
|
||||||
|
{FT_cipher, "aes-256-ecb", enc_main, enc_options},
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-cbc", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-cfb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-ctr", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-ecb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-ofb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-cfb1", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-128-cfb8", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-cbc", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-cfb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-ctr", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-ecb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-ofb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-cfb1", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-192-cfb8", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-cbc", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-cfb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-ctr", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-ecb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-ofb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-cfb1", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_ARIA
|
||||||
|
{FT_cipher, "aria-256-cfb8", 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
|
||||||
|
#ifndef OPENSSL_NO_SM4
|
||||||
|
{FT_cipher, "sm4-cbc", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SM4
|
||||||
|
{FT_cipher, "sm4-ecb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SM4
|
||||||
|
{FT_cipher, "sm4-cfb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SM4
|
||||||
|
{FT_cipher, "sm4-ofb", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_SM4
|
||||||
|
{FT_cipher, "sm4-ctr", enc_main, enc_options},
|
||||||
|
#endif
|
||||||
|
{0, NULL, NULL}
|
||||||
|
};
|
119
apps/progs.h
Normal file
119
apps/progs.h
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
/*
|
||||||
|
* WARNING: do not edit!
|
||||||
|
* Generated by apps/progs.pl
|
||||||
|
*
|
||||||
|
* Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "function.h"
|
||||||
|
|
||||||
|
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 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 info_main(int argc, char *argv[]);
|
||||||
|
extern int kdf_main(int argc, char *argv[]);
|
||||||
|
extern int list_main(int argc, char *argv[]);
|
||||||
|
extern int mac_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 storeutl_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 const OPTIONS asn1parse_options[];
|
||||||
|
extern const OPTIONS ca_options[];
|
||||||
|
extern const OPTIONS ciphers_options[];
|
||||||
|
extern const OPTIONS cms_options[];
|
||||||
|
extern const OPTIONS crl_options[];
|
||||||
|
extern const OPTIONS crl2pkcs7_options[];
|
||||||
|
extern const OPTIONS dgst_options[];
|
||||||
|
extern const OPTIONS dhparam_options[];
|
||||||
|
extern const OPTIONS dsa_options[];
|
||||||
|
extern const OPTIONS dsaparam_options[];
|
||||||
|
extern const OPTIONS ec_options[];
|
||||||
|
extern const OPTIONS ecparam_options[];
|
||||||
|
extern const OPTIONS enc_options[];
|
||||||
|
extern const OPTIONS engine_options[];
|
||||||
|
extern const OPTIONS errstr_options[];
|
||||||
|
extern const OPTIONS gendsa_options[];
|
||||||
|
extern const OPTIONS genpkey_options[];
|
||||||
|
extern const OPTIONS genrsa_options[];
|
||||||
|
extern const OPTIONS help_options[];
|
||||||
|
extern const OPTIONS info_options[];
|
||||||
|
extern const OPTIONS kdf_options[];
|
||||||
|
extern const OPTIONS list_options[];
|
||||||
|
extern const OPTIONS mac_options[];
|
||||||
|
extern const OPTIONS nseq_options[];
|
||||||
|
extern const OPTIONS ocsp_options[];
|
||||||
|
extern const OPTIONS passwd_options[];
|
||||||
|
extern const OPTIONS pkcs12_options[];
|
||||||
|
extern const OPTIONS pkcs7_options[];
|
||||||
|
extern const OPTIONS pkcs8_options[];
|
||||||
|
extern const OPTIONS pkey_options[];
|
||||||
|
extern const OPTIONS pkeyparam_options[];
|
||||||
|
extern const OPTIONS pkeyutl_options[];
|
||||||
|
extern const OPTIONS prime_options[];
|
||||||
|
extern const OPTIONS rand_options[];
|
||||||
|
extern const OPTIONS rehash_options[];
|
||||||
|
extern const OPTIONS req_options[];
|
||||||
|
extern const OPTIONS rsa_options[];
|
||||||
|
extern const OPTIONS rsautl_options[];
|
||||||
|
extern const OPTIONS s_client_options[];
|
||||||
|
extern const OPTIONS s_server_options[];
|
||||||
|
extern const OPTIONS s_time_options[];
|
||||||
|
extern const OPTIONS sess_id_options[];
|
||||||
|
extern const OPTIONS smime_options[];
|
||||||
|
extern const OPTIONS speed_options[];
|
||||||
|
extern const OPTIONS spkac_options[];
|
||||||
|
extern const OPTIONS srp_options[];
|
||||||
|
extern const OPTIONS storeutl_options[];
|
||||||
|
extern const OPTIONS ts_options[];
|
||||||
|
extern const OPTIONS verify_options[];
|
||||||
|
extern const OPTIONS version_options[];
|
||||||
|
extern const OPTIONS x509_options[];
|
||||||
|
|
||||||
|
extern FUNCTION functions[];
|
254
apps/progs.pl
254
apps/progs.pl
|
@ -14,6 +14,10 @@ use warnings;
|
||||||
use lib '.';
|
use lib '.';
|
||||||
use configdata qw/@disablables %unified_info/;
|
use configdata qw/@disablables %unified_info/;
|
||||||
|
|
||||||
|
my $opt = shift @ARGV;
|
||||||
|
die "Unrecognised option, must be -C or -H\n"
|
||||||
|
unless ($opt eq '-H' || $opt eq '-C');
|
||||||
|
|
||||||
my %commands = ();
|
my %commands = ();
|
||||||
my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/;
|
my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/;
|
||||||
my $apps_openssl = shift @ARGV;
|
my $apps_openssl = shift @ARGV;
|
||||||
|
@ -38,7 +42,8 @@ foreach my $filename (@openssl_source) {
|
||||||
|
|
||||||
@ARGV = sort keys %commands;
|
@ARGV = sort keys %commands;
|
||||||
|
|
||||||
print <<"EOF";
|
if ($opt eq '-H') {
|
||||||
|
print <<"EOF";
|
||||||
/*
|
/*
|
||||||
* WARNING: do not edit!
|
* WARNING: do not edit!
|
||||||
* Generated by apps/progs.pl
|
* Generated by apps/progs.pl
|
||||||
|
@ -51,134 +56,139 @@ print <<"EOF";
|
||||||
* https://www.openssl.org/source/license.html
|
* https://www.openssl.org/source/license.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <openssl/lhash.h>
|
#include "function.h"
|
||||||
#include "opt.h"
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
foreach (@ARGV) {
|
foreach (@ARGV) {
|
||||||
printf "extern int %s_main(int argc, char *argv[]);\n", $_;
|
printf "extern int %s_main(int argc, char *argv[]);\n", $_;
|
||||||
}
|
|
||||||
print "\n";
|
|
||||||
|
|
||||||
foreach (@ARGV) {
|
|
||||||
printf "extern const OPTIONS %s_options[];\n", $_;
|
|
||||||
}
|
|
||||||
print "\n";
|
|
||||||
|
|
||||||
my %cmd_disabler = (
|
|
||||||
ciphers => "sock",
|
|
||||||
genrsa => "rsa",
|
|
||||||
rsautl => "rsa",
|
|
||||||
gendsa => "dsa",
|
|
||||||
dsaparam => "dsa",
|
|
||||||
gendh => "dh",
|
|
||||||
dhparam => "dh",
|
|
||||||
ecparam => "ec",
|
|
||||||
pkcs12 => "des",
|
|
||||||
);
|
|
||||||
|
|
||||||
print "#ifdef INCLUDE_FUNCTION_TABLE\n";
|
|
||||||
print "static 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;
|
|
||||||
}
|
}
|
||||||
}
|
print "\n";
|
||||||
|
|
||||||
my %md_disabler = (
|
foreach (@ARGV) {
|
||||||
blake2b512 => "blake2",
|
printf "extern const OPTIONS %s_options[];\n", $_;
|
||||||
blake2s256 => "blake2",
|
|
||||||
);
|
|
||||||
foreach my $cmd (
|
|
||||||
"md2", "md4", "md5",
|
|
||||||
"gost",
|
|
||||||
"sha1", "sha224", "sha256", "sha384",
|
|
||||||
"sha512", "sha512-224", "sha512-256",
|
|
||||||
"sha3-224", "sha3-256", "sha3-384", "sha3-512",
|
|
||||||
"shake128", "shake256",
|
|
||||||
"mdc2", "rmd160", "blake2b512", "blake2s256",
|
|
||||||
"sm3"
|
|
||||||
) {
|
|
||||||
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 $str;
|
|
||||||
}
|
}
|
||||||
|
print "\n";
|
||||||
|
print "extern FUNCTION functions[];\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
my %cipher_disabler = (
|
if ($opt eq '-C') {
|
||||||
des3 => "des",
|
print <<"EOF";
|
||||||
desx => "des",
|
/*
|
||||||
cast5 => "cast",
|
* WARNING: do not edit!
|
||||||
);
|
* Generated by apps/progs.pl
|
||||||
foreach my $cmd (
|
*
|
||||||
"aes-128-cbc", "aes-128-ecb",
|
* Copyright 1995-$YEAR The OpenSSL Project Authors. All Rights Reserved.
|
||||||
"aes-192-cbc", "aes-192-ecb",
|
*
|
||||||
"aes-256-cbc", "aes-256-ecb",
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
"aria-128-cbc", "aria-128-cfb",
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
"aria-128-ctr", "aria-128-ecb", "aria-128-ofb",
|
* in the file LICENSE in the source distribution or at
|
||||||
"aria-128-cfb1", "aria-128-cfb8",
|
* https://www.openssl.org/source/license.html
|
||||||
"aria-192-cbc", "aria-192-cfb",
|
*/
|
||||||
"aria-192-ctr", "aria-192-ecb", "aria-192-ofb",
|
|
||||||
"aria-192-cfb1", "aria-192-cfb8",
|
#include "progs.h"
|
||||||
"aria-256-cbc", "aria-256-cfb",
|
|
||||||
"aria-256-ctr", "aria-256-ecb", "aria-256-ofb",
|
EOF
|
||||||
"aria-256-cfb1", "aria-256-cfb8",
|
|
||||||
"camellia-128-cbc", "camellia-128-ecb",
|
my %cmd_disabler = (
|
||||||
"camellia-192-cbc", "camellia-192-ecb",
|
ciphers => "sock",
|
||||||
"camellia-256-cbc", "camellia-256-ecb",
|
genrsa => "rsa",
|
||||||
"base64", "zlib",
|
rsautl => "rsa",
|
||||||
"des", "des3", "desx", "idea", "seed", "rc4", "rc4-40",
|
gendsa => "dsa",
|
||||||
"rc2", "bf", "cast", "rc5",
|
dsaparam => "dsa",
|
||||||
"des-ecb", "des-ede", "des-ede3",
|
gendh => "dh",
|
||||||
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
dhparam => "dh",
|
||||||
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
ecparam => "ec",
|
||||||
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
pkcs12 => "des",
|
||||||
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
);
|
||||||
"seed-cbc","seed-ecb", "seed-cfb", "seed-ofb",
|
|
||||||
"rc2-cbc", "rc2-ecb", "rc2-cfb","rc2-ofb", "rc2-64-cbc", "rc2-40-cbc",
|
print "FUNCTION functions[] = {\n";
|
||||||
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
foreach my $cmd ( @ARGV ) {
|
||||||
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
my $str =
|
||||||
"cast-cbc", "rc5-cbc", "rc5-ecb", "rc5-cfb", "rc5-ofb",
|
" {FT_general, \"$cmd\", ${cmd}_main, ${cmd}_options},\n";
|
||||||
"sm4-cbc", "sm4-ecb", "sm4-cfb", "sm4-ofb", "sm4-ctr"
|
if ($cmd =~ /^s_/) {
|
||||||
) {
|
print "#ifndef OPENSSL_NO_SOCK\n${str}#endif\n";
|
||||||
my $str = " {FT_cipher, \"$cmd\", enc_main, enc_options},\n";
|
} elsif (grep { $cmd eq $_ } @disablables) {
|
||||||
(my $algo = $cmd) =~ s/-.*//g;
|
print "#ifndef OPENSSL_NO_" . uc($cmd) . "\n${str}#endif\n";
|
||||||
if ($cmd eq "zlib") {
|
} elsif (my $disabler = $cmd_disabler{$cmd}) {
|
||||||
print "#ifdef ZLIB\n${str}#endif\n";
|
print "#ifndef OPENSSL_NO_" . uc($disabler) . "\n${str}#endif\n";
|
||||||
} elsif (grep { $algo eq $_ } @disablables) {
|
} else {
|
||||||
print "#ifndef OPENSSL_NO_" . uc($algo) . "\n${str}#endif\n";
|
print $str;
|
||||||
} 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";
|
my %md_disabler = (
|
||||||
print "#endif\n";
|
blake2b512 => "blake2",
|
||||||
|
blake2s256 => "blake2",
|
||||||
|
);
|
||||||
|
foreach my $cmd (
|
||||||
|
"md2", "md4", "md5",
|
||||||
|
"gost",
|
||||||
|
"sha1", "sha224", "sha256", "sha384",
|
||||||
|
"sha512", "sha512-224", "sha512-256",
|
||||||
|
"sha3-224", "sha3-256", "sha3-384", "sha3-512",
|
||||||
|
"shake128", "shake256",
|
||||||
|
"mdc2", "rmd160", "blake2b512", "blake2s256",
|
||||||
|
"sm3"
|
||||||
|
) {
|
||||||
|
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 $str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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",
|
||||||
|
"aria-128-cbc", "aria-128-cfb",
|
||||||
|
"aria-128-ctr", "aria-128-ecb", "aria-128-ofb",
|
||||||
|
"aria-128-cfb1", "aria-128-cfb8",
|
||||||
|
"aria-192-cbc", "aria-192-cfb",
|
||||||
|
"aria-192-ctr", "aria-192-ecb", "aria-192-ofb",
|
||||||
|
"aria-192-cfb1", "aria-192-cfb8",
|
||||||
|
"aria-256-cbc", "aria-256-cfb",
|
||||||
|
"aria-256-ctr", "aria-256-ecb", "aria-256-ofb",
|
||||||
|
"aria-256-cfb1", "aria-256-cfb8",
|
||||||
|
"camellia-128-cbc", "camellia-128-ecb",
|
||||||
|
"camellia-192-cbc", "camellia-192-ecb",
|
||||||
|
"camellia-256-cbc", "camellia-256-ecb",
|
||||||
|
"base64", "zlib",
|
||||||
|
"des", "des3", "desx", "idea", "seed", "rc4", "rc4-40",
|
||||||
|
"rc2", "bf", "cast", "rc5",
|
||||||
|
"des-ecb", "des-ede", "des-ede3",
|
||||||
|
"des-cbc", "des-ede-cbc","des-ede3-cbc",
|
||||||
|
"des-cfb", "des-ede-cfb","des-ede3-cfb",
|
||||||
|
"des-ofb", "des-ede-ofb","des-ede3-ofb",
|
||||||
|
"idea-cbc","idea-ecb", "idea-cfb", "idea-ofb",
|
||||||
|
"seed-cbc","seed-ecb", "seed-cfb", "seed-ofb",
|
||||||
|
"rc2-cbc", "rc2-ecb", "rc2-cfb","rc2-ofb", "rc2-64-cbc", "rc2-40-cbc",
|
||||||
|
"bf-cbc", "bf-ecb", "bf-cfb", "bf-ofb",
|
||||||
|
"cast5-cbc","cast5-ecb", "cast5-cfb","cast5-ofb",
|
||||||
|
"cast-cbc", "rc5-cbc", "rc5-ecb", "rc5-cfb", "rc5-ofb",
|
||||||
|
"sm4-cbc", "sm4-ecb", "sm4-cfb", "sm4-ofb", "sm4-ctr"
|
||||||
|
) {
|
||||||
|
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";
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue